itizawa 4 лет назад
Родитель
Сommit
b533f72c48
1 измененных файлов с 23 добавлено и 48 удалено
  1. 23 48
      packages/slackbot-proxy/src/controllers/growi-to-slack.ts

+ 23 - 48
packages/slackbot-proxy/src/controllers/growi-to-slack.ts

@@ -63,22 +63,20 @@ export class GrowiToSlackCtrl {
   @Get('/relation-test')
   @Get('/relation-test')
   @UseBefore(verifyGrowiToSlackRequest)
   @UseBefore(verifyGrowiToSlackRequest)
   async postRelation(@Req() req: GrowiReq, @Res() res: Res): Promise<void|string|Res|WebAPICallResult> {
   async postRelation(@Req() req: GrowiReq, @Res() res: Res): Promise<void|string|Res|WebAPICallResult> {
-    // asserted tokenGtoP is string by verifyGrowiToSlackRequest
-    const { tokenGtoP } = req;
-
-    let relation: Relation|undefined;
-    try {
-      // retrieve relation with Installation
-      relation = await this.relationRepository.createQueryBuilder('relation')
-        .where('tokenGtoP = :token', { token: tokenGtoP })
-        .leftJoinAndSelect('relation.installation', 'installation')
-        .getOne();
-    }
-    catch (error) {
-      logger.error(error);
-      return res.status(500).send({ message: 'find relation is failure' });
+    const { tokenGtoPs } = req;
+
+    if (tokenGtoPs.length !== 1) {
+      return res.status(400).send({ message: 'installation is invalid' });
     }
     }
 
 
+    const tokenGtoP = tokenGtoPs[0];
+
+    // retrieve relation with Installation
+    const relation = await this.relationRepository.createQueryBuilder('relation')
+      .where('tokenGtoP = :token', { token: tokenGtoP })
+      .leftJoinAndSelect('relation.installation', 'installation')
+      .getOne();
+
     // Returns the result of the test if it already exists
     // Returns the result of the test if it already exists
     if (relation != null) {
     if (relation != null) {
       logger.debug('relation found', relation);
       logger.debug('relation found', relation);
@@ -87,29 +85,17 @@ export class GrowiToSlackCtrl {
       if (token == null) {
       if (token == null) {
         return res.status(400).send({ message: 'installation is invalid' });
         return res.status(400).send({ message: 'installation is invalid' });
       }
       }
-      try {
-        await relationTestToSlack(token);
-        return res.send({ relation });
-      }
-      catch (error) {
-        logger.error(error);
-        return res.status(500).send({ message: error.message });
-      }
+
+      await relationTestToSlack(token);
+      return res.send({ relation });
     }
     }
 
 
-    let order: Order|undefined;
-    try {
     // retrieve latest Order with Installation
     // retrieve latest Order with Installation
-      order = await this.orderRepository.createQueryBuilder('order')
-        .orderBy('order.createdAt', 'DESC')
-        .where('growiAccessToken = :token', { token: tokenGtoP })
-        .leftJoinAndSelect('order.installation', 'installation')
-        .getOne();
-    }
-    catch (error) {
-      logger.error(error);
-      return res.status(500).send({ message: 'find order is failure' });
-    }
+    const order = await this.orderRepository.createQueryBuilder('order')
+      .orderBy('order.createdAt', 'DESC')
+      .where('growiAccessToken = :token', { token: tokenGtoP })
+      .leftJoinAndSelect('order.installation', 'installation')
+      .getOne();
 
 
     if (order == null || order.isExpired()) {
     if (order == null || order.isExpired()) {
       return res.status(400).send({ message: 'order has expired or does not exist.' });
       return res.status(400).send({ message: 'order has expired or does not exist.' });
@@ -121,23 +107,12 @@ export class GrowiToSlackCtrl {
     if (token == null) {
     if (token == null) {
       return res.status(400).send({ message: 'installation is invalid' });
       return res.status(400).send({ message: 'installation is invalid' });
     }
     }
-    try {
-      await relationTestToSlack(token);
-    }
-    catch (error) {
-      logger.error(error);
-      return res.status(500).send({ message: error.message });
-    }
+
+    await relationTestToSlack(token);
 
 
     logger.debug('relation test is success', order);
     logger.debug('relation test is success', order);
 
 
-    try {
-      // TODO GW-5864 issue relation
-    }
-    catch (error) {
-      logger.error(error);
-      return res.status(500).send({ message: 'issue relation is failure' });
-    }
+    // TODO GW-5864 issue relation
 
 
     // return order temporary
     // return order temporary
     // TODO return new relation
     // TODO return new relation