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(); 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(); 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; }