import { Console } from "hsconsole"; import OverrideRepo from "../repos/OverrideRepo"; import Override from "../entities/Override"; import OverrideType from "../enums/OverrideType"; import OverrideFieldRepo from "../repos/OverrideFieldRepo"; import OverrideField from "../entities/OverrideField"; export default abstract class OverrideService { public static async GetOverride(id: number) { try { return await OverrideRepo.selectById(id); } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } public static async GetOverrides() { try { return await OverrideRepo.selectAll(); } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } public static async SaveOverride(currentUserId:number, id:number | undefined, overrideType: OverrideType, name: string, forUrl: string, cssQuery: string) { try { let override = id ? await OverrideRepo.selectById(id) : null; if (override === null) { override = new Override(); override.CreatedByUserId = currentUserId; override.CreatedDatetime = new Date(); } else { override.LastModifiedByUserId = currentUserId; override.LastModifiedDatetime = new Date(); } override.OverrideType = overrideType; override.Name = name; override.ForURL = forUrl; override.CSSQuery = cssQuery; override = await OverrideRepo.insertUpdate(override); return override; } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } public static async GetOverrideField(id: number) { try { return await OverrideFieldRepo.selectById(id); } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } public static async GetOverrideFields(overrideId: number) { try { return await OverrideFieldRepo.selectById(overrideId); } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } public static async SaveOverrideField(currentUserId:number, id:number | undefined, overrideId: number, fieldName: string, fieldValue: string) { try { let overrideField = id ? await OverrideFieldRepo.selectById(id) : null; if (overrideField === null) { overrideField = new OverrideField(); overrideField.CreatedByUserId = currentUserId; overrideField.CreatedDatetime = new Date(); } else { overrideField.LastModifiedByUserId = currentUserId; overrideField.LastModifiedDatetime = new Date(); } overrideField.OverrideId = overrideId; overrideField.FieldName = fieldName; overrideField.FieldValue = fieldValue; overrideField = await OverrideFieldRepo.insertUpdate(overrideField); return overrideField; } catch (e) { Console.printError(`MultiProbe server service error:\n${e}`); throw e; } } }