subscription.ts 606 B

12345678910111213141516171819202122
  1. import type { Ref } from './common';
  2. import type { IPage } from './page';
  3. import type { IUser } from './user';
  4. export const SubscriptionStatusType = {
  5. SUBSCRIBE: 'SUBSCRIBE',
  6. UNSUBSCRIBE: 'UNSUBSCRIBE',
  7. } as const;
  8. export const AllSubscriptionStatusType = Object.values(SubscriptionStatusType);
  9. export type SubscriptionStatusType =
  10. (typeof SubscriptionStatusType)[keyof typeof SubscriptionStatusType];
  11. export interface ISubscription {
  12. user: Ref<IUser>;
  13. targetModel: string;
  14. target: Ref<IPage>;
  15. status: string;
  16. createdAt: Date;
  17. isSubscribing(): boolean;
  18. isUnsubscribing(): boolean;
  19. }