95 lines
No EOL
2.8 KiB
TypeScript
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;
|
|
}
|
|
}
|
|
} |