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

95 lines
No EOL
2.8 KiB
TypeScript

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