mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Add search_filter table and entity
This commit is contained in:
parent
e5b0339036
commit
4d845ef413
3 changed files with 69 additions and 0 deletions
37
packages/api/src/entity/search_filter.ts
Normal file
37
packages/api/src/entity/search_filter.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
Entity,
|
||||
JoinColumn,
|
||||
ManyToOne,
|
||||
PrimaryGeneratedColumn,
|
||||
Unique,
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm'
|
||||
import { User } from './user'
|
||||
|
||||
@Entity({ name: 'search_filter' })
|
||||
@Unique('search_filter_unique_key', ['user', 'name'])
|
||||
export class SearchFilter {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id!: string
|
||||
|
||||
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
||||
@JoinColumn({ name: 'user_id' })
|
||||
user!: User
|
||||
|
||||
@Column('varchar', { length: 255 })
|
||||
name!: string
|
||||
|
||||
@Column('varchar', { length: 255, nullable: true })
|
||||
description?: string | null
|
||||
|
||||
@Column('varchar', { length: 255 })
|
||||
filter!: string
|
||||
|
||||
@CreateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
|
||||
createdAt!: Date
|
||||
|
||||
@UpdateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
|
||||
updatedAt!: Date
|
||||
}
|
||||
23
packages/db/migrations/0100.do.search_filters.sql
Executable file
23
packages/db/migrations/0100.do.search_filters.sql
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
-- Type: DO
|
||||
-- Name: search_filters
|
||||
-- Description: Create search_filters table
|
||||
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE omnivore.search_filters (
|
||||
id uuid PRIMARY KEY DEFAULT uuid_generate_v1mc(),
|
||||
user_id uuid NOT NULL REFERENCES omnivore.user ON DELETE CASCADE,
|
||||
name character varying(255) NOT NULL,
|
||||
description character varying(255),
|
||||
filter character varying(255) NOT NULL,
|
||||
created_at timestamptz NOT NULL DEFAULT current_timestamp,
|
||||
updated_at timestamptz NOT NULL DEFAULT current_timestamp,
|
||||
UNIQUE (user_id, name)
|
||||
);
|
||||
|
||||
CREATE TRIGGER search_filters_modtime BEFORE UPDATE ON omnivore.search_filters
|
||||
FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON omnivore.search_filters TO omnivore_user;
|
||||
|
||||
COMMIT;
|
||||
9
packages/db/migrations/0100.undo.search_filters.sql
Executable file
9
packages/db/migrations/0100.undo.search_filters.sql
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
-- Type: UNDO
|
||||
-- Name: search_filters
|
||||
-- Description: Create search_filters table
|
||||
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE IF EXISTS omnivore.search_filters;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Reference in a new issue