From 1d9b37a88e69ca7ed6af93f89924a5076eb15900 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 18 Jul 2023 16:21:49 +0800 Subject: [PATCH] Add the integrations table to admin so we can reset sync_at for users --- pkg/admin/src/db.ts | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/pkg/admin/src/db.ts b/pkg/admin/src/db.ts index b58c221b5..853003589 100644 --- a/pkg/admin/src/db.ts +++ b/pkg/admin/src/db.ts @@ -48,6 +48,7 @@ export const registerDatabase = async (secrets: any): Promise => { ReceivedEmail, ContentDisplayReport, Group, + Integration, ], }) @@ -210,7 +211,7 @@ export class Group extends BaseEntity { name!: string @OneToOne(() => User) - @JoinColumn({ name: 'created_at' }) + @JoinColumn({ name: 'created_by' }) createdBy!: User @Column({ type: 'timestamp', name: 'created_at' }) @@ -231,3 +232,28 @@ export class Group extends BaseEntity { @Column('boolean', { default: false, name: 'only_admin_can_see_members' }) onlyAdminCanSeeMembers!: boolean } + +@Entity() +export class Integration extends BaseEntity { + @PrimaryGeneratedColumn('uuid') + id!: string + + @JoinColumn({ name: 'user_id' }) + @ManyToOne(() => User, (user) => user.articles, { eager: true }) + user!: User + + @Column('varchar', { length: 40 }) + name!: string + + @Column('boolean', { default: true }) + enabled!: boolean + + @Column({ type: 'timestamp', name: 'created_at' }) + createdAt!: Date + + @Column({ type: 'timestamp', name: 'updated_at' }) + updatedAt!: Date + + @Column({ name: 'synced_at', type: 'timestamp', nullable: true }) + syncedAt?: Date | null +}