@transai/connector-runner-mkg 0.7.7 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## 0.7.8 (2026-02-03)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - increment timestamp fix ([b4127bb3](https://github.com/xip-online-applications/xod-core/commit/b4127bb3))
6
+ - increment timestamp fix ([8c22c1eb](https://github.com/xip-online-applications/xod-core/commit/8c22c1eb))
7
+ - response payload should contain no data object ([ce91da7b](https://github.com/xip-online-applications/xod-core/commit/ce91da7b))
8
+ - response payload should contain no data object ([685be39e](https://github.com/xip-online-applications/xod-core/commit/685be39e))
9
+
10
+ ### ❤️ Thank You
11
+
12
+ - Youri Lefers @yourilefers
13
+
14
+ ## 0.7.7 (2026-02-03)
15
+
16
+ ### 🩹 Fixes
17
+
18
+ - response payload should contain no data object ([5d293abb](https://github.com/xip-online-applications/xod-core/commit/5d293abb))
19
+
20
+ ### ❤️ Thank You
21
+
22
+ - Youri Lefers @yourilefers
23
+
1
24
  ## 0.7.6 (2026-02-02)
2
25
 
3
26
  ### 🩹 Fixes
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var fe=Object.create;var v=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var be=(i,r)=>{for(var e in r)v(i,e,{get:r[e],enumerable:!0})},R=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of he(r))!ve.call(i,n)&&n!==e&&v(i,n,{get:()=>r[n],enumerable:!(t=ue(r,n))||t.enumerable});return i};var ke=(i,r,e)=>(e=i!=null?fe(we(i)):{},R(r||!i||!i.__esModule?v(e,"default",{value:i,enumerable:!0}):e,i)),Te=i=>R(v({},"__esModule",{value:!0}),i);var je={};be(je,{ConnectorRunnerMkg:()=>E});module.exports=Te(je);var g=ke(require("node:process")),b=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,g.on?g.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${g.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),g.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([s,_])=>{try{n[s]=e.templating.compile(_)}catch(c){e.logger.error(`Error compiling template ${s} for action ${t.identifier}`,c)}}),t.config.parsedTemplates=n})}#e;#t;set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#r(r))}get connectorSDK(){return this.#t}#r(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var ge=require("node:events");var f=class{constructor(r,e){this.action=r;this.data=e}static{this.NAME="trigger-sync"}};var y="mkg",K=3600,S="RowKey",C="sys_dat_wijzig",D=250,w="JSESSIONID",G=1800*1e3;var o=class i{constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?K:0),this.identifierField=r.identifierField??S,this.dateField=r.dateField??C,this.rows=r.rows??D,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new i({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var I=new o({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function L(i,r,e){let t=F(e,r),n={};for(let s of i.response.ResultData)for(let[_,c]of Object.entries(s)){let d=t[_];if(d)for(let p of c)for(let[m,l]of Object.entries(p))d.includes(m)&&(n[m]=l)}return n}function x(i,r,e){let t=F(e,r),n={};for(let[s,_]of Object.entries(i.ResultData)){let c=t[s];if(c)for(let d of _)for(let[p,m]of Object.entries(d))c.includes(p)&&(n[p]=m)}return n}function F(i,r){let e={};return i.forEach(t=>{let[n,s]=t.split(".");n&&s?(e[n]||(e[n]=[]),e[n].push(s)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var a=class i{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.defaultValues=r.defaultValues??{},this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??L}withParentTable(r){let e=new i(this);return e.#e=r,e}fieldSet(r){let e=new Map;return Object.entries(this.defaultValues).forEach(([t,n])=>{e.set(t,n)}),this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#e.identifier,this.responseFields)}defaultPathFormatter(){return this.#e.identifier}};var Ae=new a({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","inkg_num","vrdg_num"],defaultValues:{arti_actief:!0,arti_eenh_vrd:"st.",arti_eenh_vrk:"st.",arti_eenh_bestelling:"st.",arti_eenh_ontvangst:"st.",arti_eenh_inkoopfactuur:"st.",arti_eenh_uitgifte:"st.",arti_eenh_productie:"st.",arti_eenh_handel:"st.",btwc_code:1,inkg_num:1,prdg_num:1,vrkg_num:1,vrdg_num:5e3},responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),O=new o({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","debi_num","inkg_num","vrdg_num"]},[Ae]);var $=new o({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var B=new o({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var P=new o({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var N=new o({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var Me=new a({identifier:"create",method:"POST",fields:["rela_num","cprs_email"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_telefoon","cprs_gsm"],defaultValues:{cprs_eigen_email:!0},responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),j=new o({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_email","cprs_telefoon","cprs_gsm","rela_num"]},[Me]);var z=new o({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var U=new o({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var H=new o({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var q=new o({identifier:"medw",fields:["medw_pensioenpremie_werkn","medw_spaarloon_rek","medw_betaling_per_bank","medw_premiesparen_naam","medw_ziekengeld_aanm","medw_betaling_per_rek_2","medw_auto_vd_zaak","medw_vrij_datum_5","medw_or","medw_premiesparen","medw_telefoon","medw_aanwezigheids_reg","medw_betaling_per_bank_naam","medw_postcode","medw_premiesparen_batch","medw_verschuiven","medw_onkosten","medw_pensioenpremie_werkg","medw_arbodienst_aanm","medw_lid_persver","medw_laatste_bwrk","medw_memo_contract","medw_premiesparen_iban","medw_vrij_datum_3","medw_nummer_2","medw_voornaam","medw_ziekengeld_afm","medw_mdrc","medw_spaarloon_bic","medw_spaarloon","medw_betaling_per_bank_oms_3","medw_spaarloon_iban","medw_prod_gereed_melden","medw_spaarloon_batch","medw_betaling_per_iban_2","medw_roepnaam","medw_vutpremie_werkg","medw_betaling_per_rek","medw_uren_per_dag","medw_plaats","medw_telefoon_2","medw_or_functie","medw_pensioenfonds","medw_schoenmaat","medw_naam_2","medw_spaarloon_oms1","medw_vutpremie","medw_ehbo","medw_vrij_datum_4","medw_email","medw_vrij_memo_1","medw_soort_contract","medw_vakantie_uren","medw_reiskosten","medw_vrij_veld_4","medw_waohiaat_werkg","medw_vrij_datum_2","medw_premiesparen_oms1","medw_salaris","medw_vrij_veld_3","medw_spaarloon_oms3","medw_planning","medw_raadplegen_uren","medw_spaarloon_naam","medw_vrij_veld_5","medw_ziekenfonds_aanm","medw_betaling_per_bank_2_naam","medw_partime_salaris","medw_premiesparen_oms2","medw_bedrijfsvereniging_afm","medw_betaling_per_bank_2_oms1","medw_betaling_per_bank_2","medw_betaling_per_bank_plaats","medw_tussenvoegsel","medw_instellen","medw_pensioenfonds_afm","medw_functietitel","medw_straat_2","medw_premiesparen_plaats","medw_betaling_per_bic_2","medw_betaling_per_kas_2","medw_betaling_per_bank_2_oms3","medw_premiesparen_oms3","medw_straat","medw_premiesparen_oms4","medw_dagen_per_week","medw_telefax","medw_afbeelding","medw_op_uren_pc","medw_direct_gereed"]});var V=new o({identifier:"pamt",fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num"]});var Ee=new a({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),J=new o({identifier:"parl",fields:[]},[Ee]);var X=new o({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var Re=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),W=new o({identifier:"plnb",interval:60,fields:["plnb_num","prdh_num","bwrk_num","rsrc_num","medw_num","plnb_dat_start","plnb_tijd_start","plnb_wk_start","plnb_dat_eind","plnb_tijd_eind","plnb_wk_eind","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[Re]);var ye=new a({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`}}),Y=new o({identifier:"prbv",fields:[]},[ye]);var Ke=new a({identifier:"create",method:"POST",fields:[],optionalFields:["prdh_oms_1","proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Z=new o({identifier:"prdh",interval:300,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[Ke]);var Se=new a({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:i=>{let{prdh_num:r}=i;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`}}),Ce=new a({identifier:"in-production",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`}}),De=new a({identifier:"done",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`}}),Q=new o({identifier:"prdr",interval:300,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms"]},[Se,Ce,De]);var Ge=new a({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),ee=new o({identifier:"prmv",fields:[]},[Ge]);var re=new o({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var te=new o({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var ne=new o({identifier:"rgrs",interval:60,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var oe=new o({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var ie=new o({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var se=new o({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var Ie=new a({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"]}),ae=new o({identifier:"stlb",interval:600,fields:["stlh_num","stlr_num","stlb_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[Ie]);var Le=new a({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),_e=new o({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[Le]);var xe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"]}),de=new o({identifier:"stlm",interval:600,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[xe]);var Fe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),ce=new o({identifier:"stlr",interval:600,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[Fe]);var Oe=new a({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),me=new o({identifier:"vorh",interval:300,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Oe]);var $e=new a({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:i=>{let{vorh_num:r}=i;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"]}),Be=new a({identifier:"create-prdh",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:x}),Pe=new a({identifier:"create-backflush",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`}}),pe=new o({identifier:"vorr",interval:300,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[$e,Be,Pe]);var le=new o({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Ne=[te,z,q,O,oe,ie,se,H,U,_e,ce,de,Z,B,$,P,le,ne,W,I,Q,ee,Y,J,N,j,re,me,pe,ae,X,V],k=Ne.reduce((i,r)=>(i[r.identifier]=r,i),{});var T=class extends ge.EventEmitter{#e;#t;constructor(r,e){super(),this.#e=r,this.#t=e}get callbackFunctionChain(){return this.#r(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}#r(r){return async(e,t)=>{try{this.#e.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#e.config.administration??"1"},s=t.config.action;if(!s){let l=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${s}, params json: ${JSON.stringify(e.payload)}`);let[_,...c]=s.split("."),d=c.join("."),p=k[_];if(!p)return this.#e.logger.warn(`[MKG] Unknown table identifier "${_}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${_}"`)(e);let m=p.action(d);if(!m){let l=`[MKG] Unknown action identifier "${d}" within table "${_}" in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${s}`),r(e);try{let l=m.fieldSet(e.payload),h=await this.#t.request(m.method,`/web/v3/MKG/Documents/${m.path(e.payload,n)}`,{...["POST","PUT"].includes(m.method)&&Object.keys(l).length>0?{data:{request:{InputData:{[_]:[l]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${d}" of table "${_}" response from MKG: ${JSON.stringify(h)}`);let M=m.formatResponse(h.data);return this.#e.logger.verbose(`[MKG] Formatted action "${d}" of table "${_}" response to ${Object.keys(M).length} fields`),m.triggerRefresh&&this.emit(f.NAME,new f(m,M)),r({...e,payload:M})}catch(l){let h=`[MKG] Failed to perform action "${d}" of table "${_}": (${l?.status}) ${l?.error??l?.message}`;return this.#e.logger.error(h),this.#e.receiver.responses.unprocessableEntity(h)(e)}}catch(n){return this.#e.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};function u(i){let{config:r}=i;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var A=class{#e;#t;#r;#n;#o;constructor(r,e,t,n){this.#e=r,this.#t=e,this.#r=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(r){try{let e=new Date,t=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),n=await this.#i(t,r);if(n.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??y}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${n.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#r}`)}catch(e){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];r.id!==0&&t.push(`${this.#n.dateField}>=${r.rawTimestamp}`),Object.entries(e??{}).forEach(([s,_])=>t.push(`${s}=${_}`));let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let s=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${u(this.#e)}${s}'...`);let c=(await this.#t.get(`${s}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${c.length} records from '${u(this.#e)}${s}'`),c}catch(s){let _=`[MKG] Failed to fetch data from table "${this.#r}": (${s?.status}) ${s?.error??s?.message}`;this.#e.logger.error(_)}return[]}};var E=class extends b{constructor(e,t){super(e,t);this.#n={};this.init=async()=>{let{config:e}=this.connectorSDK;await this.#s(e.username,e.password).catch(t=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",t),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(e.tables??{}).forEach(([t,n])=>{let s=k[t];if(!s){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!s.interval||s.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}let _=new A(this.connectorSDK,this.#t,t,s.cloneFromTableConfig(n));this.#n[t]=_,this.connectorSDK.processing.registerInterval(s.interval,_,{immediate:s.immediate})})};this.#i=async e=>{let{config:t}=this.connectorSDK,n=await this.#s(t.username,t.password).catch(s=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",s),s});return{...e,headers:{...e?.headers??{},...this.#a(n)}}};let n=u(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:n}),this.#t=this.connectorSDK.httpClient({baseUrl:n}).setRequestOptionsFormatter(this.#i),this.#e=new T(this.connectorSDK,this.#t).on(f.NAME,s=>this.#d(s)),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;#i;async#s(e,t){let n=this.#o;if(n&&n.expiresAt>Date.now())return n.token;let s="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${u(this.connectorSDK)}${s}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let _=await this.#r.post(s,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!_)throw new Error("Failed to authenticate and retrieve session cookie");let d=(_.headers?.["set-cookie"]??_.headers?.["Set-Cookie"]??[]).find(m=>m.startsWith(`${w}=`));if(!d)throw new Error("Session cookie not found in authentication response");let p=d.split(";")[0]?.substring(`${w}=`.length);return this.#o={token:p,expiresAt:Date.now()+G-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(p),p}#a(e){let{config:t}=this.connectorSDK,{apiToken:n}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${w}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(n.length)}`),{Cookie:`${w}=${e}`,"X-CustomerID":n}}async#_(e){let{config:t}=this.connectorSDK,{administration:n,fiscalYear:s,language:_}=t;if(!(n?.length||s?.length||_?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let c="/web/v3/MKG/Settings",d=[];n&&d.push({t_name:"Administration",t_value:n}),s&&d.push({t_name:"FiscalYear",t_value:s}),_&&d.push({t_name:"Language",t_value:_}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(d)}`),await this.#r.put(c,{request:{InputData:{t_setting:d}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(e)}}).catch(p=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",p),p}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#d(e){Object.entries(e.action.triggerRefresh??{}).forEach(async([t,n])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${t}" due to action "${e.action.identifier}"`);let s=this.#n[t];s||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${t}", cannot trigger sync.`);let _=Object.fromEntries(Object.entries(e.data).filter(([c])=>n.includes(c)));await s.onRun(_)})}};0&&(module.exports={ConnectorRunnerMkg});
1
+ "use strict";var er=Object.create;var Y=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var nr=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty;var ir=(_,r)=>()=>(r||_((r={exports:{}}).exports,r),r.exports),sr=(_,r)=>{for(var e in r)Y(_,e,{get:r[e],enumerable:!0})},se=(_,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of tr(r))!or.call(_,n)&&n!==e&&Y(_,n,{get:()=>r[n],enumerable:!(t=rr(r,n))||t.enumerable});return _};var ae=(_,r,e)=>(e=_!=null?er(nr(_)):{},se(r||!_||!_.__esModule?Y(e,"default",{value:_,enumerable:!0}):e,_)),ar=_=>se(Y({},"__esModule",{value:!0}),_);var Je=ir((re,te)=>{"use strict";(function(_,r){typeof re=="object"&&typeof te<"u"?te.exports=r():typeof define=="function"&&define.amd?define(r):(_=typeof globalThis<"u"?globalThis:_||self).dayjs=r()})(re,(function(){"use strict";var _=1e3,r=6e4,e=36e5,t="millisecond",n="second",d="minute",f="hour",w="day",k="week",h="month",T="quarter",b="year",E="date",B="Invalid Date",P=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Xe=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Ze={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(m){var a=["th","st","nd","rd"],o=m%100;return"["+m+(a[(o-20)%10]||a[o]||a[0])+"]"}},Q=function(m,a,o){var c=String(m);return!c||c.length>=a?m:""+Array(a+1-c.length).join(o)+m},Qe={s:Q,z:function(m){var a=-m.utcOffset(),o=Math.abs(a),c=Math.floor(o/60),i=o%60;return(a<=0?"+":"-")+Q(c,2,"0")+":"+Q(i,2,"0")},m:function m(a,o){if(a.date()<o.date())return-m(o,a);var c=12*(o.year()-a.year())+(o.month()-a.month()),i=a.clone().add(c,h),p=o-i<0,l=a.clone().add(c+(p?-1:1),h);return+(-(c+(o-i)/(p?i-l:l-i))||0)},a:function(m){return m<0?Math.ceil(m)||0:Math.floor(m)},p:function(m){return{M:h,y:b,w:k,d:w,D:E,h:f,m:d,s:n,ms:t,Q:T}[m]||String(m||"").toLowerCase().replace(/s$/,"")},u:function(m){return m===void 0}},j="en",K={};K[j]=Ze;var oe="$isDayjsObject",ee=function(m){return m instanceof q||!(!m||!m[oe])},z=function m(a,o,c){var i;if(!a)return j;if(typeof a=="string"){var p=a.toLowerCase();K[p]&&(i=p),o&&(K[p]=o,i=p);var l=a.split("-");if(!i&&l.length>1)return m(l[0])}else{var v=a.name;K[v]=a,i=v}return!c&&i&&(j=i),i||!c&&j},A=function(m,a){if(ee(m))return m.clone();var o=typeof a=="object"?a:{};return o.date=m,o.args=arguments,new q(o)},g=Qe;g.l=z,g.i=ee,g.w=function(m,a){return A(m,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var q=(function(){function m(o){this.$L=z(o.locale,null,!0),this.parse(o),this.$x=this.$x||o.x||{},this[oe]=!0}var a=m.prototype;return a.parse=function(o){this.$d=(function(c){var i=c.date,p=c.utc;if(i===null)return new Date(NaN);if(g.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var l=i.match(P);if(l){var v=l[2]-1||0,M=(l[7]||"0").substring(0,3);return p?new Date(Date.UTC(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,M)):new Date(l[1],v,l[3]||1,l[4]||0,l[5]||0,l[6]||0,M)}}return new Date(i)})(o),this.init()},a.init=function(){var o=this.$d;this.$y=o.getFullYear(),this.$M=o.getMonth(),this.$D=o.getDate(),this.$W=o.getDay(),this.$H=o.getHours(),this.$m=o.getMinutes(),this.$s=o.getSeconds(),this.$ms=o.getMilliseconds()},a.$utils=function(){return g},a.isValid=function(){return this.$d.toString()!==B},a.isSame=function(o,c){var i=A(o);return this.startOf(c)<=i&&i<=this.endOf(c)},a.isAfter=function(o,c){return A(o)<this.startOf(c)},a.isBefore=function(o,c){return this.endOf(c)<A(o)},a.$g=function(o,c,i){return g.u(o)?this[c]:this.set(i,o)},a.unix=function(){return Math.floor(this.valueOf()/1e3)},a.valueOf=function(){return this.$d.getTime()},a.startOf=function(o,c){var i=this,p=!!g.u(c)||c,l=g.p(o),v=function(I,S){var D=g.w(i.$u?Date.UTC(i.$y,S,I):new Date(i.$y,S,I),i);return p?D:D.endOf(w)},M=function(I,S){return g.w(i.toDate()[I].apply(i.toDate("s"),(p?[0,0,0,0]:[23,59,59,999]).slice(S)),i)},y=this.$W,R=this.$M,$=this.$D,G="set"+(this.$u?"UTC":"");switch(l){case b:return p?v(1,0):v(31,11);case h:return p?v(1,R):v(0,R+1);case k:var C=this.$locale().weekStart||0,N=(y<C?y+7:y)-C;return v(p?$-N:$+(6-N),R);case w:case E:return M(G+"Hours",0);case f:return M(G+"Minutes",1);case d:return M(G+"Seconds",2);case n:return M(G+"Milliseconds",3);default:return this.clone()}},a.endOf=function(o){return this.startOf(o,!1)},a.$set=function(o,c){var i,p=g.p(o),l="set"+(this.$u?"UTC":""),v=(i={},i[w]=l+"Date",i[E]=l+"Date",i[h]=l+"Month",i[b]=l+"FullYear",i[f]=l+"Hours",i[d]=l+"Minutes",i[n]=l+"Seconds",i[t]=l+"Milliseconds",i)[p],M=p===w?this.$D+(c-this.$W):c;if(p===h||p===b){var y=this.clone().set(E,1);y.$d[v](M),y.init(),this.$d=y.set(E,Math.min(this.$D,y.daysInMonth())).$d}else v&&this.$d[v](M);return this.init(),this},a.set=function(o,c){return this.clone().$set(o,c)},a.get=function(o){return this[g.p(o)]()},a.add=function(o,c){var i,p=this;o=Number(o);var l=g.p(c),v=function(R){var $=A(p);return g.w($.date($.date()+Math.round(R*o)),p)};if(l===h)return this.set(h,this.$M+o);if(l===b)return this.set(b,this.$y+o);if(l===w)return v(1);if(l===k)return v(7);var M=(i={},i[d]=r,i[f]=e,i[n]=_,i)[l]||1,y=this.$d.getTime()+o*M;return g.w(y,this)},a.subtract=function(o,c){return this.add(-1*o,c)},a.format=function(o){var c=this,i=this.$locale();if(!this.isValid())return i.invalidDate||B;var p=o||"YYYY-MM-DDTHH:mm:ssZ",l=g.z(this),v=this.$H,M=this.$m,y=this.$M,R=i.weekdays,$=i.months,G=i.meridiem,C=function(S,D,H,V){return S&&(S[D]||S(c,p))||H[D].slice(0,V)},N=function(S){return g.s(v%12||12,S,"0")},I=G||function(S,D,H){var V=S<12?"AM":"PM";return H?V.toLowerCase():V};return p.replace(Xe,(function(S,D){return D||(function(H){switch(H){case"YY":return String(c.$y).slice(-2);case"YYYY":return g.s(c.$y,4,"0");case"M":return y+1;case"MM":return g.s(y+1,2,"0");case"MMM":return C(i.monthsShort,y,$,3);case"MMMM":return C($,y);case"D":return c.$D;case"DD":return g.s(c.$D,2,"0");case"d":return String(c.$W);case"dd":return C(i.weekdaysMin,c.$W,R,2);case"ddd":return C(i.weekdaysShort,c.$W,R,3);case"dddd":return R[c.$W];case"H":return String(v);case"HH":return g.s(v,2,"0");case"h":return N(1);case"hh":return N(2);case"a":return I(v,M,!0);case"A":return I(v,M,!1);case"m":return String(M);case"mm":return g.s(M,2,"0");case"s":return String(c.$s);case"ss":return g.s(c.$s,2,"0");case"SSS":return g.s(c.$ms,3,"0");case"Z":return l}return null})(S)||l.replace(":","")}))},a.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},a.diff=function(o,c,i){var p,l=this,v=g.p(c),M=A(o),y=(M.utcOffset()-this.utcOffset())*r,R=this-M,$=function(){return g.m(l,M)};switch(v){case b:p=$()/12;break;case h:p=$();break;case T:p=$()/3;break;case k:p=(R-y)/6048e5;break;case w:p=(R-y)/864e5;break;case f:p=R/e;break;case d:p=R/r;break;case n:p=R/_;break;default:p=R}return i?p:g.a(p)},a.daysInMonth=function(){return this.endOf(h).$D},a.$locale=function(){return K[this.$L]},a.locale=function(o,c){if(!o)return this.$L;var i=this.clone(),p=z(o,c,!0);return p&&(i.$L=p),i},a.clone=function(){return g.w(this.$d,this)},a.toDate=function(){return new Date(this.valueOf())},a.toJSON=function(){return this.isValid()?this.toISOString():null},a.toISOString=function(){return this.$d.toISOString()},a.toString=function(){return this.$d.toUTCString()},m})(),ie=q.prototype;return A.prototype=ie,[["$ms",t],["$s",n],["$m",d],["$H",f],["$W",w],["$M",h],["$y",b],["$D",E]].forEach((function(m){ie[m[1]]=function(a){return this.$g(a,m[0],m[1])}})),A.extend=function(m,a){return m.$i||(m(a,q,A),m.$i=!0),A},A.locale=z,A.isDayjs=ee,A.unix=function(m){return A(1e3*m)},A.en=K[j],A.Ls=K,A.p={},A}))});var Er={};sr(Er,{ConnectorRunnerMkg:()=>ne});module.exports=ar(Er);var L=ae(require("node:process")),J=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,L.on?L.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${L.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),L.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([d,f])=>{try{n[d]=e.templating.compile(f)}catch(w){e.logger.error(`Error compiling template ${d} for action ${t.identifier}`,w)}}),t.config.parsedTemplates=n})}#e;#t;set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#r(r))}get connectorSDK(){return this.#t}#r(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var Ye=require("node:events");var O=class{constructor(r,e,t){this.action=r;this.payload=e;this.data=t}static{this.NAME="trigger-sync"}};var _e="mkg",de=3600,ce="RowKey",me="sys_dat_wijzig",pe=250,U="JSESSIONID",le=1800*1e3;var s=class _{constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?de:0),this.identifierField=r.identifierField??ce,this.dateField=r.dateField??me,this.rows=r.rows??pe,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new _({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var fe=new s({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function ue(_,r,e){let t=ge(e,r),n={},d=_.response.ResultData;Array.isArray(d)||(d=[d]);for(let f of d)for(let[w,k]of Object.entries(f)){let h=t[w];if(h)for(let T of k)for(let[b,E]of Object.entries(T))h.includes(b)&&(n[b]=E)}return n}function x(_,r,e){let t=ge(e,r),n={};for(let[d,f]of Object.entries(_.ResultData)){let w=t[d];if(w)for(let k of f)for(let[h,T]of Object.entries(k))w.includes(h)&&(n[h]=T)}return n}function ge(_,r){let e={};return _.forEach(t=>{let[n,d]=t.split(".");n&&d?(e[n]||(e[n]=[]),e[n].push(d)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var u=class _{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.defaultValues=r.defaultValues??{},this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??ue}withParentTable(r){let e=new _(this);return e.#e=r,e}fieldSet(r){let e=new Map;return Object.entries(this.defaultValues).forEach(([t,n])=>{e.set(t,n)}),this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#e.identifier,this.responseFields)}defaultPathFormatter(){return this.#e.identifier}};var _r=new u({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","inkg_num","vrdg_num"],defaultValues:{arti_actief:!0,arti_eenh_vrd:"st.",arti_eenh_vrk:"st.",arti_eenh_bestelling:"st.",arti_eenh_ontvangst:"st.",arti_eenh_inkoopfactuur:"st.",arti_eenh_uitgifte:"st.",arti_eenh_productie:"st.",arti_eenh_handel:"st.",btwc_code:1,inkg_num:1,prdg_num:1,vrkg_num:1,vrdg_num:5e3},responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),he=new s({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","debi_num","inkg_num","vrdg_num"]},[_r]);var ve=new s({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var we=new s({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var be=new s({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var ke=new s({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var dr=new u({identifier:"create",method:"POST",fields:["rela_num","cprs_email"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_telefoon","cprs_gsm"],defaultValues:{cprs_eigen_email:!0},responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),Me=new s({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_email","cprs_telefoon","cprs_gsm","rela_num"]},[dr]);var Te=new s({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var Ae=new s({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var ye=new s({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var Re=new s({identifier:"medw",fields:["medw_pensioenpremie_werkn","medw_spaarloon_rek","medw_betaling_per_bank","medw_premiesparen_naam","medw_ziekengeld_aanm","medw_betaling_per_rek_2","medw_auto_vd_zaak","medw_vrij_datum_5","medw_or","medw_premiesparen","medw_telefoon","medw_aanwezigheids_reg","medw_betaling_per_bank_naam","medw_postcode","medw_premiesparen_batch","medw_verschuiven","medw_onkosten","medw_pensioenpremie_werkg","medw_arbodienst_aanm","medw_lid_persver","medw_laatste_bwrk","medw_memo_contract","medw_premiesparen_iban","medw_vrij_datum_3","medw_nummer_2","medw_voornaam","medw_ziekengeld_afm","medw_mdrc","medw_spaarloon_bic","medw_spaarloon","medw_betaling_per_bank_oms_3","medw_spaarloon_iban","medw_prod_gereed_melden","medw_spaarloon_batch","medw_betaling_per_iban_2","medw_roepnaam","medw_vutpremie_werkg","medw_betaling_per_rek","medw_uren_per_dag","medw_plaats","medw_telefoon_2","medw_or_functie","medw_pensioenfonds","medw_schoenmaat","medw_naam_2","medw_spaarloon_oms1","medw_vutpremie","medw_ehbo","medw_vrij_datum_4","medw_email","medw_vrij_memo_1","medw_soort_contract","medw_vakantie_uren","medw_reiskosten","medw_vrij_veld_4","medw_waohiaat_werkg","medw_vrij_datum_2","medw_premiesparen_oms1","medw_salaris","medw_vrij_veld_3","medw_spaarloon_oms3","medw_planning","medw_raadplegen_uren","medw_spaarloon_naam","medw_vrij_veld_5","medw_ziekenfonds_aanm","medw_betaling_per_bank_2_naam","medw_partime_salaris","medw_premiesparen_oms2","medw_bedrijfsvereniging_afm","medw_betaling_per_bank_2_oms1","medw_betaling_per_bank_2","medw_betaling_per_bank_plaats","medw_tussenvoegsel","medw_instellen","medw_pensioenfonds_afm","medw_functietitel","medw_straat_2","medw_premiesparen_plaats","medw_betaling_per_bic_2","medw_betaling_per_kas_2","medw_betaling_per_bank_2_oms3","medw_premiesparen_oms3","medw_straat","medw_premiesparen_oms4","medw_dagen_per_week","medw_telefax","medw_afbeelding","medw_op_uren_pc","medw_direct_gereed"]});var Ee=new s({identifier:"pamt",fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num","vorh_num","vorr_num"]});var cr=new u({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),Se=new s({identifier:"parl",fields:[]},[cr]);var $e=new s({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var mr=new u({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),De=new s({identifier:"plnb",interval:60,fields:["plnb_num","prdh_num","bwrk_num","rsrc_num","medw_num","plnb_dat_start","plnb_tijd_start","plnb_wk_start","plnb_dat_eind","plnb_tijd_eind","plnb_wk_eind","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[mr]);var pr=new u({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:_=>{let r=_.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=_.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`}}),Ke=new s({identifier:"prbv",fields:["prdh_num","prdr_num","bwrk_num","rsrc_num","prbv_volgorde","prbv_oms","prbv_instel_tijd","prbv_onbemand"]},[pr]);var lr=new u({identifier:"create",method:"POST",fields:[],optionalFields:["prdh_oms_1","proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Ce=new s({identifier:"prdh",interval:300,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[lr]);var fr=new u({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:_=>{let{prdh_num:r}=_;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`},triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),ur=new u({identifier:"in-production",method:"PUT",fields:[],path:(_,r)=>{let{prdh_num:e,prdr_num:t}=_;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`},response:x,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),gr=new u({identifier:"done",method:"PUT",fields:[],path:(_,r)=>{let{prdh_num:e,prdr_num:t}=_;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`},response:x,triggerRefresh:{prdr:["prdh_num","prdr_num"]}}),Ie=new s({identifier:"prdr",interval:300,rows:500,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms","prdr_dat_start","prdr_dat_fysiek","t_status","t_statusinfo"]},[fr,ur,gr]);var hr=new u({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:_=>{let r=_.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=_.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),Le=new s({identifier:"prmv",fields:[]},[hr]);var Oe=new s({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var Ge=new s({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var xe=new s({identifier:"rgrs",interval:60,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var Fe=new s({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var Be=new s({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var Pe=new s({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var vr=new u({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"]}),je=new s({identifier:"stlb",interval:600,fields:["stlh_num","stlr_num","stlb_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[vr]);var wr=new u({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),Ne=new s({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[wr]);var br=new u({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"]}),He=new s({identifier:"stlm",interval:600,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[br]);var kr=new u({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),Ue=new s({identifier:"stlr",interval:600,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[kr]);var Mr=new u({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),ze=new s({identifier:"vorh",interval:300,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Mr]);var Tr=new u({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:_=>{let{vorh_num:r}=_;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"]}),Ar=new u({identifier:"create-prdh",method:"PUT",fields:[],path:(_,r)=>{let{vorh_num:e,vorr_num:t}=_;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:x,triggerRefresh:{prdr:["prdh_num","prdr_num"],vorr:["vorh_num","vorr_num"]}}),yr=new u({identifier:"create-backflush",method:"PUT",fields:[],path:(_,r)=>{let{vorh_num:e,vorr_num:t}=_;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`},response:x,triggerRefresh:{vorr:["vorh_num","vorr_num"]}}),qe=new s({identifier:"vorr",interval:300,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[Tr,Ar,yr]);var Ve=new s({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Rr=[Ge,Te,Re,he,Fe,Be,Pe,ye,Ae,Ne,Ue,He,Ce,we,ve,be,Ve,xe,De,fe,Ie,Le,Ke,Se,ke,Me,Oe,ze,qe,je,$e,Ee],W=Rr.reduce((_,r)=>(_[r.identifier]=r,_),{});var X=class extends Ye.EventEmitter{#e;#t;constructor(r,e){super(),this.#e=r,this.#t=e}get callbackFunctionChain(){return this.#r(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}#r(r){return async(e,t)=>{try{this.#e.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#e.config.administration??"1"},d=t.config.action;if(!d){let b=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(b),this.#e.receiver.responses.badRequest(b)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${d}, params json: ${JSON.stringify(e.payload)}`);let[f,...w]=d.split("."),k=w.join("."),h=W[f];if(!h)return this.#e.logger.warn(`[MKG] Unknown table identifier "${f}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${f}"`)(e);let T=h.action(k);if(!T){let b=`[MKG] Unknown action identifier "${k}" within table "${f}" in message ${e.eventId}`;return this.#e.logger.warn(b),this.#e.receiver.responses.badRequest(b)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${d}`),r(e);try{let b=new URLSearchParams;T.responseFields.length>0&&b.set("FieldList",T.responseFields.join(","));let E=T.fieldSet(e.payload),B=await this.#t.request(T.method,`/web/v3/MKG/Documents/${T.path(e.payload,n)}?${b.toString()}`,{...["POST","PUT"].includes(T.method)&&Object.keys(E).length>0?{data:{request:{InputData:{[f]:[E]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${k}" of table "${f}" response from MKG: ${JSON.stringify(B)}`);let P=T.formatResponse(B.data);return this.#e.logger.verbose(`[MKG] Formatted action "${k}" of table "${f}" response to ${Object.keys(P).length} fields`),T.triggerRefresh&&this.emit(O.NAME,new O(T,e.payload,P)),r({...e,payload:P})}catch(b){let E=`[MKG] Failed to perform action "${k}" of table "${f}": (${b?.status}) ${b?.error??b?.message}`;return this.#e.logger.error(E),this.#e.receiver.responses.unprocessableEntity(E)(e)}}catch(n){return this.#e.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};var We=ae(Je());function F(_){let{config:r}=_;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var Z=class{#e;#t;#r;#n;#o;constructor(r,e,t,n){this.#e=r,this.#t=e,this.#r=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(r){try{let e=new Date,t=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),n=await this.#i(t,r);if(n.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??_e}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${n.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#r}`)}catch(e){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];if(Object.entries(e??{}).forEach(([d,f])=>t.push(`${d}=${f}`)),Object.entries(t).length===0&&r.id!==0){let d=(0,We.default)(r.rawTimestamp);t.push(`${this.#n.dateField}>=${d.format("YYYY-MM-DD")}`)}let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let d=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${F(this.#e)}${d}'...`);let w=(await this.#t.get(`${d}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${w.length} records from '${F(this.#e)}${d}'`),w}catch(d){let f=`[MKG] Failed to fetch data from table "${this.#r}": (${d?.status}) ${d?.error??d?.message}`;this.#e.logger.error(f)}return[]}};var ne=class extends J{constructor(e,t){super(e,t);this.#n={};this.init=async()=>{let{config:e}=this.connectorSDK;await this.#s(e.username,e.password).catch(t=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",t),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(e.tables??{}).forEach(([t,n])=>{let d=W[t];if(!d){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!d.interval||d.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}let f=new Z(this.connectorSDK,this.#t,t,d.cloneFromTableConfig(n));this.#n[t]=f,this.connectorSDK.processing.registerInterval(d.interval,f,{immediate:d.immediate})})};this.#i=async e=>{let{config:t}=this.connectorSDK,n=await this.#s(t.username,t.password).catch(d=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",d),d});return{...e,headers:{...e?.headers??{},...this.#a(n)}}};let n=F(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:n}),this.#t=this.connectorSDK.httpClient({baseUrl:n}).setRequestOptionsFormatter(this.#i),this.#e=new X(this.connectorSDK,this.#t).on(O.NAME,d=>this.#d(d)),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;#i;async#s(e,t){let n=this.#o;if(n&&n.expiresAt>Date.now())return n.token;let d="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${F(this.connectorSDK)}${d}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let f=await this.#r.post(d,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!f)throw new Error("Failed to authenticate and retrieve session cookie");let k=(f.headers?.["set-cookie"]??f.headers?.["Set-Cookie"]??[]).find(T=>T.startsWith(`${U}=`));if(!k)throw new Error("Session cookie not found in authentication response");let h=k.split(";")[0]?.substring(`${U}=`.length);return this.#o={token:h,expiresAt:Date.now()+le-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(h),h}#a(e){let{config:t}=this.connectorSDK,{apiToken:n}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${U}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(n.length)}`),{Cookie:`${U}=${e}`,"X-CustomerID":n}}async#_(e){let{config:t}=this.connectorSDK,{administration:n,fiscalYear:d,language:f}=t;if(!(n?.length||d?.length||f?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let w="/web/v3/MKG/Settings",k=[];n&&k.push({t_name:"Administration",t_value:n}),d&&k.push({t_name:"FiscalYear",t_value:d}),f&&k.push({t_name:"Language",t_value:f}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(k)}`),await this.#r.put(w,{request:{InputData:{t_setting:k}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(e)}}).catch(h=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",h),h}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#d(e){Object.entries(e.action.triggerRefresh??{}).forEach(async([t,n])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${t}" due to action "${e.action.identifier}"`);let d=this.#n[t];d||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${t}", cannot trigger sync.`);let f=Object.fromEntries(Object.entries({...e.payload,...e.data}).filter(([w])=>n.includes(w)));await d.onRun(f)})}};0&&(module.exports={ConnectorRunnerMkg});
2
2
  //# sourceMappingURL=index.cjs.map