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

READ p2g, CREATE & UPDATE g2p worked

Taichi Masuyama 4 лет назад
Родитель
Сommit
907cb84efb

+ 2 - 2
packages/app/src/server/routes/apiv3/slack-integration-settings.js

@@ -557,9 +557,9 @@ module.exports = (crowi) => {
        * permittedChannelsForEachCommandFromClient represents the data sent from client
        */
       const SlackAppIntegrationMock = mongoose.model('SlackAppIntegrationMock');
-      // assume that these data were sent from client
+      // MOCK DATA FROM CLIENT assume that these data were sent from client
       const permittedChannelsForEachCommandFromClient = {
-        search: ['random'],
+        channelsObject: { search: ['random'] },
       };
       const slackAppIntegrationMock = await SlackAppIntegrationMock.findOneAndUpdate(
         { tokenPtoG: slackAppIntegration.tokenPtoG },

+ 7 - 2
packages/app/src/server/routes/apiv3/slack-integration.js

@@ -257,9 +257,14 @@ module.exports = (crowi) => {
 
   router.get('/supported-commands', verifyAccessTokenFromProxy, async(req, res) => {
     const tokenPtoG = req.headers['x-growi-ptog-tokens'];
-    const slackAppIntegration = await SlackAppIntegration.findOne({ tokenPtoG });
+    // MOCK DATA DELETE THIS GW-6972 ---------
+    const SlackAppIntegrationMock = mongoose.model('SlackAppIntegrationMock');
+    const slackAppIntegrationMock = await SlackAppIntegrationMock.findOne({ tokenPtoG });
+    return res.send(slackAppIntegrationMock);
+    // MOCK DATA DELETE THIS GW-6972 ---------
 
-    return res.send(slackAppIntegration);
+    // const slackAppIntegration = await SlackAppIntegration.findOne({ tokenPtoG });
+    // return res.send(slackAppIntegration);
   });
 
   return router;

+ 12 - 2
packages/slackbot-proxy/src/controllers/growi-to-slack.ts

@@ -101,15 +101,25 @@ export class GrowiToSlackCtrl {
   async putSupportedCommands(@Req() req: GrowiReq, @Res() res: Res): Promise<void|string|Res|WebAPICallResult> {
     // asserted (tokenGtoPs.length > 0) by verifyGrowiToSlackRequest
     const { tokenGtoPs } = req;
+
     // const { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse } = req.body;
+
+    // MOCK DATA DELETE THIS GW 6972 -----------
     const { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse, permittedChannelsForEachCommand } = req.body;
+    // MOCK DATA DELETE THIS GW 6972 -----------
 
     if (tokenGtoPs.length !== 1) {
       throw createError(400, 'installation is invalid');
     }
 
     const tokenGtoP = tokenGtoPs[0];
-    const relation = await this.relationMockRepository.update({ tokenGtoP }, { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse });
+    // const relation = await this.relationRepository.update({ tokenGtoP }, { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse });
+
+    // MOCK DATA DELETE THIS GW 6972 -----------
+    const relation = await this.relationMockRepository.update(
+      { tokenGtoP }, { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse, permittedChannelsForEachCommand },
+    );
+    // MOCK DATA DELETE THIS GW 6972 -----------
 
     return res.send({ relation });
   }
@@ -226,7 +236,7 @@ export class GrowiToSlackCtrl {
         supportedCommandsForBroadcastUse: req.body.supportedCommandsForBroadcastUse,
         supportedCommandsForSingleUse: req.body.supportedCommandsForSingleUse,
         permittedChannelsForEachCommand: {
-          search: ['random'],
+          channelsObject: {},
         },
         expiredAtCommands,
       })

+ 1 - 1
packages/slackbot-proxy/src/entities/relation-mock.ts

@@ -11,7 +11,7 @@ import { Installation } from './installation';
 //     search: ['admin'],
 //   }
 interface PermittedChannelsForEachCommand {
-  [command: string]: string[] ;
+  channelsObject: { [command: string]: string[] }
 }
 
 @Entity()

+ 15 - 14
packages/slackbot-proxy/src/services/RelationsService.ts

@@ -21,7 +21,7 @@ export class RelationsService {
   @Inject()
   relationMockRepository: RelationMockRepository;
 
-  // DELETE THIS METHOD GW-6972
+  // MOCK DATA DELETE THIS METHOD GW-6972
   async getMockFromRelation(relation: Relation): Promise<RelationMock|null> {
     const tokenGtoP = relation.tokenGtoP;
     const relationMock = await this.relationMockRepository.findOne({ where: [{ tokenGtoP }] });
@@ -41,6 +41,7 @@ export class RelationsService {
 
   async syncSupportedGrowiCommands(relation:Relation): Promise<RelationMock> {
     const res = await this.getSupportedGrowiCommands(relation);
+
     // const { supportedCommandsForBroadcastUse, supportedCommandsForSingleUse } = res.data;
     // relation.supportedCommandsForBroadcastUse = supportedCommandsForBroadcastUse;
     // relation.supportedCommandsForSingleUse = supportedCommandsForSingleUse;
@@ -60,7 +61,7 @@ export class RelationsService {
       relationMock.permittedChannelsForEachCommand = permittedChannelsForEachCommand;
       relationMock.expiredAtCommands = addHours(new Date(), 48);
 
-      // MODIFY THIS ORIGINAL OPERATION GW-6972
+      // NOT MOCK DATA MODIFY THIS ORIGINAL OPERATION GW-6972
       relation.supportedCommandsForBroadcastUse = supportedCommandsForBroadcastUse;
       relation.supportedCommandsForSingleUse = supportedCommandsForSingleUse;
       relation.expiredAtCommands = addHours(new Date(), 48);
@@ -68,7 +69,7 @@ export class RelationsService {
 
       return this.relationMockRepository.save(relationMock);
     }
-    throw Error('No relation mock is null.');
+    throw Error('No relation mock exists.');
     // MOCK DATA MODIFY THIS GW-6972 ---------------
   }
 
@@ -79,7 +80,7 @@ export class RelationsService {
 
     const distanceMillisecondsToExpiredAt = relationMock.getDistanceInMillisecondsToExpiredAt(baseDate);
 
-    if (distanceMillisecondsToExpiredAt < 0) {
+    if (true) {
       try {
         return await this.syncSupportedGrowiCommands(relationMock);
       }
@@ -90,16 +91,16 @@ export class RelationsService {
     }
 
     // 24 hours
-    if (distanceMillisecondsToExpiredAt < 1000 * 60 * 60 * 24) {
-      try {
-        this.syncSupportedGrowiCommands(relationMock);
-      }
-      catch (err) {
-        logger.error(err);
-      }
-    }
-
-    return relationMock;
+    // if (distanceMillisecondsToExpiredAt < 1000 * 60 * 60 * 24) {
+    //   try {
+    //     this.syncSupportedGrowiCommands(relationMock);
+    //   }
+    //   catch (err) {
+    //     logger.error(err);
+    //   }
+    // }
+
+    // return relationMock;
   }
 
   async isSupportedGrowiCommandForSingleUse(relation:Relation, growiCommandType:string, baseDate:Date):Promise<boolean> {