eduverse-backend / src /modules /settings /entities /system-setting.entity.ts
amirhamdi's picture
before testing endpoints
990c0e8
Raw
History Blame Contribute Delete
1.38 kB
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
ManyToOne,
JoinColumn,
} from 'typeorm';
import { User } from '../../auth/entities/user.entity';
export enum SettingType {
STRING = 'string',
NUMBER = 'number',
BOOLEAN = 'boolean',
JSON = 'json',
}
@Entity('system_settings')
export class SystemSetting {
@PrimaryGeneratedColumn({ name: 'setting_id', type: 'int', unsigned: true })
settingId: number;
@Column({ name: 'setting_key', type: 'varchar', length: 100, unique: true })
settingKey: string;
@Column({ name: 'setting_value', type: 'text' })
settingValue: string;
@Column({
name: 'setting_type',
type: 'enum',
enum: SettingType,
default: SettingType.STRING,
})
settingType: SettingType;
@Column({ name: 'category', type: 'varchar', length: 50, nullable: true })
category: string;
@Column({ name: 'description', type: 'text', nullable: true })
description: string;
@Column({ name: 'is_public', type: 'tinyint', default: 0 })
isPublic: boolean;
@Column({ name: 'updated_by', type: 'bigint', unsigned: true, nullable: true })
updatedBy: number;
@CreateDateColumn({ name: 'created_at' })
createdAt: Date;
@UpdateDateColumn({ name: 'updated_at' })
updatedAt: Date;
@ManyToOne(() => User)
@JoinColumn({ name: 'updated_by' })
updatedByUser: User;
}