t00-multiuser/server/repos/OverrideFieldRepo.ts
2025-04-22 09:38:59 +01:00

69 lines
No EOL
3.4 KiB
TypeScript

import Database from "../objects/Database";
import OverrideField from "../entities/OverrideField";
export default class OverrideFieldRepo {
public static async selectAll() {
const dbOverride = await Database.Instance.query("SELECT * FROM OverrideField WHERE IsDeleted = 0");
const users = new Array<OverrideField>();
for (const row of dbOverride) {
const override = new OverrideField();
populateOverrideFromDB(override, row);
users.push(override);
}
return users;
}
public static async selectById(id:number) {
const dbOverride = await Database.Instance.query("SELECT * FROM OverrideField WHERE Id = ? LIMIT 1", [id]);
if (dbOverride == null || dbOverride.length === 0) {
return null;
} else {
const override = new OverrideField();
populateOverrideFromDB(override, dbOverride[0]);
return override;
}
}
public static async selectByOverrideId(id: number) {
const dbOverride = await Database.Instance.query("SELECT * FROM OverrideField WHERE IsDeleted = 0 AND OverrideId = ?", [id]);
const users = new Array<OverrideField>();
for (const row of dbOverride) {
const override = new OverrideField();
populateOverrideFromDB(override, row);
users.push(override);
}
return users;
}
public static async insertUpdate(overrideField:OverrideField) {
if (overrideField.Id === Number.MIN_VALUE) {
overrideField.Id = (await Database.Instance.query("INSERT OverrideField (OverrideId, FieldName, FieldValue, CreatedByUserId, CreatedDatetime, LastModifiedByUserId, LastModifiedDatetime, DeletedByUserId, DeletedDatetime, IsDeleted) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING Id;", [
overrideField.OverrideId, overrideField.FieldName, overrideField.FieldValue, overrideField.CreatedByUserId, overrideField.CreatedDatetime.getTime(), overrideField.LastModifiedByUserId ?? null, overrideField.LastModifiedDatetime ?? null, overrideField.DeletedByUserId ?? null, overrideField.DeletedDatetime ?? null, Number(overrideField.IsDeleted)
]))[0]["Id"];
} else {
await Database.Instance.query(`UPDATE OverrideField SET OverrideId = ?, FieldName = ?, FieldValue = ?, CreatedByUserId = ?, CreatedDatetime = ?, LastModifiedByUserId = ?, LastModifiedDatetime = ?, DeletedByUserId = ?, DeletedDatetime = ?, IsDeleted = ? WHERE Id = ?`, [
overrideField.OverrideId, overrideField.FieldName, overrideField.FieldValue, overrideField.CreatedByUserId, overrideField.CreatedDatetime.getTime(), overrideField.LastModifiedByUserId ?? null, overrideField.LastModifiedDatetime ?? null, overrideField.DeletedByUserId ?? null, overrideField.DeletedDatetime ?? null, Number(overrideField.IsDeleted), overrideField.Id
]);
}
return overrideField;
}
}
function populateOverrideFromDB(overrideField:OverrideField, dbOverrideField:any) {
overrideField.Id = dbOverrideField.Id;
overrideField.OverrideId = dbOverrideField.OverrideId;
overrideField.FieldName = dbOverrideField.FieldName;
overrideField.FieldValue = dbOverrideField.FieldValue;
overrideField.CreatedByUserId = dbOverrideField.CreatedByUserId;
overrideField.CreatedDatetime = dbOverrideField.CreatedDatetime;
overrideField.LastModifiedByUserId = dbOverrideField.LastModifiedByUserId;
overrideField.LastModifiedDatetime = dbOverrideField.LastModifiedDatetime;
overrideField.DeletedByUserId = dbOverrideField.DeletedByUserId;
overrideField.DeletedDatetime = dbOverrideField.DeletedDatetime;
overrideField.IsDeleted = dbOverrideField.IsDeleted[0] === 1;
}