import { apiRequestPost, apiRequestPut, apiRequestGet, apiRequestDelete, } from 'mastodon/api'; import type { ApiAccountJSON } from 'mastodon/api_types/accounts'; import type { ApiAntennaJSON } from 'mastodon/api_types/antennas'; export const apiCreate = (antenna: Partial) => apiRequestPost('v1/antennas', antenna); export const apiUpdate = (antenna: Partial) => apiRequestPut(`v1/antennas/${antenna.id}`, antenna); export const apiGetAccounts = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/accounts`, { limit: 0, }); export const apiGetExcludeAccounts = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/exclude_accounts`, { limit: 0, }); export const apiGetDomains = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/domains`, { limit: 0, }); export const apiGetExcludeDomains = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/exclude_domains`, { limit: 0, }); export const apiGetTags = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/tags`, { limit: 0, }); export const apiGetExcludeTags = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/exclude_tags`, { limit: 0, }); export const apiGetKeywords = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/keywords`, { limit: 0, }); export const apiGetExcludeKeywords = (antennaId: string) => apiRequestGet(`v1/antennas/${antennaId}/exclude_keywords`, { limit: 0, }); export const apiGetAccountAntennas = (accountId: string) => apiRequestGet(`v1/accounts/${accountId}/antennas`); export const apiAddAccountToAntenna = (antennaId: string, accountId: string) => apiRequestPost(`v1/antennas/${antennaId}/accounts`, { account_ids: [accountId], }); export const apiRemoveAccountFromAntenna = ( antennaId: string, accountId: string, ) => apiRequestDelete(`v1/antennas/${antennaId}/accounts`, { account_ids: [accountId], }); export const apiGetExcludeAccountAntennas = (accountId: string) => apiRequestGet(`v1/accounts/${accountId}/exclude_antennas`); export const apiAddExcludeAccountToAntenna = ( antennaId: string, accountId: string, ) => apiRequestPost(`v1/antennas/${antennaId}/exclude_accounts`, { account_ids: [accountId], }); export const apiRemoveExcludeAccountFromAntenna = ( antennaId: string, accountId: string, ) => apiRequestDelete(`v1/antennas/${antennaId}/exclude_accounts`, { account_ids: [accountId], });