From b7d732df7caa4b24df8180f4c6df4e960e261158 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 17 Jan 2023 12:47:42 +0800 Subject: [PATCH] Add received_email entity --- packages/api/src/entity/received_email.ts | 41 +++++++++++++++++++ .../db/migrations/0107.do.received_emails.sql | 4 +- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 packages/api/src/entity/received_email.ts diff --git a/packages/api/src/entity/received_email.ts b/packages/api/src/entity/received_email.ts new file mode 100644 index 000000000..df8a5c705 --- /dev/null +++ b/packages/api/src/entity/received_email.ts @@ -0,0 +1,41 @@ +import { + Column, + CreateDateColumn, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { User } from './user' + +@Entity({ name: 'received_emails' }) +export class ReceivedEmail { + @PrimaryGeneratedColumn('uuid') + id!: string + + @ManyToOne(() => User, { onDelete: 'CASCADE' }) + @JoinColumn({ name: 'user_id' }) + user!: User + + @Column('text') + from!: string + + @Column('text') + to!: string + + @Column('text') + subject!: string + + @Column('text') + text!: string + + @Column('text') + html!: string + + @CreateDateColumn({ default: () => 'CURRENT_TIMESTAMP' }) + createdAt!: Date + + @UpdateDateColumn({ default: () => 'CURRENT_TIMESTAMP' }) + updatedAt!: Date +} diff --git a/packages/db/migrations/0107.do.received_emails.sql b/packages/db/migrations/0107.do.received_emails.sql index 8b7f283cc..887e0e406 100755 --- a/packages/db/migrations/0107.do.received_emails.sql +++ b/packages/db/migrations/0107.do.received_emails.sql @@ -9,9 +9,9 @@ CREATE TABLE omnivore.received_emails ( user_id uuid NOT NULL REFERENCES omnivore.user ON DELETE CASCADE, "from" text NOT NULL, "to" text NOT NULL, - subject text, + subject text NOT NULL DEFAULT '', "text" text NOT NULL, - html text, + html text NOT NULL DEFAULT '', created_at timestamptz NOT NULL DEFAULT current_timestamp, updated_at timestamptz NOT NULL DEFAULT current_timestamp );