Просмотр исходного кода

integrate in-app-notification interfaces

kaori 4 лет назад
Родитель
Сommit
9f9c63b212

+ 1 - 1
packages/app/src/components/Me/InAppNotificationSettings.tsx

@@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next';
 import { pullAllBy } from 'lodash';
 import { apiv3Get, apiv3Put } from '~/client/util/apiv3-client';
 import { toastSuccess, toastError } from '~/client/util/apiNotification';
-import { subscribeRuleNames, SubscribeRuleDescriptions } from '~/interfaces/in-app-notification-settings';
+import { subscribeRuleNames, SubscribeRuleDescriptions } from '~/interfaces/in-app-notification';
 
 type SubscribeRule = {
   name: string,

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

@@ -1,18 +0,0 @@
-import { Types } from 'mongoose';
-
-export enum subscribeRuleNames {
-  PAGE_CREATE = 'PAGE_CREATE'
-}
-
-export enum SubscribeRuleDescriptions {
-  PAGE_CREATE = 'in_app_notification_settings.default_subscribe_rules.page_create',
-}
-
-export interface ISubscribeRule {
-  name: subscribeRuleNames;
-  isEnabled: boolean;
-}
-export interface IInAppNotificationSettings {
-  userId: Types.ObjectId;
-  subscribeRules: ISubscribeRule[];
-}

+ 23 - 1
packages/app/src/interfaces/in-app-notification.ts

@@ -1,4 +1,5 @@
-// refer types https://github.com/crowi/crowi/blob/eecf2bc821098d2516b58104fe88fae81497d3ea/client/types/crowi.d.ts
+import { Types } from 'mongoose';
+
 export interface IInAppNotification {
   _id: string
   user: string
@@ -28,3 +29,24 @@ export interface PaginateResult<T> {
   totalDocs: number;
   totalPages: number;
 }
+
+/*
+* In App Notification settings
+*/
+
+export enum subscribeRuleNames {
+  PAGE_CREATE = 'PAGE_CREATE'
+}
+
+export enum SubscribeRuleDescriptions {
+  PAGE_CREATE = 'in_app_notification_settings.default_subscribe_rules.page_create',
+}
+
+export interface ISubscribeRule {
+  name: subscribeRuleNames;
+  isEnabled: boolean;
+}
+export interface IInAppNotificationSettings {
+  userId: Types.ObjectId;
+  subscribeRules: ISubscribeRule[];
+}

+ 1 - 1
packages/app/src/server/models/in-app-notification-settings.ts

@@ -1,7 +1,7 @@
 import { Schema, Model, Document } from 'mongoose';
 import { getOrCreateModel } from '@growi/core';
 
-import { IInAppNotificationSettings, subscribeRuleNames } from '../../interfaces/in-app-notification-settings';
+import { IInAppNotificationSettings, subscribeRuleNames } from '~/interfaces/in-app-notification';
 
 export interface InAppNotificationSettingsDocument extends IInAppNotificationSettings, Document {}
 export type InAppNotificationSettingsModel = Model<InAppNotificationSettingsDocument>

+ 1 - 1
packages/app/src/server/routes/apiv3/pages.js

@@ -1,7 +1,7 @@
 import { pagePathUtils } from '@growi/core';
 import loggerFactory from '~/utils/logger';
 
-import { subscribeRuleNames } from '~/interfaces/in-app-notification-settings';
+import { subscribeRuleNames } from '~/interfaces/in-app-notification';
 
 const logger = loggerFactory('growi:routes:apiv3:pages'); // eslint-disable-line no-unused-vars
 const express = require('express');