add config item

This commit is contained in:
2024-02-26 12:31:58 +01:00
parent 13096ce679
commit 49fb1ef397
15 changed files with 940 additions and 69 deletions

View File

@ -5,6 +5,8 @@ import https from 'https';
let configItems = [];
let configItem = {};
let errorMsg = '';
let selectedConfigItemsByClient = [];
let selectedConfigItemsByAsset = [];
export default defineEventHandler(async (event) => {
@ -108,6 +110,34 @@ export default defineEventHandler(async (event) => {
}
}
if (event.path.startsWith("/api/addConfigItem")) {
const body = await readBody(event)
// add the config item in the backend
try {
let res = await axiosInstance.post(`https://${serversideConfig.url}:${serversideConfig.port}/configItems`, body);
} catch (err) {
if (axios.isAxiosError(err)) {
const axiosError = err as AxiosError;
if (axiosError.response) {
// Axios error
console.error(axiosError.response.data.message);
errorMsg = axiosError.response.data.message;
} else if (axiosError.request) {
console.log(err)
// If error was caused by the request
console.error(axiosError.request);
} else {
// Other errors
console.error('Error', axiosError.message);
}
} else {
// No AxiosError
console.error('Error', err);
}
}
}
if (event.path.startsWith("/api/deleteConfigItem")) {
let itemId = null;
const path = event._path;
@ -139,6 +169,70 @@ export default defineEventHandler(async (event) => {
}
}
}
if (event.path.startsWith("/api/getSelectedConfigItemsByClient")) {
// get selected config items object by client from backend
let filteredClient = null;
const path = event._path;
const pathSegments = path.split('/');
filteredClient = pathSegments[pathSegments.length - 1];
try {
let res = await axiosInstance.get(`https://${serversideConfig.url}:${serversideConfig.port}/selectedConfigItemsByCustomer/${filteredClient}`);
selectedConfigItemsByClient = res.data;
} catch (err) {
if (axios.isAxiosError(err)) {
const axiosError = err as AxiosError;
if (axiosError.response) {
// Axios error
console.error(axiosError.response.data.message);
errorMsg = axiosError.response.data.message;
} else if (axiosError.request) {
// If error was caused by the request
console.error(axiosError.request);
} else {
// Other errors
console.error('Error', axiosError.message);
}
} else {
// No AxiosError
console.error('Error', err);
}
}
}
if (event.path.startsWith("/api/getSelectedConfigItemsByAsset")) {
// get selected config items object by asset from backend
let filteredAsset = null;
const path = event._path;
const pathSegments = path.split('/');
filteredAsset = pathSegments[pathSegments.length - 1];
try {
let res = await axiosInstance.get(`https://${serversideConfig.url}:${serversideConfig.port}/selectedConfigItemsByAssetName/${filteredAsset}`);
selectedConfigItemsByAsset = res.data;
} catch (err) {
if (axios.isAxiosError(err)) {
const axiosError = err as AxiosError;
if (axiosError.response) {
// Axios error
console.error(axiosError.response.data.message);
errorMsg = axiosError.response.data.message;
} else if (axiosError.request) {
// If error was caused by the request
console.error(axiosError.request);
} else {
// Other errors
console.error('Error', axiosError.message);
}
} else {
// No AxiosError
console.error('Error', err);
}
}
}
})
export { configItems, configItem, errorMsg };
export { configItems, configItem, selectedConfigItemsByClient, selectedConfigItemsByAsset, errorMsg };