51 lines
1.0 KiB
TypeScript
51 lines
1.0 KiB
TypeScript
import {
|
|
IsInt,
|
|
IsNotEmpty,
|
|
IsPositive,
|
|
IsString
|
|
} from "class-validator";
|
|
import { BeforeInsert, BeforeUpdate, Column, Entity, PrimaryColumn } from "typeorm";
|
|
|
|
/**
|
|
* Defines the ConfigFlag entity.
|
|
* This entity can be used to set some flags on db init.
|
|
*/
|
|
@Entity()
|
|
export class ConfigFlag {
|
|
/**
|
|
* The flag's name (primary).
|
|
*/
|
|
@PrimaryColumn()
|
|
@IsString()
|
|
option: string;
|
|
|
|
/**
|
|
* The flag's value.
|
|
*/
|
|
@Column()
|
|
@IsString()
|
|
@IsNotEmpty()
|
|
value: string;
|
|
|
|
@Column({ type: 'bigint', nullable: true, readonly: true })
|
|
@IsInt()
|
|
@IsPositive()
|
|
created_at: number;
|
|
|
|
@Column({ type: 'bigint', nullable: true })
|
|
@IsInt()
|
|
@IsPositive()
|
|
updated_at: number;
|
|
|
|
@BeforeInsert()
|
|
public setCreatedAt() {
|
|
this.created_at = Math.floor(Date.now() / 1000);
|
|
this.updated_at = Math.floor(Date.now() / 1000);
|
|
}
|
|
|
|
@BeforeUpdate()
|
|
public setUpdatedAt() {
|
|
this.updated_at = Math.floor(Date.now() / 1000);
|
|
}
|
|
}
|