Explorar o código

declare SubscribeStatuses

kaori %!s(int64=4) %!d(string=hai) anos
pai
achega
bb465da689

+ 7 - 0
packages/app/src/interfaces/in-app-notification-settings.ts

@@ -7,6 +7,13 @@ export enum subscribeRuleNames {
 export enum SubscribeRuleDescriptions {
   PAGE_CREATE = 'in_app_notification_settings.default_subscribe_rules.page_create',
 }
+
+
+export enum SubscribeStatuses {
+  STATUS_SUBSCRIBE = 'SUBSCRIBE',
+  STATUS_UNSUBSCRIBE = 'UNSUBSCRIBE'
+}
+
 export interface ISubscribeRule {
   name: subscribeRuleNames;
   isEnabled: boolean;

+ 19 - 0
packages/app/src/stores/page.tsx

@@ -1,6 +1,9 @@
 import useSWR, { SWRResponse } from 'swr';
 
+import { Types } from 'mongoose';
+
 import { apiv3Get } from '~/client/util/apiv3-client';
+import { SubscribeStatuses } from '~/interfaces/in-app-notification-settings';
 
 import { IPage } from '~/interfaces/page';
 import { IPagingResult } from '~/interfaces/paging-result';
@@ -31,3 +34,19 @@ export const useSWRxPageList = (
     }),
   );
 };
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+export const useSWRxSubscribeButton = <Data, Error>(
+  pageId: Types.ObjectId,
+
+): SWRResponse<{status: SubscribeStatuses}, Error> => {
+  return useSWR(
+    'page/subscribe',
+    endpoint => apiv3Get(endpoint, { pageId }).then((response) => {
+      console.log(response);
+      return {
+        status: response.data.status,
+      };
+    }),
+  );
+};