itizawa 4 лет назад
Родитель
Сommit
ef4997e8b4

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

@@ -18,7 +18,7 @@ import { OrderRepository } from '~/repositories/order';
 
 import { InstallerService } from '~/services/InstallerService';
 import loggerFactory from '~/utils/logger';
-import { DelegatorTypes, factory as GrowiUriInjectorFactory } from '~/services/growi-uri-injector';
+import { DelegatorTypes, growiUriInjectorFactory } from '~/services/growi-uri-injector/GrowiUriInjectorFactory';
 import { injectGrowiUriToView } from '~/utils/injectGrowiUriToView';
 
 
@@ -180,7 +180,7 @@ export class GrowiToSlackCtrl {
         }
         parsedBlock.elements.forEach((element) => {
           Object.values(DelegatorTypes).forEach((type) => {
-            const growiUriInjector = GrowiUriInjectorFactory.getDelegator(type);
+            const growiUriInjector = growiUriInjectorFactory[type]();
 
             if (growiUriInjector.handleInject(element.type)) {
               growiUriInjector.inject(element, growiUri);

+ 2 - 2
packages/slackbot-proxy/src/middlewares/slack-to-growi/extract-growi-uri-from-req.ts

@@ -2,7 +2,7 @@ import {
   IMiddleware, Middleware, Next, Req, Res,
 } from '@tsed/common';
 import { SlackOauthReq } from '~/interfaces/slack-to-growi/slack-oauth-req';
-import { DelegatorTypes, factory as GrowiUriInjectorFactory } from '~/services/growi-uri-injector';
+import { DelegatorTypes, growiUriInjectorFactory } from '~/services/growi-uri-injector/GrowiUriInjectorFactory';
 import { extractGrowiUriFromView } from '~/utils/extractGrowiUriFromView';
 
 @Middleware()
@@ -21,7 +21,7 @@ export class ExtractGrowiUriFromReq implements IMiddleware {
     else {
       // break when uri is found
       for (const type of Object.values(DelegatorTypes)) {
-        const growiUriInjector = GrowiUriInjectorFactory.getDelegator(type);
+        const growiUriInjector = growiUriInjectorFactory[type]();
         const extractedValues = growiUriInjector.extract(payload.actions[0]);
 
         if (extractedValues.growiUri != null) {

+ 0 - 2
packages/slackbot-proxy/src/services/growi-uri-injector/GrowiUriInjectionButtonDelegator.ts

@@ -22,5 +22,3 @@ export class GrowiUriInjectionButtonDelegator implements GrowiUriInjector {
   }
 
 }
-
-export const growiUriInjectionButtonDelegator = new GrowiUriInjectionButtonDelegator();

+ 5 - 14
packages/slackbot-proxy/src/services/growi-uri-injector/index.ts → packages/slackbot-proxy/src/services/growi-uri-injector/GrowiUriInjectorFactory.ts

@@ -6,20 +6,11 @@ export const DelegatorTypes = {
 } as const;
 export type DelegatorTypes = typeof DelegatorTypes[keyof typeof DelegatorTypes];
 
-const TypeToDelegatorMappings:{[key in DelegatorTypes]:GrowiUriInjector} = {
-  [DelegatorTypes.BUTTON]: new GrowiUriInjectionButtonDelegator(),
-};
-
-
 /**
  * Instanciate GrowiUriInjector
  */
-class GrowiUriInjectorFactory {
-
-  getDelegator(type:DelegatorTypes) {
-    return TypeToDelegatorMappings[type];
-  }
-
-}
-
-export const factory = new GrowiUriInjectorFactory();
+export const growiUriInjectorFactory = {
+  [DelegatorTypes.BUTTON]: (): GrowiUriInjector => {
+    return new GrowiUriInjectionButtonDelegator();
+  },
+};