Files
ncd-fe/packages/pl-api/lib/client/rss-feed-subscriptions.ts
nicole mikołajczyk a4dd5e0358 pl-api: reimport TypeObject, need to eep
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-27 02:32:38 +01:00

45 lines
1.2 KiB
TypeScript

import * as v from 'valibot';
import { rssFeedSchema } from '@/entities';
import { filteredArray } from '@/entities/utils';
import type { PlApiBaseClient } from '@/client-base';
import type { EmptyObject } from '@/utils/types';
const rssFeedSubscriptions = (client: PlApiBaseClient) => ({
/**
* Requires features{@link Features.rssFeedSubscriptions}.
*/
fetchRssFeedSubscriptions: async () => {
const response = await client.request('/api/v1/pleroma/rss_feed_subscriptions');
return v.parse(filteredArray(rssFeedSchema), response.json);
},
/**
* Requires features{@link Features.rssFeedSubscriptions}.
*/
createRssFeedSubscription: async (url: string) => {
const response = await client.request('/api/v1/pleroma/rss_feed_subscriptions', {
method: 'POST',
body: { url },
});
return v.parse(rssFeedSchema, response.json);
},
/**
* Requires features{@link Features.rssFeedSubscriptions}.
*/
deleteRssFeedSubscription: async (url: string) => {
const response = await client.request<EmptyObject>('/api/v1/pleroma/rss_feed_subscriptions', {
method: 'DELETE',
body: { url },
});
return response.json;
},
});
export { rssFeedSubscriptions };