From a6192ed86bbc45a125f3d40056b868d4146abe7a Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 5 Jul 2023 16:55:08 +0800 Subject: [PATCH] add rss subscription entity class --- packages/api/src/entity/rss_subscription.ts | 44 +++++++++++++++++++ .../migrations/0114.do.rss_subscription.sql | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 packages/api/src/entity/rss_subscription.ts diff --git a/packages/api/src/entity/rss_subscription.ts b/packages/api/src/entity/rss_subscription.ts new file mode 100644 index 000000000..d5f181b06 --- /dev/null +++ b/packages/api/src/entity/rss_subscription.ts @@ -0,0 +1,44 @@ +import { + Column, + CreateDateColumn, + Entity, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm' +import { User } from './user' + +@Entity({ name: 'rss_subscription' }) +export class RssSubscription { + @PrimaryGeneratedColumn('uuid') + id!: string + + @ManyToOne(() => User, { onDelete: 'CASCADE' }) + @JoinColumn({ name: 'user_id' }) + user!: User + + @Column('varchar', { length: 255 }) + title!: string + + @Column('text', { nullable: true }) + description?: string | null + + @Column('text') + url!: string + + @Column('text', { nullable: true }) + imageUrl?: string | null + + @Column('integer', { default: 0 }) + count!: number + + @Column('timestamp', { nullable: true }) + lastFetchedAt?: Date | null + + @CreateDateColumn({ default: () => 'CURRENT_TIMESTAMP' }) + createdAt!: Date + + @UpdateDateColumn({ default: () => 'CURRENT_TIMESTAMP' }) + updatedAt!: Date +} diff --git a/packages/db/migrations/0114.do.rss_subscription.sql b/packages/db/migrations/0114.do.rss_subscription.sql index 6fc4f9b4d..bf4b4f1a4 100755 --- a/packages/db/migrations/0114.do.rss_subscription.sql +++ b/packages/db/migrations/0114.do.rss_subscription.sql @@ -12,7 +12,7 @@ CREATE TABLE omnivore.rss_subscription ( url TEXT NOT NULL, image_url TEXT, count integer NOT NULL DEFAULT 0, - last_updated timestamptz, + last_fetched_at timestamptz, created_at timestamptz NOT NULL DEFAULT current_timestamp, updated_at timestamptz NOT NULL DEFAULT current_timestamp );