notifications.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { SpApiClient } from '../client.ts';
  2. import { CreateSubscriptionParams } from '../types.ts';
  3. export class NotificationsApi {
  4. constructor(private client: SpApiClient) {}
  5. /**
  6. * 创建订阅
  7. * POST /notifications/v1/subscriptions/{notificationType}
  8. */
  9. async createSubscription(notificationType: string, params: Omit<CreateSubscriptionParams, 'notificationType'>) {
  10. return this.client.request({
  11. method: 'POST',
  12. path: `/notifications/v1/subscriptions/${notificationType}`,
  13. body: params
  14. });
  15. }
  16. /**
  17. * 获取订阅
  18. * GET /notifications/v1/subscriptions/{notificationType}/{subscriptionId}
  19. */
  20. async getSubscription(notificationType: string, subscriptionId: string) {
  21. return this.client.request({
  22. method: 'GET',
  23. path: `/notifications/v1/subscriptions/${notificationType}/${subscriptionId}`
  24. });
  25. }
  26. /**
  27. * 删除订阅
  28. * DELETE /notifications/v1/subscriptions/{notificationType}/{subscriptionId}
  29. */
  30. async deleteSubscription(notificationType: string, subscriptionId: string) {
  31. return this.client.request({
  32. method: 'DELETE',
  33. path: `/notifications/v1/subscriptions/${notificationType}/${subscriptionId}`
  34. });
  35. }
  36. }