change strike layout and add outlawed option
All checks were successful
delpoy / build-and-deploy (push) Successful in 1m21s

This commit is contained in:
2023-12-21 15:02:29 +01:00
parent 8a5eed787a
commit 2a9869ca7d
3 changed files with 43 additions and 74 deletions

View File

@@ -74,6 +74,9 @@ export class Report extends Model {
declare auditor: Admin;
@BelongsTo(() => StrikeReason, 'strike_reason_id')
declare strike_reason: StrikeReason;
@Column({ type: DataTypes.DATE })
declare striked_at: Date | null;
}
@Table({ modelName: 'strike_reason', underscored: true, createdAt: false, updatedAt: false })
@@ -88,22 +91,10 @@ export class StrikeReason extends Model {
export class StrikePunishment extends Model {
@Column({ type: DataTypes.INTEGER, allowNull: false })
declare weight: number;
@Column({ type: DataTypes.ENUM('ban', 'outlawed'), allowNull: false })
declare type: 'ban' | 'outlawed';
@Column({ type: DataTypes.INTEGER, allowNull: false })
declare ban_in_seconds: number;
}
@Table({ modelName: 'strike', underscored: true })
export class Strike extends Model {
@Column({ type: DataTypes.INTEGER, allowNull: false, defaultValue: 0 })
declare weight: number;
@Column({ type: DataTypes.DATE, allowNull: false, defaultValue: 0 })
declare ban_until: Date;
@Column({ type: DataTypes.INTEGER, allowNull: false })
@ForeignKey(() => User)
declare user_id: number;
@BelongsTo(() => User, 'user_id')
declare user: User;
declare punishment_in_seconds: number;
}
@Table({ modelName: 'admin', underscored: true })
@@ -157,5 +148,5 @@ export class Settings extends Model {
export const sequelize = new Sequelize(building ? 'sqlite::memory:' : env.DATABASE_URI, {
// only log sql queries in dev mode
logging: dev ? console.log : false,
models: [User, Report, StrikeReason, StrikePunishment, Strike, Admin, Settings]
models: [User, Report, StrikeReason, StrikePunishment, Admin, Settings]
});