Yuki Takei 3 tahun lalu
induk
melakukan
5487edfe14

+ 2 - 4
packages/app/src/interfaces/in-app-notification.ts

@@ -1,5 +1,3 @@
-import ObjectId from 'bson-objectid';
-
 import { IPage } from './page';
 import { IUser } from './user';
 
@@ -55,7 +53,7 @@ export interface ISubscribeRule {
   name: subscribeRuleNames;
   isEnabled: boolean;
 }
-export interface IInAppNotificationSettings {
-  userId: ObjectId | string;
+export interface IInAppNotificationSettings<UserID> {
+  userId: UserID | string;
   subscribeRules: ISubscribeRule[];
 }

+ 2 - 2
packages/app/src/server/interfaces/mongoose-utils.ts

@@ -1,3 +1,3 @@
-import ObjectId from 'bson-objectid';
+import mongoose from 'mongoose';
 
-export type ObjectIdLike = ObjectId | string;
+export type ObjectIdLike = mongoose.Types.ObjectId | string;

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

@@ -1,10 +1,12 @@
-import { Schema, Model, Document } from 'mongoose';
+import {
+  Schema, Model, Document, Types,
+} from 'mongoose';
 
 import { IInAppNotificationSettings, subscribeRuleNames } from '~/interfaces/in-app-notification';
 
 import { getOrCreateModel } from '../util/mongoose-utils';
 
-export interface InAppNotificationSettingsDocument extends IInAppNotificationSettings, Document {}
+export interface InAppNotificationSettingsDocument extends IInAppNotificationSettings<Types.ObjectId>, Document {}
 export type InAppNotificationSettingsModel = Model<InAppNotificationSettingsDocument>
 
 const inAppNotificationSettingsSchema = new Schema<InAppNotificationSettingsDocument, InAppNotificationSettingsModel>({