Add rule entity

This commit is contained in:
Hongbo Wu 2022-11-17 15:04:44 +08:00
parent 60027dd670
commit 23c527c345
2 changed files with 45 additions and 3 deletions

View file

@ -0,0 +1,38 @@
import {
Column,
CreateDateColumn,
Entity,
JoinColumn,
ManyToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm'
import { User } from './user'
@Entity({ name: 'rules' })
export class Rule {
@PrimaryGeneratedColumn('uuid')
id!: string
@ManyToOne(() => User, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'user_id' })
user!: User
@Column('text')
query!: string
@Column('text', { array: true })
actions!: string[]
@Column('text', { nullable: true })
description?: string | null
@Column('boolean', { default: true })
enabled!: boolean
@CreateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
createdAt!: Date
@UpdateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
updatedAt!: Date
}

View file

@ -7,13 +7,17 @@ BEGIN;
CREATE TABLE omnivore.rules (
id uuid PRIMARY KEY DEFAULT uuid_generate_v1mc(),
user_id uuid NOT NULL REFERENCES omnivore.user ON DELETE CASCADE,
name text NOT NULL,
description text,
query text NOT NULL,
actions text NOT NULL,
actions text[] NOT NULL,
enabled boolean NOT NULL DEFAULT true,
created_at timestamptz NOT NULL DEFAULT current_timestamp,
updated_at timestamptz NOT NULL DEFAULT current_timestamp,
updated_at timestamptz NOT NULL DEFAULT current_timestamp
);
CREATE TRIGGER rules_modtime BEFORE UPDATE ON omnivore.rules
FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
GRANT SELECT, INSERT, UPDATE, DELETE ON omnivore.rules TO omnivore_user;
COMMIT;