itizawa пре 5 година
родитељ
комит
795320684c

+ 3 - 3
packages/slackbot-proxy/src/repositories/installation.ts

@@ -11,11 +11,11 @@ export class InstallationRepository extends Repository<Installation> {
     return this.findOne(id);
   }
 
-  async findByTeamIdOrEnterpriseId(teamId?:string, enterpriseId?:string): Promise<Installation|undefined> {
+  async findByTeamIdOrEnterpriseId(teamIdOrEnterpriseId:string): Promise<Installation|undefined> {
     return this.findOne({
       where: [
-        { teamId },
-        { enterpriseId },
+        { teamId: teamIdOrEnterpriseId },
+        { enterpriseId: teamIdOrEnterpriseId, isEnterpriseInstall: true },
       ],
     });
   }

+ 7 - 1
packages/slackbot-proxy/src/services/InstallerService.ts

@@ -35,7 +35,13 @@ export class InstallerService {
       installationStore: {
         // upsert
         storeInstallation: async(slackInstallation: SlackInstallation<'v1' | 'v2', boolean>) => {
-          const existedInstallation = await repository.findByTeamIdOrEnterpriseId(slackInstallation.team?.id, slackInstallation.enterprise?.id);
+          const teamIdOrEnterpriseId = slackInstallation.team?.id || slackInstallation.enterprise?.id;
+
+          if (teamIdOrEnterpriseId == null) {
+            throw new Error('teamId or enterpriseId is required.');
+          }
+
+          const existedInstallation = await repository.findByTeamIdOrEnterpriseId(teamIdOrEnterpriseId);
 
           if (existedInstallation != null) {
             existedInstallation.setData(slackInstallation);