mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-22 22:36:06 +08:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { sequelize } from '.';
|
|
import { DataTypes, Model, ModelDefined } from 'sequelize';
|
|
|
|
export class Env {
|
|
value?: string;
|
|
timestamp?: string;
|
|
id?: number;
|
|
status?: EnvStatus;
|
|
position?: number;
|
|
name?: string;
|
|
remarks?: string;
|
|
|
|
constructor(options: Env) {
|
|
this.value = options.value;
|
|
this.id = options.id;
|
|
this.status = options.status || EnvStatus.normal;
|
|
this.timestamp = new Date().toString();
|
|
this.position = options.position;
|
|
this.name = options.name;
|
|
this.remarks = options.remarks;
|
|
}
|
|
}
|
|
|
|
export enum EnvStatus {
|
|
'normal',
|
|
'disabled',
|
|
}
|
|
|
|
export const maxPosition = 9000000000000000;
|
|
export const initPosition = 4500000000000000;
|
|
export const stepPosition = 10000000000;
|
|
export const minPosition = 100;
|
|
|
|
interface EnvInstance extends Model<Env, Env>, Env {}
|
|
export const EnvModel = sequelize.define<EnvInstance>('Env', {
|
|
value: { type: DataTypes.STRING, unique: 'compositeIndex' },
|
|
timestamp: DataTypes.STRING,
|
|
status: DataTypes.NUMBER,
|
|
position: DataTypes.NUMBER,
|
|
name: { type: DataTypes.STRING, unique: 'compositeIndex' },
|
|
remarks: DataTypes.STRING,
|
|
});
|