diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index a88782f..35f10a3 100644 Binary files a/.yarn/install-state.gz and b/.yarn/install-state.gz differ diff --git a/dist/equipment/interfaces/equipment.d.ts b/dist/equipment/interfaces/equipment.d.ts index bf0cc9c..ae11c59 100644 --- a/dist/equipment/interfaces/equipment.d.ts +++ b/dist/equipment/interfaces/equipment.d.ts @@ -8,6 +8,9 @@ export declare enum EquipmentGrade { "Accessory" = 2, "Storage" = 3 } +export declare enum DashboardComponent { + "ProcessNextStepInEquipment" = "ProcessNextStepInEquipment" +} export interface Equipment { id: number; name: string; @@ -26,6 +29,7 @@ export interface Equipment { main_tool_module_id: number | null; main_tool_latest_status?: EquipmentModuleStatus; is_available_for_rental: boolean; + dashboard_components: DashboardComponent[]; properties?: EquipmentProperty[]; room: Room; types: string[]; diff --git a/dist/index.cjs b/dist/index.cjs index 9847dc1..ed7eb0b 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -1,2 +1,2 @@ -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("axios");function M(t){let e={...t};return e.facet=Object.fromEntries(Object.entries(t.facet).filter(([n,s])=>s.values.length>0)),t.filter.general.length<=0&&(e.filter={}),e}async function U({service:t,environment:e,formResult:n}){const s=new URLSearchParams;if(t!==void 0&&s.append("service",t),e!==void 0&&s.append("environment",e),n!==void 0){let c=JSON.stringify(M(n));s.append("formResult",btoa(c))}let a="view/filter?"+s.toString();const r=await o.get(a),{data:i}=r;return{filter:i._embedded.items[0],facet:i._embedded.items[1]}}async function b(){const t=await o.get("me"),{data:e}=t;return e}async function y({query:t,selection:e}){const n=new URLSearchParams;t&&n.append("query",t),e&&n.append("selection",e.toString());let s="list/user?"+n.toString();const a=await o.get(s),{data:r}=a;return{items:r._embedded.items,amountOfPages:r.page_count,currentPage:r.page,totalItems:r.total_items,hasMore:r.page{const s=new FileReader;s.onload=()=>{const a=s.result;e(a)},s.onerror=n,s.readAsDataURL(t)})}const C=(t,e)=>{o.defaults.headers.common.Authorization="Bearer "+t,o.defaults.headers.common.Accept="application/json",o.defaults.headers.common["Content-Type"]="application/json",o.defaults.baseURL=e};async function E({id:t}){const e=await o.get("view/chemical/container/"+t),{data:n}=e;return n}async function D({qrCodeContent:t}){const e=new URLSearchParams;e.append("qr_code_content",t);let n="list/chemical/container/external-label?"+e.toString();const s=await o.get(n),{data:a}=s;return{items:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items,hasMore:a.pages.values.length>0)),t.filter.general.length<=0&&(e.filter={}),e}async function x({environment:t,run:e,room:n,statusMail:s,page:a=1,pageSize:r=25,query:i,filter:c,order:p,direction:d}){const g=new URLSearchParams;t!==void 0&&g.append("environment",t),e!==void 0&&g.append("run",e.id.toString()),n!==void 0&&g.append("room",n.id.toString()),i!==void 0&&g.append("query",i),p!==void 0&&g.append("order",p),d!==void 0&&g.append("direction",d),s!==void 0&&(g.append("status_mail",s.id.toString()),g.append("page_size","200")),c!==void 0&&(c=j(c),g.append("filter",btoa(JSON.stringify(c)))),g.append("page",a.toString()),g.append("page_size",r.toString());let O="list/equipment?"+g.toString();const L=await o.get(O),{data:m}=L;return{items:m._embedded.items,amountOfPages:m.page_count,currentPage:m.page,totalItems:m.total_items,hasMore:m.page(t[t.START_PROCESSING=1]="START_PROCESSING",t[t.FINISH_PROCESSING=2]="FINISH_PROCESSING",t[t.FAILED_PROCESSING=3]="FAILED_PROCESSING",t[t.REWORK=4]="REWORK",t))(u||{});function Pt(t){if(t.part_processing_failed_in_previous_step)return[];const e=t.latest_action?.type.id,n=[];return t.actions===0&&n.push(u.START_PROCESSING),t.actions>0&&e!==u.FINISH_PROCESSING&&e!==u.FAILED_PROCESSING&&n.push(u.FINISH_PROCESSING,u.FAILED_PROCESSING),t.actions>0&&n.push(u.REWORK),n}async function ht({measurement:t}){const e=new URLSearchParams;e.append("measurement",String(t.id));let n="/list/run/measurement/result?"+e.toString();const s=await o.get(n),{data:a}=s;return{items:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items,hasMore:a.pager.id).forEach(r=>{e.append("rework_recipe_id[]",r.toString())});let n="list/template?"+e.toString();const s=await o.get(n),{data:a}=s;return{templates:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items}}var l=(t=>(t[t.STANDARD_PRODUCT=1]="STANDARD_PRODUCT",t[t.NON_STANDARD_PRODUCT=2]="NON_STANDARD_PRODUCT",t))(l||{}),S=(t=>(t[t.SOLID=1]="SOLID",t[t.LIQUID=2]="LIQUID",t[t.GAS=3]="GAS",t[t.OTHER=4]="OTHER",t))(S||{}),_=(t=>(t[t.Equipment=1]="Equipment",t[t.Accessory=2]="Accessory",t[t.Storage=3]="Storage",t))(_||{}),f=(t=>(t[t.DEFAULT=1]="DEFAULT",t[t.PRIORITY=2]="PRIORITY",t[t.ESCALATION=3]="ESCALATION",t))(f||{}),P=(t=>(t[t.ACTIVE=1]="ACTIVE",t[t.CLOSED=2]="CLOSED",t))(P||{}),h=(t=>(t[t.HIDE_ISSUES=1]="HIDE_ISSUES",t[t.SHOW_ISSUES=2]="SHOW_ISSUES",t[t.COLLAPSE_ISSUES=3]="COLLAPSE_ISSUES",t))(h||{}),R=(t=>(t[t.NAME=1]="NAME",t[t.MES_NAME=2]="MES_NAME",t[t.NUMBER=3]="NUMBER",t))(R||{}),w=(t=>(t[t.AREA=1]="AREA",t[t.AREA_PER_FACILITY=2]="AREA_PER_FACILITY",t[t.ROOM=3]="ROOM",t))(w||{}),v=(t=>(t.ASC="ASC",t.DESC="DESC",t))(v||{}),I=(t=>(t[t.RESEARCH=1]="RESEARCH",t[t.PRODUCTION=2]="PRODUCTION",t))(I||{});exports.ChemicalPhysicalStateEnum=S;exports.ChemicalStandardProductEnum=l;exports.ClassificationsOptionEnum=w;exports.DirectionOptionEnum=v;exports.EquipmentGrade=_;exports.EquipmentModuleIssueStatus=P;exports.EquipmentModuleIssueType=f;exports.OrderOptionEnum=R;exports.RunStepPartActionEnum=u;exports.RunTypeEnum=I;exports.ShowIssuesOptionEnum=h;exports.configureAxiosHeaders=C;exports.fileToBase64=A;exports.finishStep=vt;exports.getAvailableRunStepPartActions=Pt;exports.getChemicalContainer=E;exports.getEquipment=H;exports.getEquipmentModule=V;exports.getFilter=U;exports.getLocation=Z;exports.getMe=b;exports.getMonitor=nt;exports.getRoom=tt;exports.getRun=dt;exports.getRunStep=ut;exports.getServiceEventReport=yt;exports.getSetup=z;exports.getStatusMail=G;exports.getTemplateSteps=Et;exports.listChemicalContainerExternalLabels=D;exports.listChemicalContainerMethodsOfUse=N;exports.listChemicalContainerPurposes=T;exports.listChemicalContainerTypes=q;exports.listChemicals=F;exports.listEcn=k;exports.listEcnAttachments=W;exports.listEquipment=x;exports.listEquipmentModuleParameters=K;exports.listEquipmentStatus=B;exports.listIssueAttachments=Y;exports.listIssues=J;exports.listLocationMessages=X;exports.listLocations=et;exports.listMeasurementResults=ht;exports.listModules=Q;exports.listMonitorRequirementResultMonitorStepParameterValues=ot;exports.listMonitorRequirementResults=it;exports.listMonitorRequirementTargets=ct;exports.listMonitorRequirements=st;exports.listMonitorStepFiles=pt;exports.listMonitorStepParameters=gt;exports.listMonitors=rt;exports.listReportResult=bt;exports.listRequirements=mt;exports.listReservations=$;exports.listRooms=at;exports.listRunChangelog=lt;exports.listRunParts=St;exports.listRunStepChecklistItems=Rt;exports.listRunStepFiles=It;exports.listRunStepParameters=Ot;exports.listRunStepPartActions=Mt;exports.listRunStepParts=Lt;exports.listRunSteps=_t;exports.listRuns=ft;exports.listServiceEventReportResult=At;exports.listServices=Ct;exports.listTemplates=Dt;exports.listUsers=y;exports.setRunStepPartAction=Ut;exports.startStep=wt; +"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("axios");function b(t){let e={...t};return e.facet=Object.fromEntries(Object.entries(t.facet).filter(([n,s])=>s.values.length>0)),t.filter.general.length<=0&&(e.filter={}),e}async function C({service:t,environment:e,formResult:n}){const s=new URLSearchParams;if(t!==void 0&&s.append("service",t),e!==void 0&&s.append("environment",e),n!==void 0){let c=JSON.stringify(b(n));s.append("formResult",btoa(c))}let a="view/filter?"+s.toString();const r=await o.get(a),{data:i}=r;return{filter:i._embedded.items[0],facet:i._embedded.items[1]}}async function E(){const t=await o.get("me"),{data:e}=t;return e}async function N({query:t,selection:e}){const n=new URLSearchParams;t&&n.append("query",t),e&&n.append("selection",e.toString());let s="list/user?"+n.toString();const a=await o.get(s),{data:r}=a;return{items:r._embedded.items,amountOfPages:r.page_count,currentPage:r.page,totalItems:r.total_items,hasMore:r.page{const s=new FileReader;s.onload=()=>{const a=s.result;e(a)},s.onerror=n,s.readAsDataURL(t)})}const T=(t,e)=>{o.defaults.headers.common.Authorization="Bearer "+t,o.defaults.headers.common.Accept="application/json",o.defaults.headers.common["Content-Type"]="application/json",o.defaults.baseURL=e};async function q({id:t}){const e=await o.get("view/chemical/container/"+t),{data:n}=e;return n}async function F({qrCodeContent:t}){const e=new URLSearchParams;e.append("qr_code_content",t);let n="list/chemical/container/external-label?"+e.toString();const s=await o.get(n),{data:a}=s;return{items:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items,hasMore:a.pages.values.length>0)),t.filter.general.length<=0&&(e.filter={}),e}async function Y({environment:t,run:e,room:n,statusMail:s,page:a=1,pageSize:r=25,query:i,filter:c,order:p,direction:u}){const g=new URLSearchParams;t!==void 0&&g.append("environment",t),e!==void 0&&g.append("run",e.id.toString()),n!==void 0&&g.append("room",n.id.toString()),i!==void 0&&g.append("query",i),p!==void 0&&g.append("order",p),u!==void 0&&g.append("direction",u),s!==void 0&&(g.append("status_mail",s.id.toString()),g.append("page_size","200")),c!==void 0&&(c=V(c),g.append("filter",btoa(JSON.stringify(c)))),g.append("page",a.toString()),g.append("page_size",r.toString());let U="list/equipment?"+g.toString();const y=await o.get(U),{data:m}=y;return{items:m._embedded.items,amountOfPages:m.page_count,currentPage:m.page,totalItems:m.total_items,hasMore:m.page(t[t.START_PROCESSING=1]="START_PROCESSING",t[t.FINISH_PROCESSING=2]="FINISH_PROCESSING",t[t.FAILED_PROCESSING=3]="FAILED_PROCESSING",t[t.REWORK=4]="REWORK",t))(d||{});function vt(t){if(t.part_processing_failed_in_previous_step)return[];const e=t.latest_action?.type.id,n=[];return t.actions===0&&n.push(d.START_PROCESSING),t.actions>0&&e!==d.FINISH_PROCESSING&&e!==d.FAILED_PROCESSING&&n.push(d.FINISH_PROCESSING,d.FAILED_PROCESSING),t.actions>0&&n.push(d.REWORK),n}async function It({measurement:t}){const e=new URLSearchParams;e.append("measurement",String(t.id));let n="/list/run/measurement/result?"+e.toString();const s=await o.get(n),{data:a}=s;return{items:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items,hasMore:a.page!0).catch(()=>!1)}async function Ct({id:t}){const e=new URLSearchParams;t!==void 0&&e.append("report",t.toString());let n="list/service/event/report/results?"+e.toString();const s=await o.get(n),{data:a}=s;return a._embedded.items}async function Et({id:t}){let e=await o.get("view/service/event/report/"+t);const{data:n}=e;return n}async function Nt({id:t}){const e=new URLSearchParams;e.append("report",t.toString());let n="list/service/event/report/results?"+e.toString();const s=await o.get(n),{data:a}=s;return a._embedded.items}async function Dt({equipmentId:t}){const e=new URLSearchParams;t!==void 0&&e.append("equipment",t.toString());let n="list/service?"+e.toString();const s=await o.get(n),{data:a}=s;return{items:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items,hasMore:a.pager.id).forEach(r=>{e.append("rework_recipe_id[]",r.toString())});let n="list/template?"+e.toString();const s=await o.get(n),{data:a}=s;return{templates:a._embedded.items,amountOfPages:a.page_count,currentPage:a.page,totalItems:a.total_items}}var _=(t=>(t[t.STANDARD_PRODUCT=1]="STANDARD_PRODUCT",t[t.NON_STANDARD_PRODUCT=2]="NON_STANDARD_PRODUCT",t))(_||{}),P=(t=>(t[t.SOLID=1]="SOLID",t[t.LIQUID=2]="LIQUID",t[t.GAS=3]="GAS",t[t.OTHER=4]="OTHER",t))(P||{}),h=(t=>(t[t.Equipment=1]="Equipment",t[t.Accessory=2]="Accessory",t[t.Storage=3]="Storage",t))(h||{}),R=(t=>(t.ProcessNextStepInEquipment="ProcessNextStepInEquipment",t))(R||{}),w=(t=>(t[t.DEFAULT=1]="DEFAULT",t[t.PRIORITY=2]="PRIORITY",t[t.ESCALATION=3]="ESCALATION",t))(w||{}),v=(t=>(t[t.ACTIVE=1]="ACTIVE",t[t.CLOSED=2]="CLOSED",t))(v||{}),I=(t=>(t[t.HIDE_ISSUES=1]="HIDE_ISSUES",t[t.SHOW_ISSUES=2]="SHOW_ISSUES",t[t.COLLAPSE_ISSUES=3]="COLLAPSE_ISSUES",t))(I||{}),O=(t=>(t[t.NAME=1]="NAME",t[t.MES_NAME=2]="MES_NAME",t[t.NUMBER=3]="NUMBER",t))(O||{}),L=(t=>(t[t.AREA=1]="AREA",t[t.AREA_PER_FACILITY=2]="AREA_PER_FACILITY",t[t.ROOM=3]="ROOM",t))(L||{}),M=(t=>(t.ASC="ASC",t.DESC="DESC",t))(M||{}),A=(t=>(t[t.RESEARCH=1]="RESEARCH",t[t.PRODUCTION=2]="PRODUCTION",t))(A||{});exports.ChemicalPhysicalStateEnum=P;exports.ChemicalStandardProductEnum=_;exports.ClassificationsOptionEnum=L;exports.DashboardComponent=R;exports.DirectionOptionEnum=M;exports.EquipmentGrade=h;exports.EquipmentModuleIssueStatus=v;exports.EquipmentModuleIssueType=w;exports.OrderOptionEnum=O;exports.RunStepPartActionEnum=d;exports.RunTypeEnum=A;exports.ShowIssuesOptionEnum=I;exports.configureAxiosHeaders=T;exports.fileToBase64=D;exports.finishStep=f;exports.finishStepWhenAllPartsAreFinished=bt;exports.getAvailableRunStepPartActions=vt;exports.getChemicalContainer=q;exports.getEquipment=j;exports.getEquipmentModule=J;exports.getFilter=C;exports.getLocation=nt;exports.getMe=E;exports.getMonitor=ot;exports.getRoom=st;exports.getRun=ft;exports.getRunStep=St;exports.getServiceEventReport=Et;exports.getSetup=W;exports.getStatusMail=B;exports.getTemplateSteps=Tt;exports.listChemicalContainerExternalLabels=F;exports.listChemicalContainerMethodsOfUse=H;exports.listChemicalContainerPurposes=z;exports.listChemicalContainerTypes=G;exports.listChemicals=x;exports.listEcn=$;exports.listEcnAttachments=K;exports.listEquipment=Y;exports.listEquipmentModuleParameters=X;exports.listEquipmentStatus=k;exports.listIssueAttachments=Q;exports.listIssues=Z;exports.listLocationMessages=at;exports.listLocations=rt;exports.listMeasurementResults=It;exports.listModules=tt;exports.listMonitorRequirementResultMonitorStepParameterValues=ut;exports.listMonitorRequirementResults=gt;exports.listMonitorRequirementTargets=dt;exports.listMonitorRequirements=ct;exports.listMonitorStepFiles=mt;exports.listMonitorStepParameters=lt;exports.listMonitors=pt;exports.listReportResult=Ct;exports.listRequirements=_t;exports.listReservations=et;exports.listRooms=it;exports.listRunChangelog=Pt;exports.listRunParts=ht;exports.listRunStepChecklistItems=Ot;exports.listRunStepFiles=Lt;exports.listRunStepParameters=Mt;exports.listRunStepPartActions=Ut;exports.listRunStepParts=At;exports.listRunSteps=Rt;exports.listRuns=wt;exports.listServiceEventReportResult=Nt;exports.listServices=Dt;exports.listTemplates=qt;exports.listUsers=N;exports.performRunStepPartAction=yt;exports.setRunStepPartAction=S;exports.startStep=l; //# sourceMappingURL=index.cjs.map diff --git a/dist/index.cjs.map b/dist/index.cjs.map index f44ca0c..f1c1e6f 100644 --- a/dist/index.cjs.map +++ b/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs","sources":["../src/core/api/getFilter.ts","../src/core/api/getMe.ts","../src/core/api/listUsers.ts","../src/core/functions/fileToBase64.ts","../src/core/functions/configureAxiosHeaders.ts","../src/chemical/api/getChemicalContainer.ts","../src/chemical/api/listChemicalContainerExternalLabels.ts","../src/chemical/api/listChemicalContainerMethodsOfUse.ts","../src/chemical/api/listChemicalContainerPurposes.ts","../src/chemical/api/listChemicalContainerTypes.ts","../src/chemical/api/listChemicals.ts","../src/equipment/api/getEquipment.ts","../src/equipment/api/getSetup.ts","../src/equipment/api/getStatusMail.ts","../src/equipment/api/listEquipment.ts","../src/equipment/api/listEquipmentStatus.ts","../src/equipment/api/module/ecn/listEcnAttachments.ts","../src/equipment/api/module/getEquipmentModule.ts","../src/equipment/api/module/issue/listIssueAttachments.ts","../src/equipment/api/module/listEcn.ts","../src/equipment/api/module/listEquipmentModuleParameters.ts","../src/equipment/api/module/listIssues.ts","../src/equipment/api/module/listModules.ts","../src/equipment/api/module/listReservations.ts","../src/location/api/listLocationMessages.ts","../src/room/api/getLocation.ts","../src/room/api/getRoom.ts","../src/room/api/listLocations.ts","../src/room/api/listRooms.ts","../src/monitor/api/getMonitor.ts","../src/monitor/api/listMonitorRequirements.ts","../src/monitor/api/listMonitors.ts","../src/monitor/api/measurement/listMonitorRequirementResults.ts","../src/monitor/api/measurement/result/listMonitorRequirementResultMonitorStepParameterValues.ts","../src/monitor/api/requirement/listMonitorRequirementTargets.ts","../src/monitor/api/step/listMonitorStepFiles.ts","../src/monitor/api/step/listMonitorStepParameters.ts","../src/run/api/getRun.ts","../src/run/api/getRunStep.ts","../src/run/api/listRequirements.ts","../src/run/api/listRunChangelog.ts","../src/run/api/listRunParts.ts","../src/run/api/listRunSteps.ts","../src/run/api/listRuns.ts","../src/run/enum/runStepPartActionEnum.ts","../src/run/api/getRunStepPartActions.ts","../src/run/api/measurement/listResults.ts","../src/run/api/step/listRunStepChecklistItems.ts","../src/run/api/step/startStep.ts","../src/run/api/step/finishStep.ts","../src/run/api/step/listRunStepFiles.ts","../src/run/api/step/listRunStepParameters.ts","../src/run/api/step/listRunStepParts.ts","../src/run/api/step/part/listRunStepPartActions.ts","../src/run/api/step/part/setRunStepPartAction.ts","../src/service/api/getReportResult.ts","../src/service/api/getServiceEventReport.ts","../src/service/api/listServiceEventReportResult.ts","../src/service/api/listServices.ts","../src/template/api/getTemplateSteps.ts","../src/template/api/listTemplates.ts","../src/chemical/interfaces/chemical.ts","../src/equipment/interfaces/equipment.ts","../src/equipment/interfaces/equipment/module/equipmentModuleIssue.ts","../src/equipment/interfaces/statusMail.ts","../src/run/interfaces/run.ts"],"sourcesContent":["import axios from \"axios\";\nimport { FilterData, FilterFormData } from \"../interfaces/filter\";\nimport { ApiResponse } from \"../interfaces/response\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function getFilter({\n service,\n environment,\n formResult,\n}: {\n service: string;\n environment?: string;\n formResult?: FilterData;\n}): Promise {\n const searchParams = new URLSearchParams();\n\n if (service !== undefined) {\n searchParams.append(\"service\", service);\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (formResult !== undefined) {\n let formData = JSON.stringify(cleanFilterData(formResult));\n searchParams.append(\"formResult\", btoa(formData));\n }\n\n let url = \"view/filter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n filter: data._embedded.items[0],\n facet: data._embedded.items[1],\n };\n}\n","import axios from \"axios\";\nimport {User} from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport default async function getMe() {\n const response = await axios.get(\"me\");\n const {data} = response;\n return data;\n}\n","import axios from \"axios\";\nimport { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listUsers({ query, selection}: { query?: string; selection?: number;}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n if (selection) {\n searchParams.append(\"selection\", selection.toString());\n }\n\n let url = \"list/user?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n};\n","export default function fileToBase64(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const result = reader.result as string;\n resolve(result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n","import axios from \"axios\";\n\nexport const configureAxiosHeaders = (token: string, server_uri: string) => {\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\n axios.defaults.headers.common[\"Accept\"] = \"application/json\";\n axios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n\n axios.defaults.baseURL = server_uri;\n};\n","import axios from \"axios\";\nimport { ChemicalContainer } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/chemicalContainer\";\n\nexport default async function getChemicalContainer({ id }: { id: number }) {\n const response = await axios.get(\"view/chemical/container/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerExternalLabel } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerExternalLabel\";\n\nexport default async function listChemicalContainerExternalLabels({\n qrCodeContent,\n}: {\n qrCodeContent: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"qr_code_content\", qrCodeContent);\n\n let url = \"list/chemical/container/external-label?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerMethodOfUse } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerMethodOfUse\";\n\nexport default async function listChemicalContainerMethodsOfUse({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n let url = \"list/chemical/container/method-of-use?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerPurpose } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerPurpose\";\n\nexport default async function listChemicalContainerPurposes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/purpose?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerType } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerType\";\n\nexport default async function listChemicalContainerTypes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/type?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\n// migrated from react-router-dom createSearchParams to URLSearchParams\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Chemical } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical\";\n\nexport default async function listChemicals({ query }: { query?: string }): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function getEquipment({ id }: { id: number }) {\n const response = await axios.get(\"view/equipment/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Setup } from \"../interfaces/setup\";\n\nexport default async function getSetup({ id }: { id: number }) {\n const response = await axios.get(\"view/setup/\" + id);\n const { data } = response;\n\n return data;\n}\n","import axios from \"axios\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function getStatusMail({ id }: { id: number }) {\n const response = await axios.get(\"view/status-mail/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport { FilterData } from \"@jield/solodb-typescript-core/core/interfaces/filter\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function listEquipment({\n environment,\n run,\n room,\n statusMail,\n page = 1,\n pageSize = 25,\n query,\n filter,\n order,\n direction\n}: {\n environment?: string;\n run?: Run;\n room?: Room;\n statusMail?: StatusMail;\n page?: number;\n pageSize?: number;\n query?: string;\n filter?: FilterData;\n order?: string;\n direction?: \"desc\" | \"asc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n if (room !== undefined) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n if (query !== undefined) {\n searchParams.append(\"query\", query);\n }\n\n if (order !== undefined) {\n searchParams.append(\"order\", order);\n }\n\n if (direction !== undefined) {\n searchParams.append(\"direction\", direction);\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n\n // Use a reasonable page size for infinite scrolling\n searchParams.append(\"page_size\", \"200\");\n }\n\n if (filter !== undefined) {\n filter = cleanFilterData(filter);\n searchParams.append(\"filter\", btoa(JSON.stringify(filter)));\n }\n\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/equipment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentStatus } from \"@jield/solodb-typescript-core/equipment/interfaces/equipmentStatus\";\n\nexport default async function listEquipmentStatus(): Promise> {\n const searchParams = new URLSearchParams();\n let url = \"list/equipment/status?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleEcnAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/ecn/equipmentModuleEcnAttachment\";\n\nexport default async function listEcnAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function getEquipmentModule({ id }: { id: number }) {\n if (isNaN(id)) {\n return null;\n }\n\n const response = await axios.get(\"view/equipment/module/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssueAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/issue/equipmentModuleIssueAttachment\";\n\nexport default async function listIssueAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleEcn } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleEcn\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function listEcn({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentModuleParameter } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleParameter\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listEquipmentModuleParameters({\n module,\n pageSize,\n order,\n direction,\n}: {\n module?: EquipmentModule;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/equipment/module/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssue } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleIssue\";\n\nexport default async function listIssues({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listModules({\n equipment,\n statusMail,\n run,\n}: {\n equipment?: Equipment;\n statusMail?: StatusMail;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n let url = \"list/equipment/module?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleReservation } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleReservation\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listReservations({\n equipment,\n module,\n which,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n which?: \"active\" | \"past\" | \"upcoming\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (which !== undefined) {\n searchParams.append(\"which\", which);\n }\n\n let url = \"list/equipment/reservation?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n if (which == \"active\") {\n for (let i = 0; i < data._embedded.items.length; i++) {\n data._embedded.items[i].active = true;\n }\n }\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { LocationMessage } from \"@jield/solodb-typescript-core/location/interfaces/locationMessage\";\n\nexport default async function listLocationMessages({\n statusMail,\n}: {\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/location/message?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\n\nexport default async function getLocation({ id }: { id: number }) {\n const response = await axios.get(\"view/location/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function getRoom({ id }: { id: number }) {\n const response = await axios.get(\"view/room/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listLocations({\n environment,\n room,\n pageSize = 25,\n}: {\n environment?: string;\n room?: Room;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (room) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/location?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listRooms({\n environment,\n withLocations,\n}: {\n environment?: string;\n withLocations?: boolean;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (withLocations) {\n searchParams.append(\"which\", \"with_locations\");\n }\n\n let url = \"list/room?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\n\nexport default async function getMonitor({ id }: { id: number }) {\n let response = await axios.get(\"view/monitor/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirements({\n equipmentId,\n monitorId,\n}: {\n equipmentId?: number;\n monitorId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n if (monitorId) {\n searchParams.append(\"monitor\", monitorId.toString());\n }\n\n let url = \"list/monitor/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function listMonitors({\n equipment,\n}: {\n equipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n searchParams.append(\"ad_hoc\", \"true\");\n\n let url = \"list/monitor?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementResults({\n requirement,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n monitor?: Monitor;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorResultStepParameterValue } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/result/monitorResultStepParameterValue\";\n\nexport default async function listMonitorRequirementResultMonitorStepParameterValues({\n requirement,\n result,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n result?: MonitorMeasurementResult;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (result) {\n searchParams.append(\"result\", result.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result/step-parameter-value?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { MonitorRequirementTarget } from \"@jield/solodb-typescript-core/monitor/interfaces/requirement/monitorRequirementTarget\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementTargets({\n requirement,\n}: {\n requirement?: MonitorRequirement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n let url = \"list/monitor/requirement/target?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorStepFiles({\n step,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n pageSize?: number;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/file?\" + searchParams.toString();\n const response = await axios.get>(url);\n\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorStepParameter } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor/step/parameter\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\n\nexport default async function listMonitorStepParameters({\n step,\n requirement,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n requirement?: MonitorRequirement;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (requirement !== undefined) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function getRun({ id }: { id: number }) {\n let url = \"view/run/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport default async function getRunStep({ id }: { id: number }) {\n let url = \"view/run/step/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { Requirement } from \"@jield/solodb-typescript-core/run/interfaces/requirement\";\n\nexport default async function listRequirements({\n step,\n run,\n}: {\n step?: RunStep;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", String(step.id));\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", String(run.id));\n }\n\n let url = \"list/run/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Changelog } from \"@jield/solodb-typescript-core/run/interfaces/run/changelog\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunChangelog({\n run,\n page,\n}: {\n run: Run;\n page: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n\n let url = \"list/run/changelog?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunPart } from \"@jield/solodb-typescript-core/run/interfaces/run/runPart\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunParts({ run }: { run: Run }): Promise> {\n const searchParams = new URLSearchParams();\n searchParams.append(\"run\", run.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n\n let url = \"list/run/parts?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunSteps({\n run,\n page = 1,\n pageSize = 25,\n}: {\n run: Run;\n page?: number;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n let url = \"list/run/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRuns({\n environment,\n firstUnfinishedStepEquipment,\n}: {\n environment?: string;\n firstUnfinishedStepEquipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (firstUnfinishedStepEquipment !== undefined) {\n searchParams.append(\"operator\", \"1\");\n searchParams.append(\"first_unfinished_step_equipment_id\", firstUnfinishedStepEquipment.id.toString());\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n let url = \"list/run?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","export enum RunStepPartActionEnum {\n START_PROCESSING = 1,\n FINISH_PROCESSING = 2,\n FAILED_PROCESSING = 3,\n REWORK = 4,\n}\n","import { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\nexport default function getAvailableRunStepPartActions(runStepPart: RunStepPart): RunStepPartActionEnum[] {\n // if it already failed in a previous step, nothing can be done\n if (runStepPart.part_processing_failed_in_previous_step) {\n return [];\n }\n\n const latestActionId = runStepPart.latest_action?.type.id;\n const actions: RunStepPartActionEnum[] = [];\n\n // your current conditions, just centralized:\n if (runStepPart.actions === 0) {\n actions.push(RunStepPartActionEnum.START_PROCESSING);\n }\n\n if (\n runStepPart.actions > 0 &&\n latestActionId !== RunStepPartActionEnum.FINISH_PROCESSING &&\n latestActionId !== RunStepPartActionEnum.FAILED_PROCESSING\n ) {\n actions.push(RunStepPartActionEnum.FINISH_PROCESSING, RunStepPartActionEnum.FAILED_PROCESSING);\n }\n\n if (runStepPart.actions > 0) {\n actions.push(RunStepPartActionEnum.REWORK);\n }\n\n return actions;\n};\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Measurement } from \"@jield/solodb-typescript-core/run/interfaces/measurement\";\nimport { MeasurementResult } from \"@jield/solodb-typescript-core/run/interfaces/measurement/result\";\n\nexport default async function listMeasurementResults({\n measurement,\n}: {\n measurement: Measurement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"measurement\", String(measurement.id));\n\n let url = \"/list/run/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepChecklistItem } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepChecklistItem\";\n\nexport default async function listRunStepChecklistItems({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/checklist?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\nexport default async function startStep(runStep: RunStep): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to start step\"); \n }\n\n const resp = await axios.create().patch(\"update/run/step/start/\" + runStep.id, {});\n \n return resp;\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\nexport default async function finishStep(runStep: RunStep): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to finish step\"); \n }\n\n const resp = await axios.create().patch(\"update/run/step/finish/\" + runStep.id, {});\n \n return resp;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunStepFiles({\n step,\n pageSize,\n}: {\n step?: RunStep;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n //We want the file to be ordered by date_created DESC\n searchParams.append(\"order\", \"date-created\");\n searchParams.append(\"direction\", \"DESC\");\n\n let url = \"list/run/step/file?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepParameter } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepParameter\";\n\nexport default async function listRunStepParameters({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunStepParts({\n step,\n run,\n page_size,\n}: {\n step?: RunStep;\n run?: Run;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n } else {\n searchParams.append(\"page_size\", \"10000\");\n }\n\n let url = \"list/run/step/part?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\n\nexport default async function listRunStepPartActions({\n part,\n step,\n page_size,\n}: {\n part?: RunStepPart;\n step?: RunStep;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (part !== undefined) {\n searchParams.append(\"part\", part.id.toString());\n }\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n }\n\n let url = \"list/run/step/part/action?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStepPartActionEnum } from \"@jield/solodb-typescript-core/run/enum/runStepPartActionEnum\";\n\nexport default async function setRunStepPartAction({\n runStepPart,\n runStepPartAction,\n}: {\n runStepPart: RunStepPart;\n runStepPartAction: RunStepPartActionEnum;\n}): Promise {\n let url = \"create/run/step/part/action\";\n\n const response = await axios.post(url, {\n run_step_part_id: runStepPart.id,\n type: runStepPartAction,\n });\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n if (id !== undefined) {\n searchParams.append(\"report\", id.toString());\n }\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ServiceEventReport } from \"@jield/solodb-typescript-core/service/interfaces/service/event/serviceEventReport\";\n\nexport default async function getServiceEventReport({ id }: { id: number }) {\n let response = await axios.get(\"view/service/event/report/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listServiceEventReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"report\", id.toString());\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Service } from \"@jield/solodb-typescript-core/service/interfaces/service\";\n\nexport default async function listServices({\n equipmentId,\n}: {\n equipmentId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n let url = \"list/service?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { TemplateStep } from \"@jield/solodb-typescript-core/template/interfaces/templateStep\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function getTemplateSteps({ template, pageSize }: { template?: Template; pageSize?: number }) {\n const searchParams = new URLSearchParams();\n\n if (template !== undefined) {\n searchParams.append(\"template\", template.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n let url = \"list/template/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n steps: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import axios from \"axios\";\nimport { Recipe } from \"@jield/solodb-typescript-core/process/interfaces/module/recipe\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listTemplates({ reworkRecipes }: { reworkRecipes?: Recipe[] }) {\n const searchParams = new URLSearchParams();\n\n if (reworkRecipes !== undefined) {\n //Add the rework recipe ids to the search params, in array notation\n reworkRecipes\n .map((recipe) => recipe.id)\n .forEach((id) => {\n searchParams.append(\"rework_recipe_id[]\", id.toString());\n });\n }\n\n let url = \"list/template?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n templates: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import { MainChemical } from \"@jield/solodb-typescript-core/chemical/interfaces/mainChemical\";\nimport { SafetyStatement } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyStatement\";\nimport { SafetyIcon } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyIcon\";\n\nexport enum ChemicalStandardProductEnum {\n STANDARD_PRODUCT = 1,\n NON_STANDARD_PRODUCT = 2,\n}\n\nexport enum ChemicalPhysicalStateEnum {\n SOLID = 1,\n LIQUID = 2,\n GAS = 3,\n OTHER = 4,\n}\n\nexport interface Chemical {\n id: number;\n name: string;\n cas_number: string | null;\n chemical_formula: string | null;\n ehs_link: string | null;\n cmr: string[];\n description: string | null;\n is_standard_product: boolean;\n standard_product: ChemicalStandardProductEnum;\n physical_state: ChemicalPhysicalStateEnum;\n is_halogenated: boolean;\n contains_metals: boolean;\n main_chemical: MainChemical | null;\n safety_statement: SafetyStatement[];\n safety_icons: SafetyIcon[];\n}\n","import {Room} from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport {\n EquipmentModuleStatus\n} from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleStatus\";\nimport {EquipmentProperty} from \"./equipment/equipmentProperty\";\nimport {\n Setup,\n SetupWithoutMainEquipmentAndSetupEquipment\n} from \"@jield/solodb-typescript-core/equipment/interfaces/setup\";\nimport {Area} from \"@jield/solodb-typescript-core/location/interfaces/area\";\n\nexport enum EquipmentGrade {\n \"Equipment\" = 1,\n \"Accessory\" = 2,\n \"Storage\" = 3,\n}\n\n\nexport interface Equipment {\n id: number;\n name: string;\n number: string;\n mes_name: string;\n active: boolean;\n active_in_mes: boolean;\n reservation_possible: boolean;\n is_main_in_setup: boolean;\n setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n has_setup_equipment: boolean;\n is_in_fixed_setup: boolean;\n fixed_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n is_in_active_setup: boolean;\n active_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n main_tool_module_id: number | null;\n main_tool_latest_status?: EquipmentModuleStatus;\n is_available_for_rental: boolean;\n properties?: EquipmentProperty[];\n room: Room;\n types: string[];\n grade: EquipmentGrade;\n area: Area | null;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum EquipmentModuleIssueType {\n DEFAULT = 1,\n PRIORITY = 2,\n ESCALATION = 3,\n}\n\nexport enum EquipmentModuleIssueStatus {\n ACTIVE = 1,\n CLOSED = 2,\n}\n\nexport interface EquipmentModuleIssue {\n id: number;\n module_id: number;\n date_created: string;\n date_closed?: string;\n last_update?: string;\n issue: string;\n description: string;\n issue_type: EquipmentModuleIssueType;\n status: EquipmentModuleIssueStatus;\n owner: User;\n updated_by?: User;\n forecast_up: string;\n actions: string;\n attachments: number;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum ShowIssuesOptionEnum {\n HIDE_ISSUES = 1,\n SHOW_ISSUES = 2,\n COLLAPSE_ISSUES = 3,\n}\n\nexport enum OrderOptionEnum {\n NAME = 1,\n MES_NAME = 2,\n NUMBER = 3,\n}\n\nexport enum ClassificationsOptionEnum {\n AREA = 1,\n AREA_PER_FACILITY = 2,\n ROOM = 3,\n}\n\nexport enum DirectionOptionEnum {\n ASC = \"ASC\",\n DESC = \"DESC\",\n}\n\nexport interface StatusMail {\n id: number;\n name: string;\n date_created: string;\n last_updated: string | null;\n filter: {\n messageType: string[];\n MESStatus: string[];\n };\n equipment_filter: string;\n sequence: number;\n show_issues_with_priority: boolean;\n show_in_navigation: boolean;\n show_tool_up: boolean;\n show_issues: ShowIssuesOptionEnum;\n show_reservations: boolean;\n classification: ClassificationsOptionEnum;\n order: OrderOptionEnum;\n direction: DirectionOptionEnum;\n user: User;\n to: string;\n cc: string;\n bcc: string;\n subject: string;\n}\n","import { BatchCard } from \"@jield/solodb-typescript-core/run/interfaces/run/batchCard\";\nimport { HoldCode } from \"@jield/solodb-typescript-core/run/interfaces/run/holdCode\";\nimport { Priority } from \"@jield/solodb-typescript-core/run/interfaces/run/priority\";\nimport { Project } from \"@jield/solodb-typescript-core/core/interfaces/project\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport enum RunTypeEnum {\n RESEARCH = 1,\n PRODUCTION = 2,\n}\n\nexport interface Run {\n id: number;\n label: string;\n name: string;\n amount_of_steps: number;\n run_type: RunTypeEnum;\n responsible: string;\n status: string;\n first_unfinished_step?: RunStep;\n last_finished_step?: RunStep;\n has_batch_card: boolean;\n batch_card?: BatchCard;\n hold_code?: HoldCode;\n priority?: Priority;\n project: Project;\n amount_root_parts: number;\n access: {\n edit: boolean;\n };\n}\n"],"names":["cleanFilterData","data","cleanedData","_","facet","getFilter","service","environment","formResult","searchParams","formData","url","response","axios","getMe","listUsers","query","selection","fileToBase64","file","resolve","reject","reader","result","configureAxiosHeaders","token","server_uri","getChemicalContainer","id","listChemicalContainerExternalLabels","qrCodeContent","listChemicalContainerMethodsOfUse","listChemicalContainerPurposes","listChemicalContainerTypes","listChemicals","getEquipment","getSetup","getStatusMail","listEquipment","run","room","statusMail","page","pageSize","filter","order","direction","listEquipmentStatus","listEcnAttachments","equipment","module","getEquipmentModule","listIssueAttachments","listEcn","listEquipmentModuleParameters","listIssues","listModules","listReservations","which","i","listLocationMessages","getLocation","getRoom","listLocations","listRooms","withLocations","getMonitor","listMonitorRequirements","equipmentId","monitorId","listMonitors","listMonitorRequirementResults","requirement","listMonitorRequirementResultMonitorStepParameterValues","listMonitorRequirementTargets","listMonitorStepFiles","step","listMonitorStepParameters","getRun","getRunStep","listRequirements","listRunChangelog","listRunParts","listRunSteps","listRuns","firstUnfinishedStepEquipment","RunStepPartActionEnum","getAvailableRunStepPartActions","runStepPart","latestActionId","actions","listMeasurementResults","measurement","listRunStepChecklistItems","runStep","startStep","finishStep","listRunStepFiles","listRunStepParameters","listRunStepParts","page_size","listRunStepPartActions","part","setRunStepPartAction","runStepPartAction","listReportResult","getServiceEventReport","listServiceEventReportResult","listServices","getTemplateSteps","template","listTemplates","reworkRecipes","recipe","ChemicalStandardProductEnum","ChemicalPhysicalStateEnum","EquipmentGrade","EquipmentModuleIssueType","EquipmentModuleIssueStatus","ShowIssuesOptionEnum","OrderOptionEnum","ClassificationsOptionEnum","DirectionOptionEnum","RunTypeEnum"],"mappings":"yGAIA,SAASA,EAAgBC,EAA8B,CACrD,IAAIC,EAAc,CAAE,GAAGD,CAAA,EACvB,OAAAC,EAAY,MAAQ,OAAO,YAAY,OAAO,QAAQD,EAAK,KAAK,EAAE,OAAO,CAAC,CAACE,EAAGC,CAAK,IAAMA,EAAM,OAAO,OAAS,CAAC,CAAC,EAE7GH,EAAK,OAAO,QAAQ,QAAU,IAEhCC,EAAY,OAAS,CAAA,GAEhBA,CACT,CAEA,eAA8BG,EAAU,CACtC,QAAAC,EACA,YAAAC,EACA,WAAAC,CACF,EAI4B,CAC1B,MAAMC,EAAe,IAAI,gBAUzB,GARIH,IAAY,QACdG,EAAa,OAAO,UAAWH,CAAO,EAGpCC,IAAgB,QAClBE,EAAa,OAAO,cAAeF,CAAW,EAG5CC,IAAe,OAAW,CAC5B,IAAIE,EAAW,KAAK,UAAUV,EAAgBQ,CAAU,CAAC,EACzDC,EAAa,OAAO,aAAc,KAAKC,CAAQ,CAAC,CAClD,CAEA,IAAIC,EAAM,eAAiBF,EAAa,SAAA,EAExC,MAAMG,EAAW,MAAMC,EAAM,IAAsBF,CAAG,EAChD,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,OAAQX,EAAK,UAAU,MAAM,CAAC,EAC9B,MAAOA,EAAK,UAAU,MAAM,CAAC,CAAA,CAEjC,CC7CA,eAA8Ba,GAAQ,CAClC,MAAMF,EAAW,MAAMC,EAAM,IAAU,IAAI,EACrC,CAAC,KAAAZ,GAAQW,EACf,OAAOX,CACX,CCHA,eAA8Bc,EAAU,CAAE,MAAAC,EAAO,UAAAC,GAAyF,CACxI,MAAMR,EAAe,IAAI,gBAErBO,GACFP,EAAa,OAAO,QAASO,CAAK,EAGhCC,GACFR,EAAa,OAAO,YAAaQ,EAAU,SAAA,CAAU,EAGvD,IAAIN,EAAM,aAAeF,EAAa,SAAA,EAEtC,MAAMG,EAAW,MAAMC,EAAM,IAAuBF,CAAG,EACjD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC1BA,SAAwBiB,EAAaC,EAA6B,CAChE,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,MAAMC,EAAS,IAAI,WACnBA,EAAO,OAAS,IAAM,CACpB,MAAMC,EAASD,EAAO,OACtBF,EAAQG,CAAM,CAChB,EACAD,EAAO,QAAUD,EACjBC,EAAO,cAAcH,CAAI,CAC3B,CAAC,CACH,CCRO,MAAMK,EAAwB,CAACC,EAAeC,IAAuB,CAC1Eb,EAAM,SAAS,QAAQ,OAAO,cAAmB,UAAYY,EAC7DZ,EAAM,SAAS,QAAQ,OAAO,OAAY,mBAC1CA,EAAM,SAAS,QAAQ,OAAO,cAAc,EAAI,mBAEhDA,EAAM,SAAS,QAAUa,CAC3B,ECLA,eAA8BC,EAAqB,CAAE,GAAAC,GAAsB,CACzE,MAAMhB,EAAW,MAAMC,EAAM,IAAuB,2BAA6Be,CAAE,EAC7E,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCHA,eAA8B4B,EAAoC,CAChE,cAAAC,CACF,EAEkE,CAChE,MAAMrB,EAAe,IAAI,gBAEzBA,EAAa,OAAO,kBAAmBqB,CAAa,EAEpD,IAAInB,EAAM,0CAA4CF,EAAa,SAAA,EAEnE,MAAMG,EAAW,MAAMC,EAAM,IAAiDF,CAAG,EAC3E,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCpBA,eAA8B8B,EAAkC,CAC9D,MAAAf,CACF,EAEgE,CAC9D,MAAMP,EAAe,IAAI,gBAErBO,GACFP,EAAa,OAAO,QAASO,CAAK,EAEpC,IAAIL,EAAM,yCAA2CF,EAAa,SAAA,EAElE,MAAMG,EAAW,MAAMC,EAAM,IAA+CF,CAAG,EACzE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCrBA,eAA8B+B,EAA8B,CAC1D,MAAAhB,CACF,EAE4D,CAC1D,MAAMP,EAAe,IAAI,gBAErBO,GACFP,EAAa,OAAO,QAASO,CAAK,EAGpC,IAAIL,EAAM,mCAAqCF,EAAa,SAAA,EAE5D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCtBA,eAA8BgC,EAA2B,CACvD,MAAAjB,CACF,EAEyD,CACvD,MAAMP,EAAe,IAAI,gBAErBO,GACFP,EAAa,OAAO,QAASO,CAAK,EAGpC,IAAIL,EAAM,gCAAkCF,EAAa,SAAA,EAEzD,MAAMG,EAAW,MAAMC,EAAM,IAAwCF,CAAG,EAClE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCrBA,eAA8BiC,EAAc,CAAE,MAAAlB,GAAsE,CAClH,MAAMP,EAAe,IAAI,gBAErBO,GACFP,EAAa,OAAO,QAASO,CAAK,EAGpC,IAAIL,EAAM,iBAAmBF,EAAa,SAAA,EAE1C,MAAMG,EAAW,MAAMC,EAAM,IAA2BF,CAAG,EACrD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCpBA,eAA8BkC,EAAa,CAAE,GAAAP,GAAsB,CACjE,MAAMhB,EAAW,MAAMC,EAAM,IAAe,kBAAoBe,CAAE,EAC5D,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCJA,eAA8BmC,EAAS,CAAE,GAAAR,GAAsB,CAC7D,MAAMhB,EAAW,MAAMC,EAAM,IAAW,cAAgBe,CAAE,EACpD,CAAE,KAAA3B,GAASW,EAEjB,OAAOX,CACT,CCLA,eAA8BoC,EAAc,CAAE,GAAAT,GAAsB,CAClE,MAAMhB,EAAW,MAAMC,EAAM,IAAgB,oBAAsBe,CAAE,EAC/D,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCCA,SAASD,EAAgBC,EAA8B,CACrD,IAAIC,EAAc,CAAE,GAAGD,CAAA,EACvB,OAAAC,EAAY,MAAQ,OAAO,YAAY,OAAO,QAAQD,EAAK,KAAK,EAAE,OAAO,CAAC,CAACE,EAAGC,CAAK,IAAMA,EAAM,OAAO,OAAS,CAAC,CAAC,EAE7GH,EAAK,OAAO,QAAQ,QAAU,IAEhCC,EAAY,OAAS,CAAA,GAEhBA,CACT,CAEA,eAA8BoC,EAAc,CAC1C,YAAA/B,EACA,IAAAgC,EACA,KAAAC,EACA,WAAAC,EACA,KAAAC,EAAO,EACP,SAAAC,EAAW,GACX,MAAA3B,EACA,OAAA4B,EACA,MAAAC,EACA,UAAAC,CACF,EAW6C,CAC3C,MAAMrC,EAAe,IAAI,gBAErBF,IAAgB,QAClBE,EAAa,OAAO,cAAeF,CAAW,EAG5CgC,IAAQ,QACV9B,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAG1CC,IAAS,QACX/B,EAAa,OAAO,OAAQ+B,EAAK,GAAG,UAAU,EAG5CxB,IAAU,QACZP,EAAa,OAAO,QAASO,CAAK,EAGhC6B,IAAU,QACZpC,EAAa,OAAO,QAASoC,CAAK,EAGhCC,IAAc,QAChBrC,EAAa,OAAO,YAAaqC,CAAS,EAGxCL,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAG3DhC,EAAa,OAAO,YAAa,KAAK,GAGpCmC,IAAW,SACbA,EAAS5C,EAAgB4C,CAAM,EAC/BnC,EAAa,OAAO,SAAU,KAAK,KAAK,UAAUmC,CAAM,CAAC,CAAC,GAG5DnC,EAAa,OAAO,OAAQiC,EAAK,SAAA,CAAU,EAC3CjC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAEpD,IAAIhC,EAAM,kBAAoBF,EAAa,SAAA,EAE3C,MAAMG,EAAW,MAAMC,EAAM,IAA4BF,CAAG,EACtD,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC3FA,eAA8B8C,GAAsE,CAElG,IAAIpC,EAAM,yBADW,IAAI,gBAAA,EACyB,SAAA,EAElD,MAAMC,EAAW,MAAMC,EAAM,IAAkCF,CAAG,EAC5D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCVA,eAA8B+C,EAAmB,CAC/C,UAAAC,EACA,OAAAC,EACA,WAAAT,CACF,EAIgE,CAC9D,MAAMhC,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAEtDC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAGhDT,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,MAAM,GAGzC,IAAIE,EAAM,wCAA0CF,EAAa,SAAA,EAEjE,MAAMG,EAAW,MAAMC,EAAM,IAA+CF,CAAG,EACzE,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCvCA,eAA8BkD,EAAmB,CAAE,GAAAvB,GAAsB,CACvE,GAAI,MAAMA,CAAE,EACN,OAAO,KAGb,MAAMhB,EAAW,MAAMC,EAAM,IAAqB,yBAA2Be,CAAE,EACzE,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCJA,eAA8BmD,EAAqB,CACjD,UAAAH,EACA,OAAAC,EACA,WAAAT,CACF,EAIkE,CAChE,MAAMhC,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAEtDC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAGhDT,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,MAAM,GAGzC,IAAIE,EAAM,0CAA4CF,EAAa,SAAA,EAEnE,MAAMG,EAAW,MAAMC,EAAM,IAAiDF,CAAG,EAC3E,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CClCA,eAA8BoD,EAAQ,CACpC,UAAAJ,EACA,OAAAC,EACA,WAAAT,CACF,EAIsD,CACpD,MAAMhC,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAEtDC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAGhDT,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,MAAM,GAGzC,IAAIE,EAAM,6BAA+BF,EAAa,SAAA,EAEtD,MAAMG,EAAW,MAAMC,EAAM,IAAqCF,CAAG,EAC/D,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCrCA,eAA8BqD,EAA8B,CAC1D,OAAAJ,EACA,SAAAP,EACA,MAAAE,EACA,UAAAC,CACF,EAK4D,CAC1D,MAAMrC,EAAe,IAAI,gBAErByC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAEhDP,IAAa,QACflC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAElDE,GACFpC,EAAa,OAAO,QAASoC,CAAK,EAEhCC,GACFrC,EAAa,OAAO,YAAaqC,CAAS,EAG5C,IAAInC,EAAM,mCAAqCF,EAAa,SAAA,EAE5D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCnCA,eAA8BsD,EAAW,CACvC,UAAAN,EACA,OAAAC,EACA,WAAAT,CACF,EAIwD,CACtD,MAAMhC,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAEtDC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAGhDT,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,MAAM,GAGzC,IAAIE,EAAM,+BAAiCF,EAAa,SAAA,EAExD,MAAMG,EAAW,MAAMC,EAAM,IAAuCF,CAAG,EACjE,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCnCA,eAA8BuD,EAAY,CACxC,UAAAP,EACA,WAAAR,EACA,IAAAF,CACF,EAImD,CACjD,MAAM9B,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAGtDR,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,OAAO,GAGtC8B,IAAQ,QACV9B,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAG9C,IAAI5B,EAAM,yBAA2BF,EAAa,SAAA,EAElD,MAAMG,EAAW,MAAMC,EAAM,IAAkCF,CAAG,EAC5D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCpCA,eAA8BwD,EAAiB,CAC7C,UAAAR,EACA,OAAAC,EACA,MAAAQ,CACF,EAI8D,CAC5D,MAAMjD,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAGtDC,IAAW,QACbzC,EAAa,OAAO,SAAUyC,EAAO,GAAG,UAAU,EAGhDQ,IAAU,QACZjD,EAAa,OAAO,QAASiD,CAAK,EAGpC,IAAI/C,EAAM,8BAAgCF,EAAa,SAAA,EAEvD,MAAMG,EAAW,MAAMC,EAAM,IAA6CF,CAAG,EACvE,CAAE,KAAAV,GAASW,EAEjB,GAAI8C,GAAS,SACX,QAASC,EAAI,EAAGA,EAAI1D,EAAK,UAAU,MAAM,OAAQ0D,IAC/C1D,EAAK,UAAU,MAAM0D,CAAC,EAAE,OAAS,GAIrC,MAAO,CACL,MAAO1D,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC1CA,eAA8B2D,EAAqB,CACjD,WAAAnB,CACF,EAEmD,CACjD,MAAMhC,EAAe,IAAI,gBAErBgC,IAAe,SACjBhC,EAAa,OAAO,cAAegC,EAAW,GAAG,UAAU,EAC3DhC,EAAa,OAAO,YAAa,MAAM,GAGzC,IAAIE,EAAM,yBAA2BF,EAAa,SAAA,EAElD,MAAMG,EAAW,MAAMC,EAAM,IAAkCF,CAAG,EAC5D,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC1BA,eAA8B4D,EAAY,CAAE,GAAAjC,GAAsB,CAChE,MAAMhB,EAAW,MAAMC,EAAM,IAAc,iBAAmBe,CAAE,EAC1D,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCJA,eAA8B6D,GAAQ,CAAE,GAAAlC,GAAsB,CAC5D,MAAMhB,EAAW,MAAMC,EAAM,IAAU,aAAee,CAAE,EAClD,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCFA,eAA8B8D,GAAc,CAC1C,YAAAxD,EACA,KAAAiC,EACA,SAAAG,EAAW,EACb,EAI4C,CAC1C,MAAMlC,EAAe,IAAI,gBAErBF,GACFE,EAAa,OAAO,cAAeF,CAAW,EAG5CiC,GACF/B,EAAa,OAAO,OAAQ+B,EAAK,GAAG,UAAU,EAGhD/B,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAEpD,IAAIhC,EAAM,iBAAmBF,EAAa,SAAA,EAE1C,MAAMG,EAAW,MAAMC,EAAM,IAA2BF,CAAG,EACrD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCjCA,eAA8B+D,GAAU,CACtC,YAAAzD,EACA,cAAA0D,CACF,EAGwC,CACtC,MAAMxD,EAAe,IAAI,gBAErBF,GACFE,EAAa,OAAO,cAAeF,CAAW,EAG5C0D,GACFxD,EAAa,OAAO,QAAS,gBAAgB,EAG/C,IAAIE,EAAM,aAAeF,EAAa,SAAA,EAEtC,MAAMG,EAAW,MAAMC,EAAM,IAAuBF,CAAG,EACjD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC7BA,eAA8BiE,GAAW,CAAE,GAAAtC,GAAsB,CAC/D,IAAIhB,EAAW,MAAMC,EAAM,IAAa,gBAAkBe,CAAE,EAC5D,KAAM,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCHA,eAA8BkE,GAAwB,CACpD,YAAAC,EACA,UAAAC,CACF,EAGsD,CACpD,MAAM5D,EAAe,IAAI,gBAErB2D,IAAgB,QAClB3D,EAAa,OAAO,YAAa2D,EAAY,SAAA,CAAU,EAGrDC,GACF5D,EAAa,OAAO,UAAW4D,EAAU,SAAA,CAAU,EAGrD,IAAI1D,EAAM,4BAA8BF,EAAa,SAAA,EAErD,MAAMG,EAAW,MAAMC,EAAM,IAAqCF,CAAG,EAC/D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC3BA,eAA8BqE,GAAa,CACzC,UAAArB,CACF,EAE2C,CACzC,MAAMxC,EAAe,IAAI,gBAErBwC,IAAc,QAChBxC,EAAa,OAAO,YAAawC,EAAU,GAAG,UAAU,EAG1DxC,EAAa,OAAO,SAAU,MAAM,EAEpC,IAAIE,EAAM,gBAAkBF,EAAa,SAAA,EAEzC,MAAMG,EAAW,MAAMC,EAAM,IAA0BF,CAAG,EACpD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCvBA,eAA8BsE,GAA8B,CAC1D,YAAAC,EACA,MAAA3B,EACA,UAAAC,EACA,SAAAH,EACA,KAAAD,CACF,EAO4D,CAC1D,MAAMjC,EAAe,IAAI,gBAErB+D,GACF/D,EAAa,OAAO,cAAe+D,EAAY,GAAG,UAAU,EAG1D3B,GACFpC,EAAa,OAAO,QAASoC,CAAK,EAGhCC,GACFrC,EAAa,OAAO,YAAaqC,CAAS,EAGxCH,GACFlC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAGlDD,GACFjC,EAAa,OAAO,OAAQiC,EAAK,SAAA,CAAU,EAG7C,IAAI/B,EAAM,mCAAqCF,EAAa,SAAA,EAE5D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC9CA,eAA8BwE,GAAuD,CACnF,YAAAD,EACA,OAAAjD,EACA,MAAAsB,EACA,UAAAC,EACA,SAAAH,EACA,KAAAD,CACF,EAOmE,CACjE,MAAMjC,EAAe,IAAI,gBAErB+D,GACF/D,EAAa,OAAO,cAAe+D,EAAY,GAAG,UAAU,EAG1DjD,GACFd,EAAa,OAAO,SAAUc,EAAO,GAAG,UAAU,EAGhDsB,GACFpC,EAAa,OAAO,QAASoC,CAAK,EAGhCC,GACFrC,EAAa,OAAO,YAAaqC,CAAS,EAGxCH,GACFlC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAGlDD,GACFjC,EAAa,OAAO,OAAQiC,EAAK,SAAA,CAAU,EAG7C,IAAI/B,EAAM,wDAA0DF,EAAa,SAAA,EAEjF,MAAMG,EAAW,MAAMC,EAAM,IAAkDF,CAAG,EAC5E,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCtDA,eAA8ByE,GAA8B,CAC1D,YAAAF,CACF,EAE4D,CAC1D,MAAM/D,EAAe,IAAI,gBAErB+D,GACF/D,EAAa,OAAO,cAAe+D,EAAY,GAAG,UAAU,EAG9D,IAAI7D,EAAM,mCAAqCF,EAAa,SAAA,EAE5D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCtBA,eAA8B0E,GAAqB,CACjD,KAAAC,EACA,SAAAjC,EACA,MAAAE,EACA,UAAAC,CACF,EAKwC,CACtC,MAAMrC,EAAe,IAAI,gBAErBmE,IAAS,QACXnE,EAAa,OAAO,OAAQmE,EAAK,GAAG,UAAU,EAE5CjC,IAAa,QACflC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAGlDE,GACFpC,EAAa,OAAO,QAASoC,CAAK,EAGhCC,GACFrC,EAAa,OAAO,YAAaqC,CAAS,EAG5C,IAAInC,EAAM,0BAA4BF,EAAa,SAAA,EACnD,MAAMG,EAAW,MAAMC,EAAM,IAAuBF,CAAG,EAEjD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCrCA,eAA8B4E,GAA0B,CACtD,KAAAD,EACA,YAAAJ,EACA,SAAA7B,EACA,MAAAE,EACA,UAAAC,CACF,EAMwD,CACtD,MAAMrC,EAAe,IAAI,gBAErBmE,IAAS,QACXnE,EAAa,OAAO,OAAQmE,EAAK,GAAG,UAAU,EAE5CJ,IAAgB,QAClB/D,EAAa,OAAO,cAAe+D,EAAY,GAAG,UAAU,EAE1D7B,IAAa,QACflC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAElDE,GACFpC,EAAa,OAAO,QAASoC,CAAK,EAEhCC,GACFrC,EAAa,OAAO,YAAaqC,CAAS,EAG5C,IAAInC,EAAM,+BAAiCF,EAAa,SAAA,EAExD,MAAMG,EAAW,MAAMC,EAAM,IAAuCF,CAAG,EACjE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC9CA,eAA8B6E,GAAO,CAAE,GAAAlD,GAAsB,CAC3D,IAAIjB,EAAM,YAAciB,EAExB,MAAMhB,EAAW,MAAMC,EAAM,IAASF,CAAG,EACnC,CAAE,KAAAV,GAASW,EACjB,OAAOX,CACT,CCNA,eAA8B8E,GAAW,CAAE,GAAAnD,GAAsB,CAC/D,IAAIjB,EAAM,iBAAmBiB,EAE7B,MAAMhB,EAAW,MAAMC,EAAM,IAAaF,CAAG,EACvC,CAAE,KAAAV,GAASW,EACjB,OAAOX,CACT,CCHA,eAA8B+E,GAAiB,CAC7C,KAAAJ,EACA,IAAArC,CACF,EAG+C,CAC7C,MAAM9B,EAAe,IAAI,gBAErBmE,IAAS,QACXnE,EAAa,OAAO,OAAQ,OAAOmE,EAAK,EAAE,CAAC,EAGzCrC,IAAQ,QACV9B,EAAa,OAAO,MAAO,OAAO8B,EAAI,EAAE,CAAC,EAG3C,IAAI5B,EAAM,wBAA0BF,EAAa,SAAA,EAEjD,MAAMG,EAAW,MAAMC,EAAM,IAA8BF,CAAG,EACxD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC7BA,eAA8BgF,GAAiB,CAC7C,IAAA1C,EACA,KAAAG,CACF,EAG6C,CAC3C,MAAMjC,EAAe,IAAI,gBAErB8B,IAAQ,QACV9B,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAE9C9B,EAAa,OAAO,OAAQiC,EAAK,SAAA,CAAU,EAE3C,IAAI/B,EAAM,sBAAwBF,EAAa,SAAA,EAE/C,MAAMG,EAAW,MAAMC,EAAM,IAA4BF,CAAG,EACtD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCzBA,eAA8BiF,GAAa,CAAE,IAAA3C,GAA6D,CACxG,MAAM9B,EAAe,IAAI,gBACzBA,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAC5C9B,EAAa,OAAO,YAAa,OAAO,EAExC,IAAIE,EAAM,kBAAoBF,EAAa,SAAA,EAE3C,MAAMG,EAAW,MAAMC,EAAM,IAA0BF,CAAG,EACpD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CChBA,eAA8BkF,GAAa,CACzC,IAAA5C,EACA,KAAAG,EAAO,EACP,SAAAC,EAAW,EACb,EAI2C,CACzC,MAAMlC,EAAe,IAAI,gBAErB8B,IAAQ,QACV9B,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAE9C9B,EAAa,OAAO,OAAQiC,EAAK,SAAA,CAAU,EAC3CjC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EACpD,IAAIhC,EAAM,iBAAmBF,EAAa,SAAA,EAE1C,MAAMG,EAAW,MAAMC,EAAM,IAA0BF,CAAG,EACpD,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC5BA,eAA8BmF,GAAS,CACrC,YAAA7E,EACA,6BAAA8E,CACF,EAGuC,CACrC,MAAM5E,EAAe,IAAI,gBAErB4E,IAAiC,SACnC5E,EAAa,OAAO,WAAY,GAAG,EACnCA,EAAa,OAAO,qCAAsC4E,EAA6B,GAAG,UAAU,GAGlG9E,IAAgB,QAClBE,EAAa,OAAO,cAAeF,CAAW,EAGhD,IAAII,EAAM,YAAcF,EAAa,SAAA,EAErC,MAAMG,EAAW,MAAMC,EAAM,IAAsBF,CAAG,EAChD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CClCO,IAAKqF,GAAAA,IACVA,EAAAA,EAAA,iBAAmB,CAAA,EAAnB,mBACAA,EAAAA,EAAA,kBAAoB,CAAA,EAApB,oBACAA,EAAAA,EAAA,kBAAoB,CAAA,EAApB,oBACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SAJUA,IAAAA,GAAA,CAAA,CAAA,ECGZ,SAAwBC,GAA+BC,EAAmD,CAExG,GAAIA,EAAY,wCACd,MAAO,CAAA,EAGT,MAAMC,EAAiBD,EAAY,eAAe,KAAK,GACjDE,EAAmC,CAAA,EAGzC,OAAIF,EAAY,UAAY,GAC1BE,EAAQ,KAAKJ,EAAsB,gBAAgB,EAInDE,EAAY,QAAU,GACtBC,IAAmBH,EAAsB,mBACzCG,IAAmBH,EAAsB,mBAEzCI,EAAQ,KAAKJ,EAAsB,kBAAmBA,EAAsB,iBAAiB,EAG3FE,EAAY,QAAU,GACxBE,EAAQ,KAAKJ,EAAsB,MAAM,EAGpCI,CACT,CCzBA,eAA8BC,GAAuB,CACnD,YAAAC,CACF,EAEqD,CACnD,MAAMnF,EAAe,IAAI,gBAEzBA,EAAa,OAAO,cAAe,OAAOmF,EAAY,EAAE,CAAC,EAEzD,IAAIjF,EAAM,gCAAkCF,EAAa,SAAA,EAEzD,MAAMG,EAAW,MAAMC,EAAM,IAAoCF,CAAG,EAC9D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCpBA,eAA8B4F,GAA0B,CACtD,QAAAC,CACF,EAEwD,CACtD,MAAMrF,EAAe,IAAI,gBAErBqF,IAAY,QACdrF,EAAa,OAAO,OAAQqF,EAAQ,GAAG,UAAU,EAEnD,IAAInF,EAAM,2BAA6BF,EAAa,SAAA,EAEpD,MAAMG,EAAW,MAAMC,EAAM,IAAuCF,CAAG,EACjE,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCvBA,eAA8B8F,GAAUD,EAAmD,CACvF,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,iDAAiD,EAKrE,OAFa,MAAMjF,EAAM,OAAA,EAAS,MAAe,yBAA2BiF,EAAQ,GAAI,EAAE,CAG9F,CCRA,eAA8BE,GAAWF,EAAmD,CACxF,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,kDAAkD,EAKtE,OAFa,MAAMjF,EAAM,OAAA,EAAS,MAAe,0BAA4BiF,EAAQ,GAAI,EAAE,CAG/F,CCNA,eAA8BG,GAAiB,CAC7C,KAAArB,EACA,SAAAjC,CACF,EAGwC,CACtC,MAAMlC,EAAe,IAAI,gBAErBmE,IAAS,QACXnE,EAAa,OAAO,OAAQmE,EAAK,GAAG,UAAU,EAE5CjC,IAAa,QACflC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAItDlC,EAAa,OAAO,QAAS,cAAc,EAC3CA,EAAa,OAAO,YAAa,MAAM,EAEvC,IAAIE,EAAM,sBAAwBF,EAAa,SAAA,EAE/C,MAAMG,EAAW,MAAMC,EAAM,IAAuBF,CAAG,EACjD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CC/BA,eAA8BiG,GAAsB,CAClD,QAAAJ,CACF,EAEoD,CAClD,MAAMrF,EAAe,IAAI,gBAErBqF,IAAY,QACdrF,EAAa,OAAO,OAAQqF,EAAQ,GAAG,UAAU,EAEnD,IAAInF,EAAM,2BAA6BF,EAAa,SAAA,EAEpD,MAAMG,EAAW,MAAMC,EAAM,IAAmCF,CAAG,EAC7D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCpBA,eAA8BkG,GAAiB,CAC7C,KAAAvB,EACA,IAAArC,EACA,UAAA6D,CACF,EAI+C,CAC7C,MAAM3F,EAAe,IAAI,gBAErBmE,IAAS,QACXnE,EAAa,OAAO,OAAQmE,EAAK,GAAG,UAAU,EAE5CrC,IAAQ,QACV9B,EAAa,OAAO,MAAO8B,EAAI,GAAG,UAAU,EAE1C6D,IAAc,OAChB3F,EAAa,OAAO,YAAa2F,EAAU,SAAA,CAAU,EAErD3F,EAAa,OAAO,YAAa,OAAO,EAG1C,IAAIE,EAAM,sBAAwBF,EAAa,SAAA,EAE/C,MAAMG,EAAW,MAAMC,EAAM,IAA8BF,CAAG,EACxD,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCnCA,eAA8BoG,GAAuB,CACnD,KAAAC,EACA,KAAA1B,EACA,UAAAwB,CACF,EAIqD,CACnD,MAAM3F,EAAe,IAAI,gBAErB6F,IAAS,QACX7F,EAAa,OAAO,OAAQ6F,EAAK,GAAG,UAAU,EAE5C1B,IAAS,QACXnE,EAAa,OAAO,OAAQmE,EAAK,GAAG,UAAU,EAE5CwB,IAAc,QAChB3F,EAAa,OAAO,YAAa2F,EAAU,SAAA,CAAU,EAGvD,IAAIzF,EAAM,6BAA+BF,EAAa,SAAA,EAEtD,MAAMG,EAAW,MAAMC,EAAM,IAAoCF,CAAG,EAC9D,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCjCA,eAA8BsG,GAAqB,CACjD,YAAAf,EACA,kBAAAgB,CACF,EAG+B,CAG7B,MAAM5F,EAAW,MAAMC,EAAM,KAFnB,8BAEgD,CACxD,iBAAkB2E,EAAY,GAC9B,KAAMgB,CAAA,CACP,EACK,CAAE,KAAAvG,GAASW,EACjB,OAAOX,CACT,CChBA,eAA8BwG,GAAiB,CAAE,GAAA7E,GAAsB,CACrE,MAAMnB,EAAe,IAAI,gBAErBmB,IAAO,QACTnB,EAAa,OAAO,SAAUmB,EAAG,SAAA,CAAU,EAG7C,IAAIjB,EAAM,qCAAuCF,EAAa,SAAA,EAE9D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EAEjB,OAAOX,EAAK,UAAU,KACxB,CCdA,eAA8ByG,GAAsB,CAAE,GAAA9E,GAAsB,CAC1E,IAAIhB,EAAW,MAAMC,EAAM,IAAwB,6BAA+Be,CAAE,EACpF,KAAM,CAAE,KAAA3B,GAASW,EACjB,OAAOX,CACT,CCHA,eAA8B0G,GAA6B,CAAE,GAAA/E,GAAsB,CACjF,MAAMnB,EAAe,IAAI,gBAEzBA,EAAa,OAAO,SAAUmB,EAAG,SAAA,CAAU,EAE3C,IAAIjB,EAAM,qCAAuCF,EAAa,SAAA,EAE9D,MAAMG,EAAW,MAAMC,EAAM,IAA2CF,CAAG,EACrE,CAAE,KAAAV,GAASW,EAEjB,OAAOX,EAAK,UAAU,KACxB,CCXA,eAA8B2G,GAAa,CACzC,YAAAxC,CACF,EAE2C,CACzC,MAAM3D,EAAe,IAAI,gBAErB2D,IAAgB,QAClB3D,EAAa,OAAO,YAAa2D,EAAY,SAAA,CAAU,EAGzD,IAAIzD,EAAM,gBAAkBF,EAAa,SAAA,EAEzC,MAAMG,EAAW,MAAMC,EAAM,IAA0BF,CAAG,EACpD,CAAE,KAAAV,GAASW,EAEjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,YACjB,QAASA,EAAK,KAAOA,EAAK,UAAA,CAE9B,CCtBA,eAA8B4G,GAAiB,CAAE,SAAAC,EAAU,SAAAnE,GAAwD,CACjH,MAAMlC,EAAe,IAAI,gBAErBqG,IAAa,QACfrG,EAAa,OAAO,WAAYqG,EAAS,GAAG,UAAU,EAEpDnE,IAAa,QACflC,EAAa,OAAO,YAAakC,EAAS,SAAA,CAAU,EAGtD,IAAIhC,EAAM,sBAAwBF,EAAa,SAAA,EAE/C,MAAMG,EAAW,MAAMC,EAAM,IAA+BF,CAAG,EACzD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,MAAOX,EAAK,UAAU,MACtB,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,WAAA,CAErB,CCpBA,eAA8B8G,GAAc,CAAE,cAAAC,GAA+C,CAC3F,MAAMvG,EAAe,IAAI,gBAErBuG,IAAkB,QAEpBA,EACG,IAAKC,GAAWA,EAAO,EAAE,EACzB,QAASrF,GAAO,CACfnB,EAAa,OAAO,qBAAsBmB,EAAG,SAAA,CAAU,CACzD,CAAC,EAGL,IAAIjB,EAAM,iBAAmBF,EAAa,SAAA,EAE1C,MAAMG,EAAW,MAAMC,EAAM,IAA2BF,CAAG,EACrD,CAAE,KAAAV,GAASW,EACjB,MAAO,CACL,UAAWX,EAAK,UAAU,MAC1B,cAAeA,EAAK,WACpB,YAAaA,EAAK,KAClB,WAAYA,EAAK,WAAA,CAErB,CCvBO,IAAKiH,GAAAA,IACVA,EAAAA,EAAA,iBAAmB,CAAA,EAAnB,mBACAA,EAAAA,EAAA,qBAAuB,CAAA,EAAvB,uBAFUA,IAAAA,GAAA,CAAA,CAAA,EAKAC,GAAAA,IACVA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SACAA,EAAAA,EAAA,IAAM,CAAA,EAAN,MACAA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QAJUA,IAAAA,GAAA,CAAA,CAAA,ECEAC,GAAAA,IACRA,EAAAA,EAAA,UAAc,CAAA,EAAd,YACAA,EAAAA,EAAA,UAAc,CAAA,EAAd,YACAA,EAAAA,EAAA,QAAY,CAAA,EAAZ,UAHQA,IAAAA,GAAA,CAAA,CAAA,ECTAC,GAAAA,IACVA,EAAAA,EAAA,QAAU,CAAA,EAAV,UACAA,EAAAA,EAAA,SAAW,CAAA,EAAX,WACAA,EAAAA,EAAA,WAAa,CAAA,EAAb,aAHUA,IAAAA,GAAA,CAAA,CAAA,EAMAC,GAAAA,IACVA,EAAAA,EAAA,OAAS,CAAA,EAAT,SACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SAFUA,IAAAA,GAAA,CAAA,CAAA,ECNAC,GAAAA,IACVA,EAAAA,EAAA,YAAc,CAAA,EAAd,cACAA,EAAAA,EAAA,YAAc,CAAA,EAAd,cACAA,EAAAA,EAAA,gBAAkB,CAAA,EAAlB,kBAHUA,IAAAA,GAAA,CAAA,CAAA,EAMAC,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,SAAW,CAAA,EAAX,WACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SAHUA,IAAAA,GAAA,CAAA,CAAA,EAMAC,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,kBAAoB,CAAA,EAApB,oBACAA,EAAAA,EAAA,KAAO,CAAA,EAAP,OAHUA,IAAAA,GAAA,CAAA,CAAA,EAMAC,GAAAA,IACVA,EAAA,IAAM,MACNA,EAAA,KAAO,OAFGA,IAAAA,GAAA,CAAA,CAAA,ECdAC,GAAAA,IACVA,EAAAA,EAAA,SAAW,CAAA,EAAX,WACAA,EAAAA,EAAA,WAAa,CAAA,EAAb,aAFUA,IAAAA,GAAA,CAAA,CAAA"} \ No newline at end of file +{"version":3,"file":"index.cjs","sources":["../src/core/api/getFilter.ts","../src/core/api/getMe.ts","../src/core/api/listUsers.ts","../src/core/functions/fileToBase64.ts","../src/core/functions/configureAxiosHeaders.ts","../src/chemical/api/getChemicalContainer.ts","../src/chemical/api/listChemicalContainerExternalLabels.ts","../src/chemical/api/listChemicalContainerMethodsOfUse.ts","../src/chemical/api/listChemicalContainerPurposes.ts","../src/chemical/api/listChemicalContainerTypes.ts","../src/chemical/api/listChemicals.ts","../src/equipment/api/getEquipment.ts","../src/equipment/api/getSetup.ts","../src/equipment/api/getStatusMail.ts","../src/equipment/api/listEquipment.ts","../src/equipment/api/listEquipmentStatus.ts","../src/equipment/api/module/ecn/listEcnAttachments.ts","../src/equipment/api/module/getEquipmentModule.ts","../src/equipment/api/module/issue/listIssueAttachments.ts","../src/equipment/api/module/listEcn.ts","../src/equipment/api/module/listEquipmentModuleParameters.ts","../src/equipment/api/module/listIssues.ts","../src/equipment/api/module/listModules.ts","../src/equipment/api/module/listReservations.ts","../src/location/api/listLocationMessages.ts","../src/room/api/getLocation.ts","../src/room/api/getRoom.ts","../src/room/api/listLocations.ts","../src/room/api/listRooms.ts","../src/monitor/api/getMonitor.ts","../src/monitor/api/listMonitorRequirements.ts","../src/monitor/api/listMonitors.ts","../src/monitor/api/measurement/listMonitorRequirementResults.ts","../src/monitor/api/measurement/result/listMonitorRequirementResultMonitorStepParameterValues.ts","../src/monitor/api/requirement/listMonitorRequirementTargets.ts","../src/monitor/api/step/listMonitorStepFiles.ts","../src/monitor/api/step/listMonitorStepParameters.ts","../src/run/api/getRun.ts","../src/run/api/getRunStep.ts","../src/run/api/listRequirements.ts","../src/run/api/listRunChangelog.ts","../src/run/api/listRunParts.ts","../src/run/api/listRunSteps.ts","../src/run/api/listRuns.ts","../src/run/enum/runStepPartActionEnum.ts","../src/run/api/getRunStepPartActions.ts","../src/run/api/measurement/listResults.ts","../src/run/api/step/listRunStepChecklistItems.ts","../src/run/api/step/startStep.ts","../src/run/api/step/finishStep.ts","../src/run/api/step/listRunStepFiles.ts","../src/run/api/step/listRunStepParameters.ts","../src/run/api/step/listRunStepParts.ts","../src/run/api/step/part/listRunStepPartActions.ts","../src/run/api/step/part/setRunStepPartAction.ts","../src/run/functions/performRunStepPartAction.ts","../src/run/functions/finishStepWhenAllPartsAreFinished.ts","../src/service/api/getReportResult.ts","../src/service/api/getServiceEventReport.ts","../src/service/api/listServiceEventReportResult.ts","../src/service/api/listServices.ts","../src/template/api/getTemplateSteps.ts","../src/template/api/listTemplates.ts","../src/chemical/interfaces/chemical.ts","../src/equipment/interfaces/equipment.ts","../src/equipment/interfaces/equipment/module/equipmentModuleIssue.ts","../src/equipment/interfaces/statusMail.ts","../src/run/interfaces/run.ts"],"sourcesContent":["import axios from \"axios\";\nimport { FilterData, FilterFormData } from \"../interfaces/filter\";\nimport { ApiResponse } from \"../interfaces/response\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function getFilter({\n service,\n environment,\n formResult,\n}: {\n service: string;\n environment?: string;\n formResult?: FilterData;\n}): Promise {\n const searchParams = new URLSearchParams();\n\n if (service !== undefined) {\n searchParams.append(\"service\", service);\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (formResult !== undefined) {\n let formData = JSON.stringify(cleanFilterData(formResult));\n searchParams.append(\"formResult\", btoa(formData));\n }\n\n let url = \"view/filter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n filter: data._embedded.items[0],\n facet: data._embedded.items[1],\n };\n}\n","import axios from \"axios\";\nimport {User} from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport default async function getMe() {\n const response = await axios.get(\"me\");\n const {data} = response;\n return data;\n}\n","import axios from \"axios\";\nimport { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listUsers({ query, selection}: { query?: string; selection?: number;}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n if (selection) {\n searchParams.append(\"selection\", selection.toString());\n }\n\n let url = \"list/user?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n};\n","export default function fileToBase64(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const result = reader.result as string;\n resolve(result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n","import axios from \"axios\";\n\nexport const configureAxiosHeaders = (token: string, server_uri: string) => {\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\n axios.defaults.headers.common[\"Accept\"] = \"application/json\";\n axios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n\n axios.defaults.baseURL = server_uri;\n};\n","import axios from \"axios\";\nimport { ChemicalContainer } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/chemicalContainer\";\n\nexport default async function getChemicalContainer({ id }: { id: number }) {\n const response = await axios.get(\"view/chemical/container/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerExternalLabel } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerExternalLabel\";\n\nexport default async function listChemicalContainerExternalLabels({\n qrCodeContent,\n}: {\n qrCodeContent: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"qr_code_content\", qrCodeContent);\n\n let url = \"list/chemical/container/external-label?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerMethodOfUse } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerMethodOfUse\";\n\nexport default async function listChemicalContainerMethodsOfUse({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n let url = \"list/chemical/container/method-of-use?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerPurpose } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerPurpose\";\n\nexport default async function listChemicalContainerPurposes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/purpose?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerType } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerType\";\n\nexport default async function listChemicalContainerTypes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/type?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\n// migrated from react-router-dom createSearchParams to URLSearchParams\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Chemical } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical\";\n\nexport default async function listChemicals({ query }: { query?: string }): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function getEquipment({ id }: { id: number }) {\n const response = await axios.get(\"view/equipment/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Setup } from \"../interfaces/setup\";\n\nexport default async function getSetup({ id }: { id: number }) {\n const response = await axios.get(\"view/setup/\" + id);\n const { data } = response;\n\n return data;\n}\n","import axios from \"axios\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function getStatusMail({ id }: { id: number }) {\n const response = await axios.get(\"view/status-mail/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport { FilterData } from \"@jield/solodb-typescript-core/core/interfaces/filter\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function listEquipment({\n environment,\n run,\n room,\n statusMail,\n page = 1,\n pageSize = 25,\n query,\n filter,\n order,\n direction\n}: {\n environment?: string;\n run?: Run;\n room?: Room;\n statusMail?: StatusMail;\n page?: number;\n pageSize?: number;\n query?: string;\n filter?: FilterData;\n order?: string;\n direction?: \"desc\" | \"asc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n if (room !== undefined) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n if (query !== undefined) {\n searchParams.append(\"query\", query);\n }\n\n if (order !== undefined) {\n searchParams.append(\"order\", order);\n }\n\n if (direction !== undefined) {\n searchParams.append(\"direction\", direction);\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n\n // Use a reasonable page size for infinite scrolling\n searchParams.append(\"page_size\", \"200\");\n }\n\n if (filter !== undefined) {\n filter = cleanFilterData(filter);\n searchParams.append(\"filter\", btoa(JSON.stringify(filter)));\n }\n\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/equipment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentStatus } from \"@jield/solodb-typescript-core/equipment/interfaces/equipmentStatus\";\n\nexport default async function listEquipmentStatus(): Promise> {\n const searchParams = new URLSearchParams();\n let url = \"list/equipment/status?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleEcnAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/ecn/equipmentModuleEcnAttachment\";\n\nexport default async function listEcnAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function getEquipmentModule({ id }: { id: number }) {\n if (isNaN(id)) {\n return null;\n }\n\n const response = await axios.get(\"view/equipment/module/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssueAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/issue/equipmentModuleIssueAttachment\";\n\nexport default async function listIssueAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleEcn } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleEcn\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function listEcn({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentModuleParameter } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleParameter\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listEquipmentModuleParameters({\n module,\n pageSize,\n order,\n direction,\n}: {\n module?: EquipmentModule;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/equipment/module/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssue } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleIssue\";\n\nexport default async function listIssues({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listModules({\n equipment,\n statusMail,\n run,\n}: {\n equipment?: Equipment;\n statusMail?: StatusMail;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n let url = \"list/equipment/module?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleReservation } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleReservation\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listReservations({\n equipment,\n module,\n which,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n which?: \"active\" | \"past\" | \"upcoming\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (which !== undefined) {\n searchParams.append(\"which\", which);\n }\n\n let url = \"list/equipment/reservation?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n if (which == \"active\") {\n for (let i = 0; i < data._embedded.items.length; i++) {\n data._embedded.items[i].active = true;\n }\n }\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { LocationMessage } from \"@jield/solodb-typescript-core/location/interfaces/locationMessage\";\n\nexport default async function listLocationMessages({\n statusMail,\n}: {\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/location/message?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\n\nexport default async function getLocation({ id }: { id: number }) {\n const response = await axios.get(\"view/location/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function getRoom({ id }: { id: number }) {\n const response = await axios.get(\"view/room/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listLocations({\n environment,\n room,\n pageSize = 25,\n}: {\n environment?: string;\n room?: Room;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (room) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/location?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listRooms({\n environment,\n withLocations,\n}: {\n environment?: string;\n withLocations?: boolean;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (withLocations) {\n searchParams.append(\"which\", \"with_locations\");\n }\n\n let url = \"list/room?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\n\nexport default async function getMonitor({ id }: { id: number }) {\n let response = await axios.get(\"view/monitor/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirements({\n equipmentId,\n monitorId,\n}: {\n equipmentId?: number;\n monitorId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n if (monitorId) {\n searchParams.append(\"monitor\", monitorId.toString());\n }\n\n let url = \"list/monitor/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function listMonitors({\n equipment,\n}: {\n equipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n searchParams.append(\"ad_hoc\", \"true\");\n\n let url = \"list/monitor?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementResults({\n requirement,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n monitor?: Monitor;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorResultStepParameterValue } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/result/monitorResultStepParameterValue\";\n\nexport default async function listMonitorRequirementResultMonitorStepParameterValues({\n requirement,\n result,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n result?: MonitorMeasurementResult;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (result) {\n searchParams.append(\"result\", result.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result/step-parameter-value?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { MonitorRequirementTarget } from \"@jield/solodb-typescript-core/monitor/interfaces/requirement/monitorRequirementTarget\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementTargets({\n requirement,\n}: {\n requirement?: MonitorRequirement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n let url = \"list/monitor/requirement/target?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorStepFiles({\n step,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n pageSize?: number;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/file?\" + searchParams.toString();\n const response = await axios.get>(url);\n\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorStepParameter } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor/step/parameter\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\n\nexport default async function listMonitorStepParameters({\n step,\n requirement,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n requirement?: MonitorRequirement;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (requirement !== undefined) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function getRun({ id }: { id: number }) {\n let url = \"view/run/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport default async function getRunStep({ id }: { id: number }) {\n let url = \"view/run/step/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { Requirement } from \"@jield/solodb-typescript-core/run/interfaces/requirement\";\n\nexport default async function listRequirements({\n step,\n run,\n}: {\n step?: RunStep;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", String(step.id));\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", String(run.id));\n }\n\n let url = \"list/run/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Changelog } from \"@jield/solodb-typescript-core/run/interfaces/run/changelog\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunChangelog({\n run,\n page,\n}: {\n run: Run;\n page: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n\n let url = \"list/run/changelog?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunPart } from \"@jield/solodb-typescript-core/run/interfaces/run/runPart\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunParts({ run, level }: { run: Run; level?: number; }): Promise> {\n const searchParams = new URLSearchParams();\n searchParams.append(\"run\", run.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n\n if (level !== undefined) searchParams.append(\"level\", `${level}`);\n\n let url = \"list/run/parts?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunSteps({\n run,\n page = 1,\n pageSize = 25,\n}: {\n run: Run;\n page?: number;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n let url = \"list/run/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRuns({\n environment,\n firstUnfinishedStepEquipment,\n}: {\n environment?: string;\n firstUnfinishedStepEquipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (firstUnfinishedStepEquipment !== undefined) {\n searchParams.append(\"operator\", \"1\");\n searchParams.append(\"first_unfinished_step_equipment_id\", firstUnfinishedStepEquipment.id.toString());\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n let url = \"list/run?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","export enum RunStepPartActionEnum {\n START_PROCESSING = 1,\n FINISH_PROCESSING = 2,\n FAILED_PROCESSING = 3,\n REWORK = 4,\n}\n","import { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\nexport default function getAvailableRunStepPartActions(runStepPart: RunStepPart): RunStepPartActionEnum[] {\n // if it already failed in a previous step, nothing can be done\n if (runStepPart.part_processing_failed_in_previous_step) {\n return [];\n }\n\n const latestActionId = runStepPart.latest_action?.type.id;\n const actions: RunStepPartActionEnum[] = [];\n\n // your current conditions, just centralized:\n if (runStepPart.actions === 0) {\n actions.push(RunStepPartActionEnum.START_PROCESSING);\n }\n\n if (\n runStepPart.actions > 0 &&\n latestActionId !== RunStepPartActionEnum.FINISH_PROCESSING &&\n latestActionId !== RunStepPartActionEnum.FAILED_PROCESSING\n ) {\n actions.push(RunStepPartActionEnum.FINISH_PROCESSING, RunStepPartActionEnum.FAILED_PROCESSING);\n }\n\n if (runStepPart.actions > 0) {\n actions.push(RunStepPartActionEnum.REWORK);\n }\n\n return actions;\n};\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Measurement } from \"@jield/solodb-typescript-core/run/interfaces/measurement\";\nimport { MeasurementResult } from \"@jield/solodb-typescript-core/run/interfaces/measurement/result\";\n\nexport default async function listMeasurementResults({\n measurement,\n}: {\n measurement: Measurement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"measurement\", String(measurement.id));\n\n let url = \"/list/run/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepChecklistItem } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepChecklistItem\";\n\nexport default async function listRunStepChecklistItems({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/checklist?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\n/**\n * Start a run step and return the updated step payload.\n *\n * Mirrors PATCH /api/update/run/step/start/{id}.\n *\n * @param runStep - Run step to mark as started.\n * @throws Error when the run step is missing.\n */\nexport default async function startStep(\n runStep: RunStep,\n): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to start step\");\n }\n\n const resp = await axios\n .create()\n .patch(\"update/run/step/start/\" + runStep.id, {});\n\n return resp;\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\n/**\n * Finish a run step and return the updated step payload.\n *\n * Mirrors PATCH /api/update/run/step/finish/{id}.\n *\n * @param runStep - Run step to mark as finished.\n * @throws Error when the run step is missing.\n */\nexport default async function finishStep(\n runStep: RunStep,\n): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to finish step\");\n }\n\n const resp = await axios\n .create()\n .patch(\"update/run/step/finish/\" + runStep.id, {});\n\n return resp;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunStepFiles({\n step,\n pageSize,\n}: {\n step?: RunStep;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n //We want the file to be ordered by date_created DESC\n searchParams.append(\"order\", \"date-created\");\n searchParams.append(\"direction\", \"DESC\");\n\n let url = \"list/run/step/file?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepParameter } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepParameter\";\n\nexport default async function listRunStepParameters({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunStepParts({\n step,\n run,\n page_size,\n}: {\n step?: RunStep;\n run?: Run;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n } else {\n searchParams.append(\"page_size\", \"10000\");\n }\n\n let url = \"list/run/step/part?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\n\nexport default async function listRunStepPartActions({\n part,\n step,\n page_size,\n}: {\n part?: RunStepPart;\n step?: RunStep;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (part !== undefined) {\n searchParams.append(\"part\", part.id.toString());\n }\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n }\n\n let url = \"list/run/step/part/action?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStepPartActionEnum } from \"@jield/solodb-typescript-core/run/enum/runStepPartActionEnum\";\n\nexport default async function setRunStepPartAction({\n runStepPart,\n runStepPartAction,\n}: {\n runStepPart: RunStepPart;\n runStepPartAction: RunStepPartActionEnum;\n}): Promise {\n let url = \"create/run/step/part/action\";\n\n const response = await axios.post(url, {\n run_step_part_id: runStepPart.id,\n type: runStepPartAction,\n });\n const { data } = response;\n return data;\n}\n","import setRunStepPartAction from \"../api/step/part/setRunStepPartAction\";\nimport startStep from \"../api/step/startStep\";\nimport { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\n/*\n * Performs a action in a runStepPart \n * Also it makes sure the step state is what it should be\n */\nexport default async function performRunStepPartAction(part: RunStepPart, action: RunStepPartActionEnum) {\n const step = part.step;\n\n // start step if it isnt \n if (!step.is_started) {\n startStep(step); \n }\n \n return setRunStepPartAction({runStepPart: part, runStepPartAction: action});\n}\n","import finishStep from \"../api/step/finishStep\";\nimport { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStep } from \"../interfaces/runStep\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\n/*\n * Returns false if the step state changes (its set to finish)\n */\nexport default async function finishStepWhenAllPartsAreFinished(\n step: RunStep,\n stepParts: RunStepPart[]\n): Promise {\n if (step.is_finished) {\n //Step has already finished\n return false;\n }\n\n if (stepParts.length <= 0) {\n return false;\n }\n\n for (const part of stepParts) {\n if (part.latest_action?.type.id !== RunStepPartActionEnum.FINISH_PROCESSING) {\n //One part hasnt finished\n return false;\n }\n }\n\n // Finish the step\n return finishStep(step)\n .then(() => {\n //Now the step is correctly finished\n return true;\n })\n .catch(() => {\n return false;\n });\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n if (id !== undefined) {\n searchParams.append(\"report\", id.toString());\n }\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ServiceEventReport } from \"@jield/solodb-typescript-core/service/interfaces/service/event/serviceEventReport\";\n\nexport default async function getServiceEventReport({ id }: { id: number }) {\n let response = await axios.get(\"view/service/event/report/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listServiceEventReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"report\", id.toString());\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Service } from \"@jield/solodb-typescript-core/service/interfaces/service\";\n\nexport default async function listServices({\n equipmentId,\n}: {\n equipmentId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n let url = \"list/service?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { TemplateStep } from \"@jield/solodb-typescript-core/template/interfaces/templateStep\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function getTemplateSteps({ template, pageSize }: { template?: Template; pageSize?: number }) {\n const searchParams = new URLSearchParams();\n\n if (template !== undefined) {\n searchParams.append(\"template\", template.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n let url = \"list/template/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n steps: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import axios from \"axios\";\nimport { Recipe } from \"@jield/solodb-typescript-core/process/interfaces/module/recipe\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listTemplates({ reworkRecipes }: { reworkRecipes?: Recipe[] }) {\n const searchParams = new URLSearchParams();\n\n if (reworkRecipes !== undefined) {\n //Add the rework recipe ids to the search params, in array notation\n reworkRecipes\n .map((recipe) => recipe.id)\n .forEach((id) => {\n searchParams.append(\"rework_recipe_id[]\", id.toString());\n });\n }\n\n let url = \"list/template?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n templates: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import { MainChemical } from \"@jield/solodb-typescript-core/chemical/interfaces/mainChemical\";\nimport { SafetyStatement } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyStatement\";\nimport { SafetyIcon } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyIcon\";\n\nexport enum ChemicalStandardProductEnum {\n STANDARD_PRODUCT = 1,\n NON_STANDARD_PRODUCT = 2,\n}\n\nexport enum ChemicalPhysicalStateEnum {\n SOLID = 1,\n LIQUID = 2,\n GAS = 3,\n OTHER = 4,\n}\n\nexport interface Chemical {\n id: number;\n name: string;\n cas_number: string | null;\n chemical_formula: string | null;\n ehs_link: string | null;\n cmr: string[];\n description: string | null;\n is_standard_product: boolean;\n standard_product: ChemicalStandardProductEnum;\n physical_state: ChemicalPhysicalStateEnum;\n is_halogenated: boolean;\n contains_metals: boolean;\n main_chemical: MainChemical | null;\n safety_statement: SafetyStatement[];\n safety_icons: SafetyIcon[];\n}\n","import {Room} from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport {\n EquipmentModuleStatus\n} from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleStatus\";\nimport {EquipmentProperty} from \"./equipment/equipmentProperty\";\nimport {\n Setup,\n SetupWithoutMainEquipmentAndSetupEquipment\n} from \"@jield/solodb-typescript-core/equipment/interfaces/setup\";\nimport {Area} from \"@jield/solodb-typescript-core/location/interfaces/area\";\n\nexport enum EquipmentGrade {\n \"Equipment\" = 1,\n \"Accessory\" = 2,\n \"Storage\" = 3,\n}\n\nexport enum DashboardComponent {\n \"ProcessNextStepInEquipment\" = \"ProcessNextStepInEquipment\"\n}\n\n\nexport interface Equipment {\n id: number;\n name: string;\n number: string;\n mes_name: string;\n active: boolean;\n active_in_mes: boolean;\n reservation_possible: boolean;\n is_main_in_setup: boolean;\n setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n has_setup_equipment: boolean;\n is_in_fixed_setup: boolean;\n fixed_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n is_in_active_setup: boolean;\n active_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n main_tool_module_id: number | null;\n main_tool_latest_status?: EquipmentModuleStatus;\n is_available_for_rental: boolean;\n dashboard_components: DashboardComponent[];\n properties?: EquipmentProperty[];\n room: Room;\n types: string[];\n grade: EquipmentGrade;\n area: Area | null;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum EquipmentModuleIssueType {\n DEFAULT = 1,\n PRIORITY = 2,\n ESCALATION = 3,\n}\n\nexport enum EquipmentModuleIssueStatus {\n ACTIVE = 1,\n CLOSED = 2,\n}\n\nexport interface EquipmentModuleIssue {\n id: number;\n module_id: number;\n date_created: string;\n date_closed?: string;\n last_update?: string;\n issue: string;\n description: string;\n issue_type: EquipmentModuleIssueType;\n status: EquipmentModuleIssueStatus;\n owner: User;\n updated_by?: User;\n forecast_up: string;\n actions: string;\n attachments: number;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum ShowIssuesOptionEnum {\n HIDE_ISSUES = 1,\n SHOW_ISSUES = 2,\n COLLAPSE_ISSUES = 3,\n}\n\nexport enum OrderOptionEnum {\n NAME = 1,\n MES_NAME = 2,\n NUMBER = 3,\n}\n\nexport enum ClassificationsOptionEnum {\n AREA = 1,\n AREA_PER_FACILITY = 2,\n ROOM = 3,\n}\n\nexport enum DirectionOptionEnum {\n ASC = \"ASC\",\n DESC = \"DESC\",\n}\n\nexport interface StatusMail {\n id: number;\n name: string;\n date_created: string;\n last_updated: string | null;\n filter: {\n messageType: string[];\n MESStatus: string[];\n };\n equipment_filter: string;\n sequence: number;\n show_issues_with_priority: boolean;\n show_in_navigation: boolean;\n show_tool_up: boolean;\n show_issues: ShowIssuesOptionEnum;\n show_reservations: boolean;\n classification: ClassificationsOptionEnum;\n order: OrderOptionEnum;\n direction: DirectionOptionEnum;\n user: User;\n to: string;\n cc: string;\n bcc: string;\n subject: string;\n}\n","import { BatchCard } from \"@jield/solodb-typescript-core/run/interfaces/run/batchCard\";\nimport { HoldCode } from \"@jield/solodb-typescript-core/run/interfaces/run/holdCode\";\nimport { Priority } from \"@jield/solodb-typescript-core/run/interfaces/run/priority\";\nimport { Project } from \"@jield/solodb-typescript-core/core/interfaces/project\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport enum RunTypeEnum {\n RESEARCH = 1,\n PRODUCTION = 2,\n}\n\nexport interface Run {\n id: number;\n label: string;\n name: string;\n amount_of_steps: number;\n run_type: RunTypeEnum;\n responsible: string;\n status: string;\n first_unfinished_step?: RunStep;\n last_finished_step?: RunStep;\n has_batch_card: boolean;\n batch_card?: BatchCard;\n hold_code?: HoldCode;\n priority?: Priority;\n project: Project;\n amount_root_parts: number;\n access: {\n edit: boolean;\n };\n}\n"],"names":["cleanFilterData","data","cleanedData","_","facet","getFilter","service","environment","formResult","searchParams","formData","url","response","axios","getMe","listUsers","query","selection","fileToBase64","file","resolve","reject","reader","result","configureAxiosHeaders","token","server_uri","getChemicalContainer","id","listChemicalContainerExternalLabels","qrCodeContent","listChemicalContainerMethodsOfUse","listChemicalContainerPurposes","listChemicalContainerTypes","listChemicals","getEquipment","getSetup","getStatusMail","listEquipment","run","room","statusMail","page","pageSize","filter","order","direction","listEquipmentStatus","listEcnAttachments","equipment","module","getEquipmentModule","listIssueAttachments","listEcn","listEquipmentModuleParameters","listIssues","listModules","listReservations","which","i","listLocationMessages","getLocation","getRoom","listLocations","listRooms","withLocations","getMonitor","listMonitorRequirements","equipmentId","monitorId","listMonitors","listMonitorRequirementResults","requirement","listMonitorRequirementResultMonitorStepParameterValues","listMonitorRequirementTargets","listMonitorStepFiles","step","listMonitorStepParameters","getRun","getRunStep","listRequirements","listRunChangelog","listRunParts","level","listRunSteps","listRuns","firstUnfinishedStepEquipment","RunStepPartActionEnum","getAvailableRunStepPartActions","runStepPart","latestActionId","actions","listMeasurementResults","measurement","listRunStepChecklistItems","runStep","startStep","finishStep","listRunStepFiles","listRunStepParameters","listRunStepParts","page_size","listRunStepPartActions","part","setRunStepPartAction","runStepPartAction","performRunStepPartAction","action","finishStepWhenAllPartsAreFinished","stepParts","listReportResult","getServiceEventReport","listServiceEventReportResult","listServices","getTemplateSteps","template","listTemplates","reworkRecipes","recipe","ChemicalStandardProductEnum","ChemicalPhysicalStateEnum","EquipmentGrade","DashboardComponent","EquipmentModuleIssueType","EquipmentModuleIssueStatus","ShowIssuesOptionEnum","OrderOptionEnum","ClassificationsOptionEnum","DirectionOptionEnum","RunTypeEnum"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index a214277..7793bd7 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -52,6 +52,8 @@ export { default as listRunStepParameters } from './run/api/step/listRunStepPara export { default as listRunStepParts } from './run/api/step/listRunStepParts'; export { default as listRunStepPartActions } from './run/api/step/part/listRunStepPartActions'; export { default as setRunStepPartAction } from './run/api/step/part/setRunStepPartAction'; +export { default as performRunStepPartAction } from './run/functions/performRunStepPartAction'; +export { default as finishStepWhenAllPartsAreFinished } from './run/functions/finishStepWhenAllPartsAreFinished'; export { default as listReportResult } from './service/api/getReportResult'; export { default as getServiceEventReport } from './service/api/getServiceEventReport'; export { default as listServiceEventReportResult } from './service/api/listServiceEventReportResult'; @@ -75,6 +77,7 @@ export type { ChemicalContainerPurpose } from './chemical/interfaces/chemical/co export type { ChemicalContainerType } from './chemical/interfaces/chemical/container/chemicalContainerType'; export type { ChemicalContainerUser } from './chemical/interfaces/chemical/container/chemicalContainerUser'; export { EquipmentGrade } from './equipment/interfaces/equipment'; +export { DashboardComponent } from './equipment/interfaces/equipment'; export type { Equipment } from './equipment/interfaces/equipment'; export type { EquipmentModule, EquipmentModuleType } from './equipment/interfaces/equipment/equipmentModule'; export type { EquipmentProperty } from './equipment/interfaces/equipment/equipmentProperty'; diff --git a/dist/index.js b/dist/index.js index fffb02b..8308aa8 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,16 +1,16 @@ import i from "axios"; -function f(t) { +function _(t) { let e = { ...t }; return e.facet = Object.fromEntries(Object.entries(t.facet).filter(([n, s]) => s.values.length > 0)), t.filter.general.length <= 0 && (e.filter = {}), e; } -async function A({ +async function C({ service: t, environment: e, formResult: n }) { const s = new URLSearchParams(); if (t !== void 0 && s.append("service", t), e !== void 0 && s.append("environment", e), n !== void 0) { - let c = JSON.stringify(f(n)); + let c = JSON.stringify(_(n)); s.append("formResult", btoa(c)); } let a = "view/filter?" + s.toString(); @@ -20,11 +20,11 @@ async function A({ facet: o._embedded.items[1] }; } -async function M() { +async function E() { const t = await i.get("me"), { data: e } = t; return e; } -async function N({ query: t, selection: e }) { +async function T({ query: t, selection: e }) { const n = new URLSearchParams(); t && n.append("query", t), e && n.append("selection", e.toString()); let s = "list/user?" + n.toString(); @@ -37,7 +37,7 @@ async function N({ query: t, selection: e }) { hasMore: r.page < r.page_count }; } -function D(t) { +function F(t) { return new Promise((e, n) => { const s = new FileReader(); s.onload = () => { @@ -46,14 +46,14 @@ function D(t) { }, s.onerror = n, s.readAsDataURL(t); }); } -const C = (t, e) => { +const q = (t, e) => { i.defaults.headers.common.Authorization = "Bearer " + t, i.defaults.headers.common.Accept = "application/json", i.defaults.headers.common["Content-Type"] = "application/json", i.defaults.baseURL = e; }; -async function E({ id: t }) { +async function H({ id: t }) { const e = await i.get("view/chemical/container/" + t), { data: n } = e; return n; } -async function T({ +async function z({ qrCodeContent: t }) { const e = new URLSearchParams(); @@ -68,7 +68,7 @@ async function T({ hasMore: a.page < a.page_count }; } -async function F({ +async function G({ query: t }) { const e = new URLSearchParams(); @@ -83,7 +83,7 @@ async function F({ hasMore: a.page < a.page_count }; } -async function q({ +async function x({ query: t }) { const e = new URLSearchParams(); @@ -98,7 +98,7 @@ async function q({ hasMore: a.page < a.page_count }; } -async function z({ +async function j({ query: t }) { const e = new URLSearchParams(); @@ -113,7 +113,7 @@ async function z({ hasMore: a.page < a.page_count }; } -async function H({ query: t }) { +async function W({ query: t }) { const e = new URLSearchParams(); t && e.append("query", t); let n = "list/chemical?" + e.toString(); @@ -126,15 +126,15 @@ async function H({ query: t }) { hasMore: a.page < a.page_count }; } -async function G({ id: t }) { +async function B({ id: t }) { const e = await i.get("view/equipment/" + t), { data: n } = e; return n; } -async function j({ id: t }) { +async function Y({ id: t }) { const e = await i.get("view/setup/" + t), { data: n } = e; return n; } -async function x({ id: t }) { +async function K({ id: t }) { const e = await i.get("view/status-mail/" + t), { data: n } = e; return n; } @@ -142,7 +142,7 @@ function S(t) { let e = { ...t }; return e.facet = Object.fromEntries(Object.entries(t.facet).filter(([n, s]) => s.values.length > 0)), t.filter.general.length <= 0 && (e.filter = {}), e; } -async function W({ +async function V({ environment: t, run: e, room: n, @@ -157,7 +157,7 @@ async function W({ const g = new URLSearchParams(); t !== void 0 && g.append("environment", t), e !== void 0 && g.append("run", e.id.toString()), n !== void 0 && g.append("room", n.id.toString()), o !== void 0 && g.append("query", o), p !== void 0 && g.append("order", p), d !== void 0 && g.append("direction", d), s !== void 0 && (g.append("status_mail", s.id.toString()), g.append("page_size", "200")), c !== void 0 && (c = S(c), g.append("filter", btoa(JSON.stringify(c)))), g.append("page", a.toString()), g.append("page_size", r.toString()); let l = "list/equipment?" + g.toString(); - const _ = await i.get(l), { data: u } = _; + const f = await i.get(l), { data: u } = f; return { items: u._embedded.items, amountOfPages: u.page_count, @@ -166,7 +166,7 @@ async function W({ hasMore: u.page < u.page_count }; } -async function B() { +async function k() { let e = "list/equipment/status?" + new URLSearchParams().toString(); const n = await i.get(e), { data: s } = n; return { @@ -177,7 +177,7 @@ async function B() { hasMore: s.page < s.page_count }; } -async function Y({ +async function J({ equipment: t, module: e, statusMail: n @@ -194,13 +194,13 @@ async function Y({ hasMore: o.page < o.page_count }; } -async function K({ id: t }) { +async function Q({ id: t }) { if (isNaN(t)) return null; const e = await i.get("view/equipment/module/" + t), { data: n } = e; return n; } -async function V({ +async function $({ equipment: t, module: e, statusMail: n @@ -217,7 +217,7 @@ async function V({ hasMore: o.page < o.page_count }; } -async function k({ +async function X({ equipment: t, module: e, statusMail: n @@ -234,7 +234,7 @@ async function k({ hasMore: o.page < o.page_count }; } -async function J({ +async function Z({ module: t, pageSize: e, order: n, @@ -252,7 +252,7 @@ async function J({ hasMore: c.page < c.page_count }; } -async function Q({ +async function tt({ equipment: t, module: e, statusMail: n @@ -269,7 +269,7 @@ async function Q({ hasMore: o.page < o.page_count }; } -async function $({ +async function et({ equipment: t, statusMail: e, run: n @@ -286,7 +286,7 @@ async function $({ hasMore: o.page < o.page_count }; } -async function X({ +async function at({ equipment: t, module: e, which: n @@ -306,7 +306,7 @@ async function X({ hasMore: o.page < o.page_count }; } -async function Z({ +async function nt({ statusMail: t }) { const e = new URLSearchParams(); @@ -321,15 +321,15 @@ async function Z({ hasMore: a.page < a.page_count }; } -async function tt({ id: t }) { +async function st({ id: t }) { const e = await i.get("view/location/" + t), { data: n } = e; return n; } -async function et({ id: t }) { +async function rt({ id: t }) { const e = await i.get("view/room/" + t), { data: n } = e; return n; } -async function at({ +async function ot({ environment: t, room: e, pageSize: n = 25 @@ -346,7 +346,7 @@ async function at({ hasMore: o.page < o.page_count }; } -async function nt({ +async function it({ environment: t, withLocations: e }) { @@ -362,12 +362,12 @@ async function nt({ hasMore: r.page < r.page_count }; } -async function st({ id: t }) { +async function ct({ id: t }) { let e = await i.get("view/monitor/" + t); const { data: n } = e; return n; } -async function rt({ +async function pt({ equipmentId: t, monitorId: e }) { @@ -383,7 +383,7 @@ async function rt({ hasMore: r.page < r.page_count }; } -async function ot({ +async function gt({ equipment: t }) { const e = new URLSearchParams(); @@ -398,7 +398,7 @@ async function ot({ hasMore: a.page < a.page_count }; } -async function it({ +async function dt({ requirement: t, order: e, direction: n, @@ -417,7 +417,7 @@ async function it({ hasMore: p.page < p.page_count }; } -async function ct({ +async function mt({ requirement: t, result: e, order: n, @@ -437,7 +437,7 @@ async function ct({ hasMore: d.page < d.page_count }; } -async function pt({ +async function ut({ requirement: t }) { const e = new URLSearchParams(); @@ -452,7 +452,7 @@ async function pt({ hasMore: a.page < a.page_count }; } -async function gt({ +async function lt({ step: t, pageSize: e, order: n, @@ -470,7 +470,7 @@ async function gt({ hasMore: c.page < c.page_count }; } -async function dt({ +async function ft({ step: t, requirement: e, pageSize: n, @@ -489,17 +489,17 @@ async function dt({ hasMore: p.page < p.page_count }; } -async function mt({ id: t }) { +async function _t({ id: t }) { let e = "view/run/" + t; const n = await i.get(e), { data: s } = n; return s; } -async function ut({ id: t }) { +async function St({ id: t }) { let e = "view/run/step/" + t; const n = await i.get(e), { data: s } = n; return s; } -async function lt({ +async function Pt({ step: t, run: e }) { @@ -515,7 +515,7 @@ async function lt({ hasMore: r.page < r.page_count }; } -async function _t({ +async function ht({ run: t, page: e }) { @@ -531,20 +531,20 @@ async function _t({ hasMore: r.page < r.page_count }; } -async function ft({ run: t }) { - const e = new URLSearchParams(); - e.append("run", t.id.toString()), e.append("page_size", "10000"); - let n = "list/run/parts?" + e.toString(); - const s = await i.get(n), { data: a } = s; +async function Rt({ run: t, level: e }) { + const n = new URLSearchParams(); + n.append("run", t.id.toString()), n.append("page_size", "10000"), e !== void 0 && n.append("level", `${e}`); + let s = "list/run/parts?" + n.toString(); + const a = await i.get(s), { data: r } = a; return { - items: a._embedded.items, - amountOfPages: a.page_count, - currentPage: a.page, - totalItems: a.total_items, - hasMore: a.page < a.page_count + items: r._embedded.items, + amountOfPages: r.page_count, + currentPage: r.page, + totalItems: r.total_items, + hasMore: r.page < r.page_count }; } -async function St({ +async function wt({ run: t, page: e = 1, pageSize: n = 25 @@ -561,7 +561,7 @@ async function St({ hasMore: o.page < o.page_count }; } -async function Pt({ +async function vt({ environment: t, firstUnfinishedStepEquipment: e }) { @@ -578,13 +578,13 @@ async function Pt({ }; } var m = /* @__PURE__ */ ((t) => (t[t.START_PROCESSING = 1] = "START_PROCESSING", t[t.FINISH_PROCESSING = 2] = "FINISH_PROCESSING", t[t.FAILED_PROCESSING = 3] = "FAILED_PROCESSING", t[t.REWORK = 4] = "REWORK", t))(m || {}); -function ht(t) { +function It(t) { if (t.part_processing_failed_in_previous_step) return []; const e = t.latest_action?.type.id, n = []; return t.actions === 0 && n.push(m.START_PROCESSING), t.actions > 0 && e !== m.FINISH_PROCESSING && e !== m.FAILED_PROCESSING && n.push(m.FINISH_PROCESSING, m.FAILED_PROCESSING), t.actions > 0 && n.push(m.REWORK), n; } -async function wt({ +async function Lt({ measurement: t }) { const e = new URLSearchParams(); @@ -599,7 +599,7 @@ async function wt({ hasMore: a.page < a.page_count }; } -async function Rt({ +async function Ot({ runStep: t }) { const e = new URLSearchParams(); @@ -614,17 +614,17 @@ async function Rt({ hasMore: a.page < a.page_count }; } -async function vt(t) { +async function P(t) { if (!t) throw new Error("Run step is undefined when trying to start step"); return await i.create().patch("update/run/step/start/" + t.id, {}); } -async function It(t) { +async function h(t) { if (!t) throw new Error("Run step is undefined when trying to finish step"); return await i.create().patch("update/run/step/finish/" + t.id, {}); } -async function Lt({ +async function Ut({ step: t, pageSize: e }) { @@ -640,7 +640,7 @@ async function Lt({ hasMore: r.page < r.page_count }; } -async function Ot({ +async function yt({ runStep: t }) { const e = new URLSearchParams(); @@ -655,7 +655,7 @@ async function Ot({ hasMore: a.page < a.page_count }; } -async function Ut({ +async function bt({ step: t, run: e, page_size: n @@ -672,7 +672,7 @@ async function Ut({ hasMore: o.page < o.page_count }; } -async function bt({ +async function At({ part: t, step: e, page_size: n @@ -689,7 +689,7 @@ async function bt({ hasMore: o.page < o.page_count }; } -async function yt({ +async function R({ runStepPart: t, runStepPartAction: e }) { @@ -699,26 +699,38 @@ async function yt({ }), { data: a } = s; return a; } -async function At({ id: t }) { +async function Mt(t, e) { + const n = t.step; + return n.is_started || P(n), R({ runStepPart: t, runStepPartAction: e }); +} +async function Nt(t, e) { + if (t.is_finished || e.length <= 0) + return !1; + for (const n of e) + if (n.latest_action?.type.id !== m.FINISH_PROCESSING) + return !1; + return h(t).then(() => !0).catch(() => !1); +} +async function Dt({ id: t }) { const e = new URLSearchParams(); t !== void 0 && e.append("report", t.toString()); let n = "list/service/event/report/results?" + e.toString(); const s = await i.get(n), { data: a } = s; return a._embedded.items; } -async function Mt({ id: t }) { +async function Ct({ id: t }) { let e = await i.get("view/service/event/report/" + t); const { data: n } = e; return n; } -async function Nt({ id: t }) { +async function Et({ id: t }) { const e = new URLSearchParams(); e.append("report", t.toString()); let n = "list/service/event/report/results?" + e.toString(); const s = await i.get(n), { data: a } = s; return a._embedded.items; } -async function Dt({ +async function Tt({ equipmentId: t }) { const e = new URLSearchParams(); @@ -733,7 +745,7 @@ async function Dt({ hasMore: a.page < a.page_count }; } -async function Ct({ template: t, pageSize: e }) { +async function Ft({ template: t, pageSize: e }) { const n = new URLSearchParams(); t !== void 0 && n.append("template", t.id.toString()), e !== void 0 && n.append("page_size", e.toString()); let s = "list/template/step?" + n.toString(); @@ -745,7 +757,7 @@ async function Ct({ template: t, pageSize: e }) { totalItems: r.total_items }; } -async function Et({ reworkRecipes: t }) { +async function qt({ reworkRecipes: t }) { const e = new URLSearchParams(); t !== void 0 && t.map((r) => r.id).forEach((r) => { e.append("rework_recipe_id[]", r.toString()); @@ -759,78 +771,81 @@ async function Et({ reworkRecipes: t }) { totalItems: a.total_items }; } -var P = /* @__PURE__ */ ((t) => (t[t.STANDARD_PRODUCT = 1] = "STANDARD_PRODUCT", t[t.NON_STANDARD_PRODUCT = 2] = "NON_STANDARD_PRODUCT", t))(P || {}), h = /* @__PURE__ */ ((t) => (t[t.SOLID = 1] = "SOLID", t[t.LIQUID = 2] = "LIQUID", t[t.GAS = 3] = "GAS", t[t.OTHER = 4] = "OTHER", t))(h || {}), w = /* @__PURE__ */ ((t) => (t[t.Equipment = 1] = "Equipment", t[t.Accessory = 2] = "Accessory", t[t.Storage = 3] = "Storage", t))(w || {}), R = /* @__PURE__ */ ((t) => (t[t.DEFAULT = 1] = "DEFAULT", t[t.PRIORITY = 2] = "PRIORITY", t[t.ESCALATION = 3] = "ESCALATION", t))(R || {}), v = /* @__PURE__ */ ((t) => (t[t.ACTIVE = 1] = "ACTIVE", t[t.CLOSED = 2] = "CLOSED", t))(v || {}), I = /* @__PURE__ */ ((t) => (t[t.HIDE_ISSUES = 1] = "HIDE_ISSUES", t[t.SHOW_ISSUES = 2] = "SHOW_ISSUES", t[t.COLLAPSE_ISSUES = 3] = "COLLAPSE_ISSUES", t))(I || {}), L = /* @__PURE__ */ ((t) => (t[t.NAME = 1] = "NAME", t[t.MES_NAME = 2] = "MES_NAME", t[t.NUMBER = 3] = "NUMBER", t))(L || {}), O = /* @__PURE__ */ ((t) => (t[t.AREA = 1] = "AREA", t[t.AREA_PER_FACILITY = 2] = "AREA_PER_FACILITY", t[t.ROOM = 3] = "ROOM", t))(O || {}), U = /* @__PURE__ */ ((t) => (t.ASC = "ASC", t.DESC = "DESC", t))(U || {}), b = /* @__PURE__ */ ((t) => (t[t.RESEARCH = 1] = "RESEARCH", t[t.PRODUCTION = 2] = "PRODUCTION", t))(b || {}); +var w = /* @__PURE__ */ ((t) => (t[t.STANDARD_PRODUCT = 1] = "STANDARD_PRODUCT", t[t.NON_STANDARD_PRODUCT = 2] = "NON_STANDARD_PRODUCT", t))(w || {}), v = /* @__PURE__ */ ((t) => (t[t.SOLID = 1] = "SOLID", t[t.LIQUID = 2] = "LIQUID", t[t.GAS = 3] = "GAS", t[t.OTHER = 4] = "OTHER", t))(v || {}), I = /* @__PURE__ */ ((t) => (t[t.Equipment = 1] = "Equipment", t[t.Accessory = 2] = "Accessory", t[t.Storage = 3] = "Storage", t))(I || {}), L = /* @__PURE__ */ ((t) => (t.ProcessNextStepInEquipment = "ProcessNextStepInEquipment", t))(L || {}), O = /* @__PURE__ */ ((t) => (t[t.DEFAULT = 1] = "DEFAULT", t[t.PRIORITY = 2] = "PRIORITY", t[t.ESCALATION = 3] = "ESCALATION", t))(O || {}), U = /* @__PURE__ */ ((t) => (t[t.ACTIVE = 1] = "ACTIVE", t[t.CLOSED = 2] = "CLOSED", t))(U || {}), y = /* @__PURE__ */ ((t) => (t[t.HIDE_ISSUES = 1] = "HIDE_ISSUES", t[t.SHOW_ISSUES = 2] = "SHOW_ISSUES", t[t.COLLAPSE_ISSUES = 3] = "COLLAPSE_ISSUES", t))(y || {}), b = /* @__PURE__ */ ((t) => (t[t.NAME = 1] = "NAME", t[t.MES_NAME = 2] = "MES_NAME", t[t.NUMBER = 3] = "NUMBER", t))(b || {}), A = /* @__PURE__ */ ((t) => (t[t.AREA = 1] = "AREA", t[t.AREA_PER_FACILITY = 2] = "AREA_PER_FACILITY", t[t.ROOM = 3] = "ROOM", t))(A || {}), M = /* @__PURE__ */ ((t) => (t.ASC = "ASC", t.DESC = "DESC", t))(M || {}), N = /* @__PURE__ */ ((t) => (t[t.RESEARCH = 1] = "RESEARCH", t[t.PRODUCTION = 2] = "PRODUCTION", t))(N || {}); export { - h as ChemicalPhysicalStateEnum, - P as ChemicalStandardProductEnum, - O as ClassificationsOptionEnum, - U as DirectionOptionEnum, - w as EquipmentGrade, - v as EquipmentModuleIssueStatus, - R as EquipmentModuleIssueType, - L as OrderOptionEnum, + v as ChemicalPhysicalStateEnum, + w as ChemicalStandardProductEnum, + A as ClassificationsOptionEnum, + L as DashboardComponent, + M as DirectionOptionEnum, + I as EquipmentGrade, + U as EquipmentModuleIssueStatus, + O as EquipmentModuleIssueType, + b as OrderOptionEnum, m as RunStepPartActionEnum, - b as RunTypeEnum, - I as ShowIssuesOptionEnum, - C as configureAxiosHeaders, - D as fileToBase64, - It as finishStep, - ht as getAvailableRunStepPartActions, - E as getChemicalContainer, - G as getEquipment, - K as getEquipmentModule, - A as getFilter, - tt as getLocation, - M as getMe, - st as getMonitor, - et as getRoom, - mt as getRun, - ut as getRunStep, - Mt as getServiceEventReport, - j as getSetup, - x as getStatusMail, - Ct as getTemplateSteps, - T as listChemicalContainerExternalLabels, - F as listChemicalContainerMethodsOfUse, - q as listChemicalContainerPurposes, - z as listChemicalContainerTypes, - H as listChemicals, - k as listEcn, - Y as listEcnAttachments, - W as listEquipment, - J as listEquipmentModuleParameters, - B as listEquipmentStatus, - V as listIssueAttachments, - Q as listIssues, - Z as listLocationMessages, - at as listLocations, - wt as listMeasurementResults, - $ as listModules, - ct as listMonitorRequirementResultMonitorStepParameterValues, - it as listMonitorRequirementResults, - pt as listMonitorRequirementTargets, - rt as listMonitorRequirements, - gt as listMonitorStepFiles, - dt as listMonitorStepParameters, - ot as listMonitors, - At as listReportResult, - lt as listRequirements, - X as listReservations, - nt as listRooms, - _t as listRunChangelog, - ft as listRunParts, - Rt as listRunStepChecklistItems, - Lt as listRunStepFiles, - Ot as listRunStepParameters, - bt as listRunStepPartActions, - Ut as listRunStepParts, - St as listRunSteps, - Pt as listRuns, - Nt as listServiceEventReportResult, - Dt as listServices, - Et as listTemplates, - N as listUsers, - yt as setRunStepPartAction, - vt as startStep + N as RunTypeEnum, + y as ShowIssuesOptionEnum, + q as configureAxiosHeaders, + F as fileToBase64, + h as finishStep, + Nt as finishStepWhenAllPartsAreFinished, + It as getAvailableRunStepPartActions, + H as getChemicalContainer, + B as getEquipment, + Q as getEquipmentModule, + C as getFilter, + st as getLocation, + E as getMe, + ct as getMonitor, + rt as getRoom, + _t as getRun, + St as getRunStep, + Ct as getServiceEventReport, + Y as getSetup, + K as getStatusMail, + Ft as getTemplateSteps, + z as listChemicalContainerExternalLabels, + G as listChemicalContainerMethodsOfUse, + x as listChemicalContainerPurposes, + j as listChemicalContainerTypes, + W as listChemicals, + X as listEcn, + J as listEcnAttachments, + V as listEquipment, + Z as listEquipmentModuleParameters, + k as listEquipmentStatus, + $ as listIssueAttachments, + tt as listIssues, + nt as listLocationMessages, + ot as listLocations, + Lt as listMeasurementResults, + et as listModules, + mt as listMonitorRequirementResultMonitorStepParameterValues, + dt as listMonitorRequirementResults, + ut as listMonitorRequirementTargets, + pt as listMonitorRequirements, + lt as listMonitorStepFiles, + ft as listMonitorStepParameters, + gt as listMonitors, + Dt as listReportResult, + Pt as listRequirements, + at as listReservations, + it as listRooms, + ht as listRunChangelog, + Rt as listRunParts, + Ot as listRunStepChecklistItems, + Ut as listRunStepFiles, + yt as listRunStepParameters, + At as listRunStepPartActions, + bt as listRunStepParts, + wt as listRunSteps, + vt as listRuns, + Et as listServiceEventReportResult, + Tt as listServices, + qt as listTemplates, + T as listUsers, + Mt as performRunStepPartAction, + R as setRunStepPartAction, + P as startStep }; //# sourceMappingURL=index.js.map diff --git a/dist/index.js.map b/dist/index.js.map index 4703f44..605d419 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../src/core/api/getFilter.ts","../src/core/api/getMe.ts","../src/core/api/listUsers.ts","../src/core/functions/fileToBase64.ts","../src/core/functions/configureAxiosHeaders.ts","../src/chemical/api/getChemicalContainer.ts","../src/chemical/api/listChemicalContainerExternalLabels.ts","../src/chemical/api/listChemicalContainerMethodsOfUse.ts","../src/chemical/api/listChemicalContainerPurposes.ts","../src/chemical/api/listChemicalContainerTypes.ts","../src/chemical/api/listChemicals.ts","../src/equipment/api/getEquipment.ts","../src/equipment/api/getSetup.ts","../src/equipment/api/getStatusMail.ts","../src/equipment/api/listEquipment.ts","../src/equipment/api/listEquipmentStatus.ts","../src/equipment/api/module/ecn/listEcnAttachments.ts","../src/equipment/api/module/getEquipmentModule.ts","../src/equipment/api/module/issue/listIssueAttachments.ts","../src/equipment/api/module/listEcn.ts","../src/equipment/api/module/listEquipmentModuleParameters.ts","../src/equipment/api/module/listIssues.ts","../src/equipment/api/module/listModules.ts","../src/equipment/api/module/listReservations.ts","../src/location/api/listLocationMessages.ts","../src/room/api/getLocation.ts","../src/room/api/getRoom.ts","../src/room/api/listLocations.ts","../src/room/api/listRooms.ts","../src/monitor/api/getMonitor.ts","../src/monitor/api/listMonitorRequirements.ts","../src/monitor/api/listMonitors.ts","../src/monitor/api/measurement/listMonitorRequirementResults.ts","../src/monitor/api/measurement/result/listMonitorRequirementResultMonitorStepParameterValues.ts","../src/monitor/api/requirement/listMonitorRequirementTargets.ts","../src/monitor/api/step/listMonitorStepFiles.ts","../src/monitor/api/step/listMonitorStepParameters.ts","../src/run/api/getRun.ts","../src/run/api/getRunStep.ts","../src/run/api/listRequirements.ts","../src/run/api/listRunChangelog.ts","../src/run/api/listRunParts.ts","../src/run/api/listRunSteps.ts","../src/run/api/listRuns.ts","../src/run/enum/runStepPartActionEnum.ts","../src/run/api/getRunStepPartActions.ts","../src/run/api/measurement/listResults.ts","../src/run/api/step/listRunStepChecklistItems.ts","../src/run/api/step/startStep.ts","../src/run/api/step/finishStep.ts","../src/run/api/step/listRunStepFiles.ts","../src/run/api/step/listRunStepParameters.ts","../src/run/api/step/listRunStepParts.ts","../src/run/api/step/part/listRunStepPartActions.ts","../src/run/api/step/part/setRunStepPartAction.ts","../src/service/api/getReportResult.ts","../src/service/api/getServiceEventReport.ts","../src/service/api/listServiceEventReportResult.ts","../src/service/api/listServices.ts","../src/template/api/getTemplateSteps.ts","../src/template/api/listTemplates.ts","../src/chemical/interfaces/chemical.ts","../src/equipment/interfaces/equipment.ts","../src/equipment/interfaces/equipment/module/equipmentModuleIssue.ts","../src/equipment/interfaces/statusMail.ts","../src/run/interfaces/run.ts"],"sourcesContent":["import axios from \"axios\";\nimport { FilterData, FilterFormData } from \"../interfaces/filter\";\nimport { ApiResponse } from \"../interfaces/response\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function getFilter({\n service,\n environment,\n formResult,\n}: {\n service: string;\n environment?: string;\n formResult?: FilterData;\n}): Promise {\n const searchParams = new URLSearchParams();\n\n if (service !== undefined) {\n searchParams.append(\"service\", service);\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (formResult !== undefined) {\n let formData = JSON.stringify(cleanFilterData(formResult));\n searchParams.append(\"formResult\", btoa(formData));\n }\n\n let url = \"view/filter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n filter: data._embedded.items[0],\n facet: data._embedded.items[1],\n };\n}\n","import axios from \"axios\";\nimport {User} from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport default async function getMe() {\n const response = await axios.get(\"me\");\n const {data} = response;\n return data;\n}\n","import axios from \"axios\";\nimport { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listUsers({ query, selection}: { query?: string; selection?: number;}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n if (selection) {\n searchParams.append(\"selection\", selection.toString());\n }\n\n let url = \"list/user?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n};\n","export default function fileToBase64(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const result = reader.result as string;\n resolve(result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n","import axios from \"axios\";\n\nexport const configureAxiosHeaders = (token: string, server_uri: string) => {\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\n axios.defaults.headers.common[\"Accept\"] = \"application/json\";\n axios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n\n axios.defaults.baseURL = server_uri;\n};\n","import axios from \"axios\";\nimport { ChemicalContainer } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/chemicalContainer\";\n\nexport default async function getChemicalContainer({ id }: { id: number }) {\n const response = await axios.get(\"view/chemical/container/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerExternalLabel } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerExternalLabel\";\n\nexport default async function listChemicalContainerExternalLabels({\n qrCodeContent,\n}: {\n qrCodeContent: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"qr_code_content\", qrCodeContent);\n\n let url = \"list/chemical/container/external-label?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerMethodOfUse } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerMethodOfUse\";\n\nexport default async function listChemicalContainerMethodsOfUse({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n let url = \"list/chemical/container/method-of-use?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerPurpose } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerPurpose\";\n\nexport default async function listChemicalContainerPurposes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/purpose?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerType } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerType\";\n\nexport default async function listChemicalContainerTypes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/type?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\n// migrated from react-router-dom createSearchParams to URLSearchParams\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Chemical } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical\";\n\nexport default async function listChemicals({ query }: { query?: string }): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function getEquipment({ id }: { id: number }) {\n const response = await axios.get(\"view/equipment/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Setup } from \"../interfaces/setup\";\n\nexport default async function getSetup({ id }: { id: number }) {\n const response = await axios.get(\"view/setup/\" + id);\n const { data } = response;\n\n return data;\n}\n","import axios from \"axios\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function getStatusMail({ id }: { id: number }) {\n const response = await axios.get(\"view/status-mail/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport { FilterData } from \"@jield/solodb-typescript-core/core/interfaces/filter\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function listEquipment({\n environment,\n run,\n room,\n statusMail,\n page = 1,\n pageSize = 25,\n query,\n filter,\n order,\n direction\n}: {\n environment?: string;\n run?: Run;\n room?: Room;\n statusMail?: StatusMail;\n page?: number;\n pageSize?: number;\n query?: string;\n filter?: FilterData;\n order?: string;\n direction?: \"desc\" | \"asc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n if (room !== undefined) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n if (query !== undefined) {\n searchParams.append(\"query\", query);\n }\n\n if (order !== undefined) {\n searchParams.append(\"order\", order);\n }\n\n if (direction !== undefined) {\n searchParams.append(\"direction\", direction);\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n\n // Use a reasonable page size for infinite scrolling\n searchParams.append(\"page_size\", \"200\");\n }\n\n if (filter !== undefined) {\n filter = cleanFilterData(filter);\n searchParams.append(\"filter\", btoa(JSON.stringify(filter)));\n }\n\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/equipment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentStatus } from \"@jield/solodb-typescript-core/equipment/interfaces/equipmentStatus\";\n\nexport default async function listEquipmentStatus(): Promise> {\n const searchParams = new URLSearchParams();\n let url = \"list/equipment/status?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleEcnAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/ecn/equipmentModuleEcnAttachment\";\n\nexport default async function listEcnAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function getEquipmentModule({ id }: { id: number }) {\n if (isNaN(id)) {\n return null;\n }\n\n const response = await axios.get(\"view/equipment/module/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssueAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/issue/equipmentModuleIssueAttachment\";\n\nexport default async function listIssueAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleEcn } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleEcn\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function listEcn({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentModuleParameter } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleParameter\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listEquipmentModuleParameters({\n module,\n pageSize,\n order,\n direction,\n}: {\n module?: EquipmentModule;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/equipment/module/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssue } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleIssue\";\n\nexport default async function listIssues({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listModules({\n equipment,\n statusMail,\n run,\n}: {\n equipment?: Equipment;\n statusMail?: StatusMail;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n let url = \"list/equipment/module?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleReservation } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleReservation\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listReservations({\n equipment,\n module,\n which,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n which?: \"active\" | \"past\" | \"upcoming\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (which !== undefined) {\n searchParams.append(\"which\", which);\n }\n\n let url = \"list/equipment/reservation?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n if (which == \"active\") {\n for (let i = 0; i < data._embedded.items.length; i++) {\n data._embedded.items[i].active = true;\n }\n }\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { LocationMessage } from \"@jield/solodb-typescript-core/location/interfaces/locationMessage\";\n\nexport default async function listLocationMessages({\n statusMail,\n}: {\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/location/message?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\n\nexport default async function getLocation({ id }: { id: number }) {\n const response = await axios.get(\"view/location/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function getRoom({ id }: { id: number }) {\n const response = await axios.get(\"view/room/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listLocations({\n environment,\n room,\n pageSize = 25,\n}: {\n environment?: string;\n room?: Room;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (room) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/location?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listRooms({\n environment,\n withLocations,\n}: {\n environment?: string;\n withLocations?: boolean;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (withLocations) {\n searchParams.append(\"which\", \"with_locations\");\n }\n\n let url = \"list/room?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\n\nexport default async function getMonitor({ id }: { id: number }) {\n let response = await axios.get(\"view/monitor/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirements({\n equipmentId,\n monitorId,\n}: {\n equipmentId?: number;\n monitorId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n if (monitorId) {\n searchParams.append(\"monitor\", monitorId.toString());\n }\n\n let url = \"list/monitor/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function listMonitors({\n equipment,\n}: {\n equipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n searchParams.append(\"ad_hoc\", \"true\");\n\n let url = \"list/monitor?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementResults({\n requirement,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n monitor?: Monitor;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorResultStepParameterValue } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/result/monitorResultStepParameterValue\";\n\nexport default async function listMonitorRequirementResultMonitorStepParameterValues({\n requirement,\n result,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n result?: MonitorMeasurementResult;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (result) {\n searchParams.append(\"result\", result.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result/step-parameter-value?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { MonitorRequirementTarget } from \"@jield/solodb-typescript-core/monitor/interfaces/requirement/monitorRequirementTarget\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementTargets({\n requirement,\n}: {\n requirement?: MonitorRequirement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n let url = \"list/monitor/requirement/target?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorStepFiles({\n step,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n pageSize?: number;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/file?\" + searchParams.toString();\n const response = await axios.get>(url);\n\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorStepParameter } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor/step/parameter\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\n\nexport default async function listMonitorStepParameters({\n step,\n requirement,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n requirement?: MonitorRequirement;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (requirement !== undefined) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function getRun({ id }: { id: number }) {\n let url = \"view/run/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport default async function getRunStep({ id }: { id: number }) {\n let url = \"view/run/step/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { Requirement } from \"@jield/solodb-typescript-core/run/interfaces/requirement\";\n\nexport default async function listRequirements({\n step,\n run,\n}: {\n step?: RunStep;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", String(step.id));\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", String(run.id));\n }\n\n let url = \"list/run/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Changelog } from \"@jield/solodb-typescript-core/run/interfaces/run/changelog\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunChangelog({\n run,\n page,\n}: {\n run: Run;\n page: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n\n let url = \"list/run/changelog?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunPart } from \"@jield/solodb-typescript-core/run/interfaces/run/runPart\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunParts({ run }: { run: Run }): Promise> {\n const searchParams = new URLSearchParams();\n searchParams.append(\"run\", run.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n\n let url = \"list/run/parts?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunSteps({\n run,\n page = 1,\n pageSize = 25,\n}: {\n run: Run;\n page?: number;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n let url = \"list/run/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRuns({\n environment,\n firstUnfinishedStepEquipment,\n}: {\n environment?: string;\n firstUnfinishedStepEquipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (firstUnfinishedStepEquipment !== undefined) {\n searchParams.append(\"operator\", \"1\");\n searchParams.append(\"first_unfinished_step_equipment_id\", firstUnfinishedStepEquipment.id.toString());\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n let url = \"list/run?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","export enum RunStepPartActionEnum {\n START_PROCESSING = 1,\n FINISH_PROCESSING = 2,\n FAILED_PROCESSING = 3,\n REWORK = 4,\n}\n","import { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\nexport default function getAvailableRunStepPartActions(runStepPart: RunStepPart): RunStepPartActionEnum[] {\n // if it already failed in a previous step, nothing can be done\n if (runStepPart.part_processing_failed_in_previous_step) {\n return [];\n }\n\n const latestActionId = runStepPart.latest_action?.type.id;\n const actions: RunStepPartActionEnum[] = [];\n\n // your current conditions, just centralized:\n if (runStepPart.actions === 0) {\n actions.push(RunStepPartActionEnum.START_PROCESSING);\n }\n\n if (\n runStepPart.actions > 0 &&\n latestActionId !== RunStepPartActionEnum.FINISH_PROCESSING &&\n latestActionId !== RunStepPartActionEnum.FAILED_PROCESSING\n ) {\n actions.push(RunStepPartActionEnum.FINISH_PROCESSING, RunStepPartActionEnum.FAILED_PROCESSING);\n }\n\n if (runStepPart.actions > 0) {\n actions.push(RunStepPartActionEnum.REWORK);\n }\n\n return actions;\n};\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Measurement } from \"@jield/solodb-typescript-core/run/interfaces/measurement\";\nimport { MeasurementResult } from \"@jield/solodb-typescript-core/run/interfaces/measurement/result\";\n\nexport default async function listMeasurementResults({\n measurement,\n}: {\n measurement: Measurement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"measurement\", String(measurement.id));\n\n let url = \"/list/run/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepChecklistItem } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepChecklistItem\";\n\nexport default async function listRunStepChecklistItems({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/checklist?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\nexport default async function startStep(runStep: RunStep): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to start step\"); \n }\n\n const resp = await axios.create().patch(\"update/run/step/start/\" + runStep.id, {});\n \n return resp;\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\nexport default async function finishStep(runStep: RunStep): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to finish step\"); \n }\n\n const resp = await axios.create().patch(\"update/run/step/finish/\" + runStep.id, {});\n \n return resp;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunStepFiles({\n step,\n pageSize,\n}: {\n step?: RunStep;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n //We want the file to be ordered by date_created DESC\n searchParams.append(\"order\", \"date-created\");\n searchParams.append(\"direction\", \"DESC\");\n\n let url = \"list/run/step/file?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepParameter } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepParameter\";\n\nexport default async function listRunStepParameters({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunStepParts({\n step,\n run,\n page_size,\n}: {\n step?: RunStep;\n run?: Run;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n } else {\n searchParams.append(\"page_size\", \"10000\");\n }\n\n let url = \"list/run/step/part?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\n\nexport default async function listRunStepPartActions({\n part,\n step,\n page_size,\n}: {\n part?: RunStepPart;\n step?: RunStep;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (part !== undefined) {\n searchParams.append(\"part\", part.id.toString());\n }\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n }\n\n let url = \"list/run/step/part/action?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStepPartActionEnum } from \"@jield/solodb-typescript-core/run/enum/runStepPartActionEnum\";\n\nexport default async function setRunStepPartAction({\n runStepPart,\n runStepPartAction,\n}: {\n runStepPart: RunStepPart;\n runStepPartAction: RunStepPartActionEnum;\n}): Promise {\n let url = \"create/run/step/part/action\";\n\n const response = await axios.post(url, {\n run_step_part_id: runStepPart.id,\n type: runStepPartAction,\n });\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n if (id !== undefined) {\n searchParams.append(\"report\", id.toString());\n }\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ServiceEventReport } from \"@jield/solodb-typescript-core/service/interfaces/service/event/serviceEventReport\";\n\nexport default async function getServiceEventReport({ id }: { id: number }) {\n let response = await axios.get(\"view/service/event/report/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listServiceEventReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"report\", id.toString());\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Service } from \"@jield/solodb-typescript-core/service/interfaces/service\";\n\nexport default async function listServices({\n equipmentId,\n}: {\n equipmentId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n let url = \"list/service?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { TemplateStep } from \"@jield/solodb-typescript-core/template/interfaces/templateStep\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function getTemplateSteps({ template, pageSize }: { template?: Template; pageSize?: number }) {\n const searchParams = new URLSearchParams();\n\n if (template !== undefined) {\n searchParams.append(\"template\", template.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n let url = \"list/template/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n steps: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import axios from \"axios\";\nimport { Recipe } from \"@jield/solodb-typescript-core/process/interfaces/module/recipe\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listTemplates({ reworkRecipes }: { reworkRecipes?: Recipe[] }) {\n const searchParams = new URLSearchParams();\n\n if (reworkRecipes !== undefined) {\n //Add the rework recipe ids to the search params, in array notation\n reworkRecipes\n .map((recipe) => recipe.id)\n .forEach((id) => {\n searchParams.append(\"rework_recipe_id[]\", id.toString());\n });\n }\n\n let url = \"list/template?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n templates: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import { MainChemical } from \"@jield/solodb-typescript-core/chemical/interfaces/mainChemical\";\nimport { SafetyStatement } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyStatement\";\nimport { SafetyIcon } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyIcon\";\n\nexport enum ChemicalStandardProductEnum {\n STANDARD_PRODUCT = 1,\n NON_STANDARD_PRODUCT = 2,\n}\n\nexport enum ChemicalPhysicalStateEnum {\n SOLID = 1,\n LIQUID = 2,\n GAS = 3,\n OTHER = 4,\n}\n\nexport interface Chemical {\n id: number;\n name: string;\n cas_number: string | null;\n chemical_formula: string | null;\n ehs_link: string | null;\n cmr: string[];\n description: string | null;\n is_standard_product: boolean;\n standard_product: ChemicalStandardProductEnum;\n physical_state: ChemicalPhysicalStateEnum;\n is_halogenated: boolean;\n contains_metals: boolean;\n main_chemical: MainChemical | null;\n safety_statement: SafetyStatement[];\n safety_icons: SafetyIcon[];\n}\n","import {Room} from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport {\n EquipmentModuleStatus\n} from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleStatus\";\nimport {EquipmentProperty} from \"./equipment/equipmentProperty\";\nimport {\n Setup,\n SetupWithoutMainEquipmentAndSetupEquipment\n} from \"@jield/solodb-typescript-core/equipment/interfaces/setup\";\nimport {Area} from \"@jield/solodb-typescript-core/location/interfaces/area\";\n\nexport enum EquipmentGrade {\n \"Equipment\" = 1,\n \"Accessory\" = 2,\n \"Storage\" = 3,\n}\n\n\nexport interface Equipment {\n id: number;\n name: string;\n number: string;\n mes_name: string;\n active: boolean;\n active_in_mes: boolean;\n reservation_possible: boolean;\n is_main_in_setup: boolean;\n setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n has_setup_equipment: boolean;\n is_in_fixed_setup: boolean;\n fixed_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n is_in_active_setup: boolean;\n active_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n main_tool_module_id: number | null;\n main_tool_latest_status?: EquipmentModuleStatus;\n is_available_for_rental: boolean;\n properties?: EquipmentProperty[];\n room: Room;\n types: string[];\n grade: EquipmentGrade;\n area: Area | null;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum EquipmentModuleIssueType {\n DEFAULT = 1,\n PRIORITY = 2,\n ESCALATION = 3,\n}\n\nexport enum EquipmentModuleIssueStatus {\n ACTIVE = 1,\n CLOSED = 2,\n}\n\nexport interface EquipmentModuleIssue {\n id: number;\n module_id: number;\n date_created: string;\n date_closed?: string;\n last_update?: string;\n issue: string;\n description: string;\n issue_type: EquipmentModuleIssueType;\n status: EquipmentModuleIssueStatus;\n owner: User;\n updated_by?: User;\n forecast_up: string;\n actions: string;\n attachments: number;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum ShowIssuesOptionEnum {\n HIDE_ISSUES = 1,\n SHOW_ISSUES = 2,\n COLLAPSE_ISSUES = 3,\n}\n\nexport enum OrderOptionEnum {\n NAME = 1,\n MES_NAME = 2,\n NUMBER = 3,\n}\n\nexport enum ClassificationsOptionEnum {\n AREA = 1,\n AREA_PER_FACILITY = 2,\n ROOM = 3,\n}\n\nexport enum DirectionOptionEnum {\n ASC = \"ASC\",\n DESC = \"DESC\",\n}\n\nexport interface StatusMail {\n id: number;\n name: string;\n date_created: string;\n last_updated: string | null;\n filter: {\n messageType: string[];\n MESStatus: string[];\n };\n equipment_filter: string;\n sequence: number;\n show_issues_with_priority: boolean;\n show_in_navigation: boolean;\n show_tool_up: boolean;\n show_issues: ShowIssuesOptionEnum;\n show_reservations: boolean;\n classification: ClassificationsOptionEnum;\n order: OrderOptionEnum;\n direction: DirectionOptionEnum;\n user: User;\n to: string;\n cc: string;\n bcc: string;\n subject: string;\n}\n","import { BatchCard } from \"@jield/solodb-typescript-core/run/interfaces/run/batchCard\";\nimport { HoldCode } from \"@jield/solodb-typescript-core/run/interfaces/run/holdCode\";\nimport { Priority } from \"@jield/solodb-typescript-core/run/interfaces/run/priority\";\nimport { Project } from \"@jield/solodb-typescript-core/core/interfaces/project\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport enum RunTypeEnum {\n RESEARCH = 1,\n PRODUCTION = 2,\n}\n\nexport interface Run {\n id: number;\n label: string;\n name: string;\n amount_of_steps: number;\n run_type: RunTypeEnum;\n responsible: string;\n status: string;\n first_unfinished_step?: RunStep;\n last_finished_step?: RunStep;\n has_batch_card: boolean;\n batch_card?: BatchCard;\n hold_code?: HoldCode;\n priority?: Priority;\n project: Project;\n amount_root_parts: number;\n access: {\n edit: boolean;\n };\n}\n"],"names":["cleanFilterData","data","cleanedData","_","facet","getFilter","service","environment","formResult","searchParams","formData","url","response","axios","getMe","listUsers","query","selection","fileToBase64","file","resolve","reject","reader","result","configureAxiosHeaders","token","server_uri","getChemicalContainer","id","listChemicalContainerExternalLabels","qrCodeContent","listChemicalContainerMethodsOfUse","listChemicalContainerPurposes","listChemicalContainerTypes","listChemicals","getEquipment","getSetup","getStatusMail","listEquipment","run","room","statusMail","page","pageSize","filter","order","direction","listEquipmentStatus","listEcnAttachments","equipment","module","getEquipmentModule","listIssueAttachments","listEcn","listEquipmentModuleParameters","listIssues","listModules","listReservations","which","i","listLocationMessages","getLocation","getRoom","listLocations","listRooms","withLocations","getMonitor","listMonitorRequirements","equipmentId","monitorId","listMonitors","listMonitorRequirementResults","requirement","listMonitorRequirementResultMonitorStepParameterValues","listMonitorRequirementTargets","listMonitorStepFiles","step","listMonitorStepParameters","getRun","getRunStep","listRequirements","listRunChangelog","listRunParts","listRunSteps","listRuns","firstUnfinishedStepEquipment","RunStepPartActionEnum","getAvailableRunStepPartActions","runStepPart","latestActionId","actions","listMeasurementResults","measurement","listRunStepChecklistItems","runStep","startStep","finishStep","listRunStepFiles","listRunStepParameters","listRunStepParts","page_size","listRunStepPartActions","part","setRunStepPartAction","runStepPartAction","listReportResult","getServiceEventReport","listServiceEventReportResult","listServices","getTemplateSteps","template","listTemplates","reworkRecipes","recipe","ChemicalStandardProductEnum","ChemicalPhysicalStateEnum","EquipmentGrade","EquipmentModuleIssueType","EquipmentModuleIssueStatus","ShowIssuesOptionEnum","OrderOptionEnum","ClassificationsOptionEnum","DirectionOptionEnum","RunTypeEnum"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/core/api/getFilter.ts","../src/core/api/getMe.ts","../src/core/api/listUsers.ts","../src/core/functions/fileToBase64.ts","../src/core/functions/configureAxiosHeaders.ts","../src/chemical/api/getChemicalContainer.ts","../src/chemical/api/listChemicalContainerExternalLabels.ts","../src/chemical/api/listChemicalContainerMethodsOfUse.ts","../src/chemical/api/listChemicalContainerPurposes.ts","../src/chemical/api/listChemicalContainerTypes.ts","../src/chemical/api/listChemicals.ts","../src/equipment/api/getEquipment.ts","../src/equipment/api/getSetup.ts","../src/equipment/api/getStatusMail.ts","../src/equipment/api/listEquipment.ts","../src/equipment/api/listEquipmentStatus.ts","../src/equipment/api/module/ecn/listEcnAttachments.ts","../src/equipment/api/module/getEquipmentModule.ts","../src/equipment/api/module/issue/listIssueAttachments.ts","../src/equipment/api/module/listEcn.ts","../src/equipment/api/module/listEquipmentModuleParameters.ts","../src/equipment/api/module/listIssues.ts","../src/equipment/api/module/listModules.ts","../src/equipment/api/module/listReservations.ts","../src/location/api/listLocationMessages.ts","../src/room/api/getLocation.ts","../src/room/api/getRoom.ts","../src/room/api/listLocations.ts","../src/room/api/listRooms.ts","../src/monitor/api/getMonitor.ts","../src/monitor/api/listMonitorRequirements.ts","../src/monitor/api/listMonitors.ts","../src/monitor/api/measurement/listMonitorRequirementResults.ts","../src/monitor/api/measurement/result/listMonitorRequirementResultMonitorStepParameterValues.ts","../src/monitor/api/requirement/listMonitorRequirementTargets.ts","../src/monitor/api/step/listMonitorStepFiles.ts","../src/monitor/api/step/listMonitorStepParameters.ts","../src/run/api/getRun.ts","../src/run/api/getRunStep.ts","../src/run/api/listRequirements.ts","../src/run/api/listRunChangelog.ts","../src/run/api/listRunParts.ts","../src/run/api/listRunSteps.ts","../src/run/api/listRuns.ts","../src/run/enum/runStepPartActionEnum.ts","../src/run/api/getRunStepPartActions.ts","../src/run/api/measurement/listResults.ts","../src/run/api/step/listRunStepChecklistItems.ts","../src/run/api/step/startStep.ts","../src/run/api/step/finishStep.ts","../src/run/api/step/listRunStepFiles.ts","../src/run/api/step/listRunStepParameters.ts","../src/run/api/step/listRunStepParts.ts","../src/run/api/step/part/listRunStepPartActions.ts","../src/run/api/step/part/setRunStepPartAction.ts","../src/run/functions/performRunStepPartAction.ts","../src/run/functions/finishStepWhenAllPartsAreFinished.ts","../src/service/api/getReportResult.ts","../src/service/api/getServiceEventReport.ts","../src/service/api/listServiceEventReportResult.ts","../src/service/api/listServices.ts","../src/template/api/getTemplateSteps.ts","../src/template/api/listTemplates.ts","../src/chemical/interfaces/chemical.ts","../src/equipment/interfaces/equipment.ts","../src/equipment/interfaces/equipment/module/equipmentModuleIssue.ts","../src/equipment/interfaces/statusMail.ts","../src/run/interfaces/run.ts"],"sourcesContent":["import axios from \"axios\";\nimport { FilterData, FilterFormData } from \"../interfaces/filter\";\nimport { ApiResponse } from \"../interfaces/response\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function getFilter({\n service,\n environment,\n formResult,\n}: {\n service: string;\n environment?: string;\n formResult?: FilterData;\n}): Promise {\n const searchParams = new URLSearchParams();\n\n if (service !== undefined) {\n searchParams.append(\"service\", service);\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (formResult !== undefined) {\n let formData = JSON.stringify(cleanFilterData(formResult));\n searchParams.append(\"formResult\", btoa(formData));\n }\n\n let url = \"view/filter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n filter: data._embedded.items[0],\n facet: data._embedded.items[1],\n };\n}\n","import axios from \"axios\";\nimport {User} from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport default async function getMe() {\n const response = await axios.get(\"me\");\n const {data} = response;\n return data;\n}\n","import axios from \"axios\";\nimport { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listUsers({ query, selection}: { query?: string; selection?: number;}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n if (selection) {\n searchParams.append(\"selection\", selection.toString());\n }\n\n let url = \"list/user?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n};\n","export default function fileToBase64(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const result = reader.result as string;\n resolve(result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n","import axios from \"axios\";\n\nexport const configureAxiosHeaders = (token: string, server_uri: string) => {\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\n axios.defaults.headers.common[\"Accept\"] = \"application/json\";\n axios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n\n axios.defaults.baseURL = server_uri;\n};\n","import axios from \"axios\";\nimport { ChemicalContainer } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/chemicalContainer\";\n\nexport default async function getChemicalContainer({ id }: { id: number }) {\n const response = await axios.get(\"view/chemical/container/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerExternalLabel } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerExternalLabel\";\n\nexport default async function listChemicalContainerExternalLabels({\n qrCodeContent,\n}: {\n qrCodeContent: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"qr_code_content\", qrCodeContent);\n\n let url = \"list/chemical/container/external-label?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerMethodOfUse } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerMethodOfUse\";\n\nexport default async function listChemicalContainerMethodsOfUse({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n let url = \"list/chemical/container/method-of-use?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerPurpose } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerPurpose\";\n\nexport default async function listChemicalContainerPurposes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/purpose?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ChemicalContainerType } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical/container/chemicalContainerType\";\n\nexport default async function listChemicalContainerTypes({\n query,\n}: {\n query?: string;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical/container/type?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\n// migrated from react-router-dom createSearchParams to URLSearchParams\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Chemical } from \"@jield/solodb-typescript-core/chemical/interfaces/chemical\";\n\nexport default async function listChemicals({ query }: { query?: string }): Promise> {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.append(\"query\", query);\n }\n\n let url = \"list/chemical?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function getEquipment({ id }: { id: number }) {\n const response = await axios.get(\"view/equipment/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Setup } from \"../interfaces/setup\";\n\nexport default async function getSetup({ id }: { id: number }) {\n const response = await axios.get(\"view/setup/\" + id);\n const { data } = response;\n\n return data;\n}\n","import axios from \"axios\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function getStatusMail({ id }: { id: number }) {\n const response = await axios.get(\"view/status-mail/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport { FilterData } from \"@jield/solodb-typescript-core/core/interfaces/filter\";\n\nfunction cleanFilterData(data: FilterData): FilterData {\n let cleanedData = { ...data };\n cleanedData.facet = Object.fromEntries(Object.entries(data.facet).filter(([_, facet]) => facet.values.length > 0));\n\n if (data.filter.general.length <= 0) {\n // @ts-expect-error\n cleanedData.filter = {};\n }\n return cleanedData;\n}\n\nexport default async function listEquipment({\n environment,\n run,\n room,\n statusMail,\n page = 1,\n pageSize = 25,\n query,\n filter,\n order,\n direction\n}: {\n environment?: string;\n run?: Run;\n room?: Room;\n statusMail?: StatusMail;\n page?: number;\n pageSize?: number;\n query?: string;\n filter?: FilterData;\n order?: string;\n direction?: \"desc\" | \"asc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n if (room !== undefined) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n if (query !== undefined) {\n searchParams.append(\"query\", query);\n }\n\n if (order !== undefined) {\n searchParams.append(\"order\", order);\n }\n\n if (direction !== undefined) {\n searchParams.append(\"direction\", direction);\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n\n // Use a reasonable page size for infinite scrolling\n searchParams.append(\"page_size\", \"200\");\n }\n\n if (filter !== undefined) {\n filter = cleanFilterData(filter);\n searchParams.append(\"filter\", btoa(JSON.stringify(filter)));\n }\n\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/equipment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentStatus } from \"@jield/solodb-typescript-core/equipment/interfaces/equipmentStatus\";\n\nexport default async function listEquipmentStatus(): Promise> {\n const searchParams = new URLSearchParams();\n let url = \"list/equipment/status?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleEcnAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/ecn/equipmentModuleEcnAttachment\";\n\nexport default async function listEcnAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function getEquipmentModule({ id }: { id: number }) {\n if (isNaN(id)) {\n return null;\n }\n\n const response = await axios.get(\"view/equipment/module/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssueAttachment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/issue/equipmentModuleIssueAttachment\";\n\nexport default async function listIssueAttachments({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue/attachment?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleEcn } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleEcn\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\n\nexport default async function listEcn({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/ecn?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { EquipmentModuleParameter } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleParameter\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listEquipmentModuleParameters({\n module,\n pageSize,\n order,\n direction,\n}: {\n module?: EquipmentModule;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/equipment/module/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModuleIssue } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleIssue\";\n\nexport default async function listIssues({\n equipment,\n module,\n statusMail,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/equipment/module/issue?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listModules({\n equipment,\n statusMail,\n run,\n}: {\n equipment?: Equipment;\n statusMail?: StatusMail;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n\n let url = \"list/equipment/module?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { EquipmentModuleReservation } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleReservation\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { EquipmentModule } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/equipmentModule\";\n\nexport default async function listReservations({\n equipment,\n module,\n which,\n}: {\n equipment?: Equipment;\n module?: EquipmentModule;\n which?: \"active\" | \"past\" | \"upcoming\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n if (module !== undefined) {\n searchParams.append(\"module\", module.id.toString());\n }\n\n if (which !== undefined) {\n searchParams.append(\"which\", which);\n }\n\n let url = \"list/equipment/reservation?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n if (which == \"active\") {\n for (let i = 0; i < data._embedded.items.length; i++) {\n data._embedded.items[i].active = true;\n }\n }\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { StatusMail } from \"@jield/solodb-typescript-core/equipment/interfaces/statusMail\";\nimport { LocationMessage } from \"@jield/solodb-typescript-core/location/interfaces/locationMessage\";\n\nexport default async function listLocationMessages({\n statusMail,\n}: {\n statusMail?: StatusMail;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (statusMail !== undefined) {\n searchParams.append(\"status_mail\", statusMail.id.toString());\n searchParams.append(\"page_size\", \"1000\");\n }\n\n let url = \"list/location/message?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\n\nexport default async function getLocation({ id }: { id: number }) {\n const response = await axios.get(\"view/location/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function getRoom({ id }: { id: number }) {\n const response = await axios.get(\"view/room/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Location } from \"@jield/solodb-typescript-core/room/interfaces/location\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listLocations({\n environment,\n room,\n pageSize = 25,\n}: {\n environment?: string;\n room?: Room;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (room) {\n searchParams.append(\"room\", room.id.toString());\n }\n\n searchParams.append(\"page_size\", pageSize.toString());\n\n let url = \"list/location?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Room } from \"@jield/solodb-typescript-core/room/interfaces/room\";\n\nexport default async function listRooms({\n environment,\n withLocations,\n}: {\n environment?: string;\n withLocations?: boolean;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (environment) {\n searchParams.append(\"environment\", environment);\n }\n\n if (withLocations) {\n searchParams.append(\"which\", \"with_locations\");\n }\n\n let url = \"list/room?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\n\nexport default async function getMonitor({ id }: { id: number }) {\n let response = await axios.get(\"view/monitor/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirements({\n equipmentId,\n monitorId,\n}: {\n equipmentId?: number;\n monitorId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n if (monitorId) {\n searchParams.append(\"monitor\", monitorId.toString());\n }\n\n let url = \"list/monitor/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\n\nexport default async function listMonitors({\n equipment,\n}: {\n equipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipment !== undefined) {\n searchParams.append(\"equipment\", equipment.id.toString());\n }\n\n searchParams.append(\"ad_hoc\", \"true\");\n\n let url = \"list/monitor?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementResults({\n requirement,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n monitor?: Monitor;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorMeasurementResult } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/monitorMeasurementResult\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { Monitor } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorResultStepParameterValue } from \"@jield/solodb-typescript-core/monitor/interfaces/measurement/result/monitorResultStepParameterValue\";\n\nexport default async function listMonitorRequirementResultMonitorStepParameterValues({\n requirement,\n result,\n order,\n direction,\n pageSize,\n page,\n}: {\n requirement?: MonitorRequirement;\n result?: MonitorMeasurementResult;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n pageSize?: number;\n page?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n if (result) {\n searchParams.append(\"result\", result.id.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n if (pageSize) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (page) {\n searchParams.append(\"page\", page.toString());\n }\n\n let url = \"list/monitor/measurement/result/step-parameter-value?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\nimport { MonitorRequirementTarget } from \"@jield/solodb-typescript-core/monitor/interfaces/requirement/monitorRequirementTarget\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorRequirementTargets({\n requirement,\n}: {\n requirement?: MonitorRequirement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (requirement) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n\n let url = \"list/monitor/requirement/target?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listMonitorStepFiles({\n step,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n pageSize?: number;\n order?: \"id\" | \"date-created\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n if (order) {\n searchParams.append(\"order\", order);\n }\n\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/file?\" + searchParams.toString();\n const response = await axios.get>(url);\n\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { MonitorStep } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { MonitorStepParameter } from \"@jield/solodb-typescript-core/monitor/interfaces/monitor/step/parameter\";\nimport { MonitorRequirement } from \"@jield/solodb-typescript-core/monitor/interfaces/monitorRequirement\";\n\nexport default async function listMonitorStepParameters({\n step,\n requirement,\n pageSize,\n order,\n direction,\n}: {\n step?: MonitorStep;\n requirement?: MonitorRequirement;\n pageSize?: number;\n order?: \"sequence\";\n direction?: \"asc\" | \"desc\";\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (requirement !== undefined) {\n searchParams.append(\"requirement\", requirement.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n if (order) {\n searchParams.append(\"order\", order);\n }\n if (direction) {\n searchParams.append(\"direction\", direction);\n }\n\n let url = \"list/monitor/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function getRun({ id }: { id: number }) {\n let url = \"view/run/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport default async function getRunStep({ id }: { id: number }) {\n let url = \"view/run/step/\" + id;\n\n const response = await axios.get(url);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { Requirement } from \"@jield/solodb-typescript-core/run/interfaces/requirement\";\n\nexport default async function listRequirements({\n step,\n run,\n}: {\n step?: RunStep;\n run?: Run;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", String(step.id));\n }\n\n if (run !== undefined) {\n searchParams.append(\"run\", String(run.id));\n }\n\n let url = \"list/run/requirement?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Changelog } from \"@jield/solodb-typescript-core/run/interfaces/run/changelog\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunChangelog({\n run,\n page,\n}: {\n run: Run;\n page: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n\n let url = \"list/run/changelog?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunPart } from \"@jield/solodb-typescript-core/run/interfaces/run/runPart\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunParts({ run, level }: { run: Run; level?: number; }): Promise> {\n const searchParams = new URLSearchParams();\n searchParams.append(\"run\", run.id.toString());\n searchParams.append(\"page_size\", \"10000\");\n\n if (level !== undefined) searchParams.append(\"level\", `${level}`);\n\n let url = \"list/run/parts?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunSteps({\n run,\n page = 1,\n pageSize = 25,\n}: {\n run: Run;\n page?: number;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n searchParams.append(\"page\", page.toString());\n searchParams.append(\"page_size\", pageSize.toString());\n let url = \"list/run/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\nimport { Equipment } from \"@jield/solodb-typescript-core/equipment/interfaces/equipment\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRuns({\n environment,\n firstUnfinishedStepEquipment,\n}: {\n environment?: string;\n firstUnfinishedStepEquipment?: Equipment;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (firstUnfinishedStepEquipment !== undefined) {\n searchParams.append(\"operator\", \"1\");\n searchParams.append(\"first_unfinished_step_equipment_id\", firstUnfinishedStepEquipment.id.toString());\n }\n\n if (environment !== undefined) {\n searchParams.append(\"environment\", environment);\n }\n\n let url = \"list/run?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","export enum RunStepPartActionEnum {\n START_PROCESSING = 1,\n FINISH_PROCESSING = 2,\n FAILED_PROCESSING = 3,\n REWORK = 4,\n}\n","import { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\nexport default function getAvailableRunStepPartActions(runStepPart: RunStepPart): RunStepPartActionEnum[] {\n // if it already failed in a previous step, nothing can be done\n if (runStepPart.part_processing_failed_in_previous_step) {\n return [];\n }\n\n const latestActionId = runStepPart.latest_action?.type.id;\n const actions: RunStepPartActionEnum[] = [];\n\n // your current conditions, just centralized:\n if (runStepPart.actions === 0) {\n actions.push(RunStepPartActionEnum.START_PROCESSING);\n }\n\n if (\n runStepPart.actions > 0 &&\n latestActionId !== RunStepPartActionEnum.FINISH_PROCESSING &&\n latestActionId !== RunStepPartActionEnum.FAILED_PROCESSING\n ) {\n actions.push(RunStepPartActionEnum.FINISH_PROCESSING, RunStepPartActionEnum.FAILED_PROCESSING);\n }\n\n if (runStepPart.actions > 0) {\n actions.push(RunStepPartActionEnum.REWORK);\n }\n\n return actions;\n};\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Measurement } from \"@jield/solodb-typescript-core/run/interfaces/measurement\";\nimport { MeasurementResult } from \"@jield/solodb-typescript-core/run/interfaces/measurement/result\";\n\nexport default async function listMeasurementResults({\n measurement,\n}: {\n measurement: Measurement;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"measurement\", String(measurement.id));\n\n let url = \"/list/run/measurement/result?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepChecklistItem } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepChecklistItem\";\n\nexport default async function listRunStepChecklistItems({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/checklist?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\n/**\n * Start a run step and return the updated step payload.\n *\n * Mirrors PATCH /api/update/run/step/start/{id}.\n *\n * @param runStep - Run step to mark as started.\n * @throws Error when the run step is missing.\n */\nexport default async function startStep(\n runStep: RunStep,\n): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to start step\");\n }\n\n const resp = await axios\n .create()\n .patch(\"update/run/step/start/\" + runStep.id, {});\n\n return resp;\n}\n","import { RunStep } from \"@jield/solodb-typescript-core/index\";\nimport axios, { AxiosResponse } from \"axios\";\n\n/**\n * Finish a run step and return the updated step payload.\n *\n * Mirrors PATCH /api/update/run/step/finish/{id}.\n *\n * @param runStep - Run step to mark as finished.\n * @throws Error when the run step is missing.\n */\nexport default async function finishStep(\n runStep: RunStep,\n): Promise> {\n if (!runStep) {\n throw new Error(\"Run step is undefined when trying to finish step\");\n }\n\n const resp = await axios\n .create()\n .patch(\"update/run/step/finish/\" + runStep.id, {});\n\n return resp;\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { File } from \"@jield/solodb-typescript-core/core/interfaces/file\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listRunStepFiles({\n step,\n pageSize,\n}: {\n step?: RunStep;\n pageSize?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n //We want the file to be ordered by date_created DESC\n searchParams.append(\"order\", \"date-created\");\n searchParams.append(\"direction\", \"DESC\");\n\n let url = \"list/run/step/file?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepParameter } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepParameter\";\n\nexport default async function listRunStepParameters({\n runStep,\n}: {\n runStep: RunStep;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (runStep !== undefined) {\n searchParams.append(\"step\", runStep.id.toString());\n }\n let url = \"list/run/step/parameter?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Run } from \"@jield/solodb-typescript-core/run/interfaces/run\";\n\nexport default async function listRunStepParts({\n step,\n run,\n page_size,\n}: {\n step?: RunStep;\n run?: Run;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (run !== undefined) {\n searchParams.append(\"run\", run.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n } else {\n searchParams.append(\"page_size\", \"10000\");\n }\n\n let url = \"list/run/step/part?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\n\nexport default async function listRunStepPartActions({\n part,\n step,\n page_size,\n}: {\n part?: RunStepPart;\n step?: RunStep;\n page_size?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (part !== undefined) {\n searchParams.append(\"part\", part.id.toString());\n }\n if (step !== undefined) {\n searchParams.append(\"step\", step.id.toString());\n }\n if (page_size !== undefined) {\n searchParams.append(\"page_size\", page_size.toString());\n }\n\n let url = \"list/run/step/part/action?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { RunStepPartAction } from \"@jield/solodb-typescript-core/run/interfaces/step/part/runStepPartAction\";\nimport { RunStepPart } from \"@jield/solodb-typescript-core/run/interfaces/step/runStepPart\";\nimport { RunStepPartActionEnum } from \"@jield/solodb-typescript-core/run/enum/runStepPartActionEnum\";\n\nexport default async function setRunStepPartAction({\n runStepPart,\n runStepPartAction,\n}: {\n runStepPart: RunStepPart;\n runStepPartAction: RunStepPartActionEnum;\n}): Promise {\n let url = \"create/run/step/part/action\";\n\n const response = await axios.post(url, {\n run_step_part_id: runStepPart.id,\n type: runStepPartAction,\n });\n const { data } = response;\n return data;\n}\n","import setRunStepPartAction from \"../api/step/part/setRunStepPartAction\";\nimport startStep from \"../api/step/startStep\";\nimport { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\n/*\n * Performs a action in a runStepPart \n * Also it makes sure the step state is what it should be\n */\nexport default async function performRunStepPartAction(part: RunStepPart, action: RunStepPartActionEnum) {\n const step = part.step;\n\n // start step if it isnt \n if (!step.is_started) {\n startStep(step); \n }\n \n return setRunStepPartAction({runStepPart: part, runStepPartAction: action});\n}\n","import finishStep from \"../api/step/finishStep\";\nimport { RunStepPartActionEnum } from \"../enum/runStepPartActionEnum\";\nimport { RunStep } from \"../interfaces/runStep\";\nimport { RunStepPart } from \"../interfaces/step/runStepPart\";\n\n/*\n * Returns false if the step state changes (its set to finish)\n */\nexport default async function finishStepWhenAllPartsAreFinished(\n step: RunStep,\n stepParts: RunStepPart[]\n): Promise {\n if (step.is_finished) {\n //Step has already finished\n return false;\n }\n\n if (stepParts.length <= 0) {\n return false;\n }\n\n for (const part of stepParts) {\n if (part.latest_action?.type.id !== RunStepPartActionEnum.FINISH_PROCESSING) {\n //One part hasnt finished\n return false;\n }\n }\n\n // Finish the step\n return finishStep(step)\n .then(() => {\n //Now the step is correctly finished\n return true;\n })\n .catch(() => {\n return false;\n });\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n if (id !== undefined) {\n searchParams.append(\"report\", id.toString());\n }\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ServiceEventReport } from \"@jield/solodb-typescript-core/service/interfaces/service/event/serviceEventReport\";\n\nexport default async function getServiceEventReport({ id }: { id: number }) {\n let response = await axios.get(\"view/service/event/report/\" + id);\n const { data } = response;\n return data;\n}\n","import axios from \"axios\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { ServiceEventReportResult } from \"@jield/solodb-typescript-core/service/interfaces/service/event/report/serviceEventReportResult\";\n\nexport default async function listServiceEventReportResult({ id }: { id: number }) {\n const searchParams = new URLSearchParams();\n\n searchParams.append(\"report\", id.toString());\n\n let url = \"list/service/event/report/results?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return data._embedded.items;\n}\n","import axios from \"axios\";\nimport { ApiFormattedResponse, ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\nimport { Service } from \"@jield/solodb-typescript-core/service/interfaces/service\";\n\nexport default async function listServices({\n equipmentId,\n}: {\n equipmentId?: number;\n}): Promise> {\n const searchParams = new URLSearchParams();\n\n if (equipmentId !== undefined) {\n searchParams.append(\"equipment\", equipmentId.toString());\n }\n\n let url = \"list/service?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n\n return {\n items: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n hasMore: data.page < data.page_count,\n };\n}\n","import axios from \"axios\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { TemplateStep } from \"@jield/solodb-typescript-core/template/interfaces/templateStep\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function getTemplateSteps({ template, pageSize }: { template?: Template; pageSize?: number }) {\n const searchParams = new URLSearchParams();\n\n if (template !== undefined) {\n searchParams.append(\"template\", template.id.toString());\n }\n if (pageSize !== undefined) {\n searchParams.append(\"page_size\", pageSize.toString());\n }\n\n let url = \"list/template/step?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n steps: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import axios from \"axios\";\nimport { Recipe } from \"@jield/solodb-typescript-core/process/interfaces/module/recipe\";\nimport { Template } from \"@jield/solodb-typescript-core/template/interfaces/template\";\nimport { ApiResponse } from \"@jield/solodb-typescript-core/core/interfaces/response\";\n\nexport default async function listTemplates({ reworkRecipes }: { reworkRecipes?: Recipe[] }) {\n const searchParams = new URLSearchParams();\n\n if (reworkRecipes !== undefined) {\n //Add the rework recipe ids to the search params, in array notation\n reworkRecipes\n .map((recipe) => recipe.id)\n .forEach((id) => {\n searchParams.append(\"rework_recipe_id[]\", id.toString());\n });\n }\n\n let url = \"list/template?\" + searchParams.toString();\n\n const response = await axios.get>(url);\n const { data } = response;\n return {\n templates: data._embedded.items,\n amountOfPages: data.page_count,\n currentPage: data.page,\n totalItems: data.total_items,\n };\n}\n","import { MainChemical } from \"@jield/solodb-typescript-core/chemical/interfaces/mainChemical\";\nimport { SafetyStatement } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyStatement\";\nimport { SafetyIcon } from \"@jield/solodb-typescript-core/chemical/interfaces/safetyIcon\";\n\nexport enum ChemicalStandardProductEnum {\n STANDARD_PRODUCT = 1,\n NON_STANDARD_PRODUCT = 2,\n}\n\nexport enum ChemicalPhysicalStateEnum {\n SOLID = 1,\n LIQUID = 2,\n GAS = 3,\n OTHER = 4,\n}\n\nexport interface Chemical {\n id: number;\n name: string;\n cas_number: string | null;\n chemical_formula: string | null;\n ehs_link: string | null;\n cmr: string[];\n description: string | null;\n is_standard_product: boolean;\n standard_product: ChemicalStandardProductEnum;\n physical_state: ChemicalPhysicalStateEnum;\n is_halogenated: boolean;\n contains_metals: boolean;\n main_chemical: MainChemical | null;\n safety_statement: SafetyStatement[];\n safety_icons: SafetyIcon[];\n}\n","import {Room} from \"@jield/solodb-typescript-core/room/interfaces/room\";\nimport {\n EquipmentModuleStatus\n} from \"@jield/solodb-typescript-core/equipment/interfaces/equipment/module/equipmentModuleStatus\";\nimport {EquipmentProperty} from \"./equipment/equipmentProperty\";\nimport {\n Setup,\n SetupWithoutMainEquipmentAndSetupEquipment\n} from \"@jield/solodb-typescript-core/equipment/interfaces/setup\";\nimport {Area} from \"@jield/solodb-typescript-core/location/interfaces/area\";\n\nexport enum EquipmentGrade {\n \"Equipment\" = 1,\n \"Accessory\" = 2,\n \"Storage\" = 3,\n}\n\nexport enum DashboardComponent {\n \"ProcessNextStepInEquipment\" = \"ProcessNextStepInEquipment\"\n}\n\n\nexport interface Equipment {\n id: number;\n name: string;\n number: string;\n mes_name: string;\n active: boolean;\n active_in_mes: boolean;\n reservation_possible: boolean;\n is_main_in_setup: boolean;\n setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n has_setup_equipment: boolean;\n is_in_fixed_setup: boolean;\n fixed_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n is_in_active_setup: boolean;\n active_setup: SetupWithoutMainEquipmentAndSetupEquipment | null;\n main_tool_module_id: number | null;\n main_tool_latest_status?: EquipmentModuleStatus;\n is_available_for_rental: boolean;\n dashboard_components: DashboardComponent[];\n properties?: EquipmentProperty[];\n room: Room;\n types: string[];\n grade: EquipmentGrade;\n area: Area | null;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum EquipmentModuleIssueType {\n DEFAULT = 1,\n PRIORITY = 2,\n ESCALATION = 3,\n}\n\nexport enum EquipmentModuleIssueStatus {\n ACTIVE = 1,\n CLOSED = 2,\n}\n\nexport interface EquipmentModuleIssue {\n id: number;\n module_id: number;\n date_created: string;\n date_closed?: string;\n last_update?: string;\n issue: string;\n description: string;\n issue_type: EquipmentModuleIssueType;\n status: EquipmentModuleIssueStatus;\n owner: User;\n updated_by?: User;\n forecast_up: string;\n actions: string;\n attachments: number;\n}\n","import { User } from \"@jield/solodb-typescript-core/core/interfaces/user\";\n\nexport enum ShowIssuesOptionEnum {\n HIDE_ISSUES = 1,\n SHOW_ISSUES = 2,\n COLLAPSE_ISSUES = 3,\n}\n\nexport enum OrderOptionEnum {\n NAME = 1,\n MES_NAME = 2,\n NUMBER = 3,\n}\n\nexport enum ClassificationsOptionEnum {\n AREA = 1,\n AREA_PER_FACILITY = 2,\n ROOM = 3,\n}\n\nexport enum DirectionOptionEnum {\n ASC = \"ASC\",\n DESC = \"DESC\",\n}\n\nexport interface StatusMail {\n id: number;\n name: string;\n date_created: string;\n last_updated: string | null;\n filter: {\n messageType: string[];\n MESStatus: string[];\n };\n equipment_filter: string;\n sequence: number;\n show_issues_with_priority: boolean;\n show_in_navigation: boolean;\n show_tool_up: boolean;\n show_issues: ShowIssuesOptionEnum;\n show_reservations: boolean;\n classification: ClassificationsOptionEnum;\n order: OrderOptionEnum;\n direction: DirectionOptionEnum;\n user: User;\n to: string;\n cc: string;\n bcc: string;\n subject: string;\n}\n","import { BatchCard } from \"@jield/solodb-typescript-core/run/interfaces/run/batchCard\";\nimport { HoldCode } from \"@jield/solodb-typescript-core/run/interfaces/run/holdCode\";\nimport { Priority } from \"@jield/solodb-typescript-core/run/interfaces/run/priority\";\nimport { Project } from \"@jield/solodb-typescript-core/core/interfaces/project\";\nimport { RunStep } from \"@jield/solodb-typescript-core/run/interfaces/runStep\";\n\nexport enum RunTypeEnum {\n RESEARCH = 1,\n PRODUCTION = 2,\n}\n\nexport interface Run {\n id: number;\n label: string;\n name: string;\n amount_of_steps: number;\n run_type: RunTypeEnum;\n responsible: string;\n status: string;\n first_unfinished_step?: RunStep;\n last_finished_step?: RunStep;\n has_batch_card: boolean;\n batch_card?: BatchCard;\n hold_code?: HoldCode;\n priority?: Priority;\n project: Project;\n amount_root_parts: number;\n access: {\n edit: boolean;\n };\n}\n"],"names":["cleanFilterData","data","cleanedData","_","facet","getFilter","service","environment","formResult","searchParams","formData","url","response","axios","getMe","listUsers","query","selection","fileToBase64","file","resolve","reject","reader","result","configureAxiosHeaders","token","server_uri","getChemicalContainer","id","listChemicalContainerExternalLabels","qrCodeContent","listChemicalContainerMethodsOfUse","listChemicalContainerPurposes","listChemicalContainerTypes","listChemicals","getEquipment","getSetup","getStatusMail","listEquipment","run","room","statusMail","page","pageSize","filter","order","direction","listEquipmentStatus","listEcnAttachments","equipment","module","getEquipmentModule","listIssueAttachments","listEcn","listEquipmentModuleParameters","listIssues","listModules","listReservations","which","i","listLocationMessages","getLocation","getRoom","listLocations","listRooms","withLocations","getMonitor","listMonitorRequirements","equipmentId","monitorId","listMonitors","listMonitorRequirementResults","requirement","listMonitorRequirementResultMonitorStepParameterValues","listMonitorRequirementTargets","listMonitorStepFiles","step","listMonitorStepParameters","getRun","getRunStep","listRequirements","listRunChangelog","listRunParts","level","listRunSteps","listRuns","firstUnfinishedStepEquipment","RunStepPartActionEnum","getAvailableRunStepPartActions","runStepPart","latestActionId","actions","listMeasurementResults","measurement","listRunStepChecklistItems","runStep","startStep","finishStep","listRunStepFiles","listRunStepParameters","listRunStepParts","page_size","listRunStepPartActions","part","setRunStepPartAction","runStepPartAction","performRunStepPartAction","action","finishStepWhenAllPartsAreFinished","stepParts","listReportResult","getServiceEventReport","listServiceEventReportResult","listServices","getTemplateSteps","template","listTemplates","reworkRecipes","recipe","ChemicalStandardProductEnum","ChemicalPhysicalStateEnum","EquipmentGrade","DashboardComponent","EquipmentModuleIssueType","EquipmentModuleIssueStatus","ShowIssuesOptionEnum","OrderOptionEnum","ClassificationsOptionEnum","DirectionOptionEnum","RunTypeEnum"],"mappings":"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"} \ No newline at end of file diff --git a/dist/run/api/listRunParts.d.ts b/dist/run/api/listRunParts.d.ts index 3d8268a..d8ae7c1 100644 --- a/dist/run/api/listRunParts.d.ts +++ b/dist/run/api/listRunParts.d.ts @@ -1,6 +1,7 @@ import { RunPart } from '../interfaces/run/runPart'; import { ApiFormattedResponse } from '../../core/interfaces/response'; import { Run } from '../interfaces/run'; -export default function listRunParts({ run }: { +export default function listRunParts({ run, level }: { run: Run; + level?: number; }): Promise>; diff --git a/dist/run/api/step/finishStep.d.ts b/dist/run/api/step/finishStep.d.ts index 4fdaf14..3f5429c 100644 --- a/dist/run/api/step/finishStep.d.ts +++ b/dist/run/api/step/finishStep.d.ts @@ -1,3 +1,11 @@ import { RunStep } from '../../../index'; import { AxiosResponse } from 'axios'; +/** + * Finish a run step and return the updated step payload. + * + * Mirrors PATCH /api/update/run/step/finish/{id}. + * + * @param runStep - Run step to mark as finished. + * @throws Error when the run step is missing. + */ export default function finishStep(runStep: RunStep): Promise>; diff --git a/dist/run/api/step/startStep.d.ts b/dist/run/api/step/startStep.d.ts index 4ee8b69..bad3143 100644 --- a/dist/run/api/step/startStep.d.ts +++ b/dist/run/api/step/startStep.d.ts @@ -1,3 +1,11 @@ import { RunStep } from '../../../index'; import { AxiosResponse } from 'axios'; +/** + * Start a run step and return the updated step payload. + * + * Mirrors PATCH /api/update/run/step/start/{id}. + * + * @param runStep - Run step to mark as started. + * @throws Error when the run step is missing. + */ export default function startStep(runStep: RunStep): Promise>; diff --git a/dist/run/functions/finishStepWhenAllPartsAreFinished.d.ts b/dist/run/functions/finishStepWhenAllPartsAreFinished.d.ts new file mode 100644 index 0000000..9192713 --- /dev/null +++ b/dist/run/functions/finishStepWhenAllPartsAreFinished.d.ts @@ -0,0 +1,3 @@ +import { RunStep } from '../interfaces/runStep'; +import { RunStepPart } from '../interfaces/step/runStepPart'; +export default function finishStepWhenAllPartsAreFinished(step: RunStep, stepParts: RunStepPart[]): Promise; diff --git a/dist/run/functions/performRunStepPartAction.d.ts b/dist/run/functions/performRunStepPartAction.d.ts new file mode 100644 index 0000000..7634b74 --- /dev/null +++ b/dist/run/functions/performRunStepPartAction.d.ts @@ -0,0 +1,3 @@ +import { RunStepPartActionEnum } from '../enum/runStepPartActionEnum'; +import { RunStepPart } from '../interfaces/step/runStepPart'; +export default function performRunStepPartAction(part: RunStepPart, action: RunStepPartActionEnum): Promise; diff --git a/dist/run/interfaces/runStep.d.ts b/dist/run/interfaces/runStep.d.ts index d97c878..1aca27c 100644 --- a/dist/run/interfaces/runStep.d.ts +++ b/dist/run/interfaces/runStep.d.ts @@ -22,6 +22,9 @@ export interface RunStep { is_finished: boolean; finish_user?: User; finish_date?: string; + is_started: boolean; + start_user?: User; + start_date?: string; tags: string[]; amount_of_files: number; has_instructions: boolean; diff --git a/package.json b/package.json index ae5160d..90545de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jield/solodb-typescript-core", - "version": "1.0.9", + "version": "1.0.10", "type": "module", "repository": "jield-webdev/solodb-typescript-core", "main": "./dist/index.cjs", diff --git a/src/index.ts b/src/index.ts index 3703d46..07da632 100644 --- a/src/index.ts +++ b/src/index.ts @@ -66,6 +66,8 @@ export { default as listRunStepParameters } from "./run/api/step/listRunStepPara export { default as listRunStepParts } from "./run/api/step/listRunStepParts"; export { default as listRunStepPartActions } from "./run/api/step/part/listRunStepPartActions"; export { default as setRunStepPartAction } from "./run/api/step/part/setRunStepPartAction"; +export { default as performRunStepPartAction } from "./run/functions/performRunStepPartAction"; +export { default as finishStepWhenAllPartsAreFinished } from "./run/functions/finishStepWhenAllPartsAreFinished"; // service / template export { default as listReportResult } from "./service/api/getReportResult"; diff --git a/src/run/functions/finishStepWhenAllPartsAreFinished.ts b/src/run/functions/finishStepWhenAllPartsAreFinished.ts new file mode 100644 index 0000000..f234ac3 --- /dev/null +++ b/src/run/functions/finishStepWhenAllPartsAreFinished.ts @@ -0,0 +1,38 @@ +import finishStep from "../api/step/finishStep"; +import { RunStepPartActionEnum } from "../enum/runStepPartActionEnum"; +import { RunStep } from "../interfaces/runStep"; +import { RunStepPart } from "../interfaces/step/runStepPart"; + +/* + * Returns false if the step state changes (its set to finish) + */ +export default async function finishStepWhenAllPartsAreFinished( + step: RunStep, + stepParts: RunStepPart[] +): Promise { + if (step.is_finished) { + //Step has already finished + return false; + } + + if (stepParts.length <= 0) { + return false; + } + + for (const part of stepParts) { + if (part.latest_action?.type.id !== RunStepPartActionEnum.FINISH_PROCESSING) { + //One part hasnt finished + return false; + } + } + + // Finish the step + return finishStep(step) + .then(() => { + //Now the step is correctly finished + return true; + }) + .catch(() => { + return false; + }); +} diff --git a/src/run/functions/performRunStepPartAction.ts b/src/run/functions/performRunStepPartAction.ts new file mode 100644 index 0000000..78de5ab --- /dev/null +++ b/src/run/functions/performRunStepPartAction.ts @@ -0,0 +1,22 @@ +import setRunStepPartAction from "../api/step/part/setRunStepPartAction"; +import startStep from "../api/step/startStep"; +import { RunStepPartActionEnum } from "../enum/runStepPartActionEnum"; +import { RunStepPart } from "../interfaces/step/runStepPart"; + +/* + * Performs a action in a runStepPart + * Also it makes sure the step state is what it should be + */ +export default async function performRunStepPartAction( + part: RunStepPart, + action: RunStepPartActionEnum, +): Promise { + const step = part.step; + + // start step if it isnt + if (!step.is_started) { + await startStep(step); + } + + await setRunStepPartAction({ runStepPart: part, runStepPartAction: action }); +}