Shun Miyazawa 4 лет назад
Родитель
Сommit
e2db3da30d

+ 9 - 2
packages/app/src/server/models/subscription.ts

@@ -28,6 +28,8 @@ export interface SubscriptionModel extends Model<SubscriptionDocument> {
   watchByPageId(user: Types.ObjectId, pageId: Types.ObjectId, status: string): any
   watchByPageId(user: Types.ObjectId, pageId: Types.ObjectId, status: string): any
   getWatchers(target: Types.ObjectId): Promise<Types.ObjectId[]>
   getWatchers(target: Types.ObjectId): Promise<Types.ObjectId[]>
   getUnwatchers(target: Types.ObjectId): Promise<Types.ObjectId[]>
   getUnwatchers(target: Types.ObjectId): Promise<Types.ObjectId[]>
+  STATUS_WATCH(): string
+  STATUS_UNWATCH(): string
 }
 }
 
 
 const subscriptionSchema = new Schema<SubscriptionDocument, SubscriptionModel>({
 const subscriptionSchema = new Schema<SubscriptionDocument, SubscriptionModel>({
@@ -88,7 +90,12 @@ subscriptionSchema.statics.getUnwatchers = async function(target) {
   return this.find({ target, status: STATUS_UNWATCH }).distinct('user');
   return this.find({ target, status: STATUS_UNWATCH }).distinct('user');
 };
 };
 
 
-subscriptionSchema.statics.STATUS_WATCH = STATUS_WATCH;
-subscriptionSchema.statics.STATUS_UNWATCH = STATUS_UNWATCH;
+subscriptionSchema.statics.STATUS_WATCH = function() {
+  return STATUS_WATCH;
+};
+
+subscriptionSchema.statics.STATUS_UNWATCH = function() {
+  return STATUS_UNWATCH;
+};
 
 
 export default getOrCreateModel<SubscriptionDocument, SubscriptionModel>('Subscription', subscriptionSchema);
 export default getOrCreateModel<SubscriptionDocument, SubscriptionModel>('Subscription', subscriptionSchema);

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

@@ -493,7 +493,7 @@ module.exports = (crowi) => {
   router.put('/subscribe', accessTokenParser, loginRequiredStrictly, csrf, async(req, res) => {
   router.put('/subscribe', accessTokenParser, loginRequiredStrictly, csrf, async(req, res) => {
     const { pageId } = req.body;
     const { pageId } = req.body;
     const userId = req.user._id;
     const userId = req.user._id;
-    const status = req.body.status ? Subscription.STATUS_WATCH : Subscription.STATUS_UNWATCH;
+    const status = req.body.status ? Subscription.STATUS_WATCH() : Subscription.STATUS_UNWATCH();
     try {
     try {
       const subscription = await Subscription.watchByPageId(userId, pageId, status);
       const subscription = await Subscription.watchByPageId(userId, pageId, status);
       return res.apiv3({ subscription });
       return res.apiv3({ subscription });