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 );