59 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-10-15 19:52:44 +02:00
import type {TrackedDomains, Watchlist, WatchlistRequest} from './index'
2024-12-31 13:55:42 +01:00
import {request} from './index'
2024-07-25 02:09:49 +02:00
2024-12-30 23:50:15 +01:00
interface WatchlistList {
'hydra:totalItems': number
'hydra:member': Watchlist[]
}
export async function getWatchlists(): Promise<WatchlistList> {
const response = await request<WatchlistList>({
2024-07-25 02:09:49 +02:00
url: 'watchlists'
})
return response.data
}
export async function getWatchlist(token: string) {
2024-08-16 03:54:48 +02:00
const response = await request<Watchlist>({
2024-07-25 02:09:49 +02:00
url: 'watchlists/' + token
})
return response.data
}
2024-08-16 03:54:48 +02:00
export async function postWatchlist(watchlist: WatchlistRequest) {
2024-07-25 02:09:49 +02:00
const response = await request<{ token: string }>({
method: 'POST',
url: 'watchlists',
2024-07-30 22:03:04 +02:00
data: watchlist,
2024-07-25 02:09:49 +02:00
headers: {
2024-12-30 23:50:15 +01:00
'Content-Type': 'application/json'
2024-07-25 02:09:49 +02:00
}
})
return response.data
}
export async function deleteWatchlist(token: string): Promise<void> {
await request({
method: 'DELETE',
url: 'watchlists/' + token
})
}
2024-08-16 03:54:48 +02:00
export async function putWatchlist(watchlist: Partial<WatchlistRequest> & { token: string }) {
const response = await request<WatchlistRequest>({
2024-08-15 03:04:31 +02:00
method: 'PUT',
url: 'watchlists/' + watchlist.token,
2024-12-30 23:50:15 +01:00
data: watchlist
})
return response.data
2024-09-09 11:31:33 +02:00
}
2024-12-30 23:50:15 +01:00
export async function getTrackedDomainList(params: { page: number, itemsPerPage: number }): Promise<TrackedDomains> {
const response = await request<TrackedDomains>({
2024-09-09 11:31:33 +02:00
method: 'GET',
url: 'tracked',
params
})
return response.data
}