Yuki Takei 5 лет назад
Родитель
Сommit
49821b6ffc

+ 18 - 2
packages/slackbot-proxy/src/entities/installation.ts

@@ -1,5 +1,5 @@
 import {
-  Property, Required,
+  Required,
 } from '@tsed/schema';
 import {
   Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn,
@@ -11,7 +11,6 @@ import { Installation as SlackInstallation } from '@slack/oauth';
 export class Installation {
 
   @PrimaryGeneratedColumn()
-  @Property()
   readonly id: number;
 
   @Column({ type: 'json' })
@@ -24,4 +23,21 @@ export class Installation {
   @UpdateDateColumn()
   readonly updatedAt: Date;
 
+  @Column({ nullable: true })
+  isEnterpriseInstall?: boolean;
+
+  @Column({ nullable: true, unique: true })
+  teamId?: string;
+
+  @Column({ nullable: true, unique: true })
+  enterpriseId?: string;
+
+  setData(slackInstallation: SlackInstallation): void {
+    this.data = slackInstallation;
+
+    this.isEnterpriseInstall = slackInstallation.isEnterpriseInstall;
+    this.teamId = slackInstallation.team?.id;
+    this.enterpriseId = slackInstallation.enterprise?.id;
+  }
+
 }

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

@@ -35,7 +35,7 @@ export class InstallerService {
       installationStore: {
         storeInstallation: async(slackInstallation: SlackInstallation<'v1' | 'v2', boolean>) => {
           const installation = new Installation();
-          installation.data = slackInstallation;
+          installation.setData(slackInstallation);
 
           await repository.save(installation);