@transai/connector-runner-mkg 0.7.2 → 0.7.4

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,24 @@
1
+ ## 0.7.3 (2026-01-28)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **XODO-1303 XODO-1288:** handling of mkg actions ([#997](https://github.com/xip-online-applications/xod-core/pull/997))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Youri Lefers @yourilefers
10
+
11
+ ## 0.7.2 (2026-01-23)
12
+
13
+ ### 🩹 Fixes
14
+
15
+ - mkg ability to update administration settings ([b274e8a8](https://github.com/xip-online-applications/xod-core/commit/b274e8a8))
16
+ - mkg data send fixed ([c199e9a9](https://github.com/xip-online-applications/xod-core/commit/c199e9a9))
17
+
18
+ ### ❤️ Thank You
19
+
20
+ - Youri Lefers @yourilefers
21
+
1
22
  ## 0.7.1 (2026-01-21)
2
23
 
3
24
  ### 🩹 Fixes
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var _e=Object.create;var u=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var ae=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var me=(_,r)=>{for(var e in r)u(_,e,{get:r[e],enumerable:!0})},A=(_,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of se(r))!de.call(_,o)&&o!==e&&u(_,o,{get:()=>r[o],enumerable:!(t=ie(r,o))||t.enumerable});return _};var le=(_,r,e)=>(e=_!=null?_e(ae(_)):{},A(r||!_||!_.__esModule?u(e,"default",{value:_,enumerable:!0}):e,_)),pe=_=>A(u({},"__esModule",{value:!0}),_);var ve={};me(ve,{ConnectorRunnerMkg:()=>T});module.exports=pe(ve);var c=le(require("node:process")),w=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,c.on?c.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${c.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),c.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 o={};Object.entries(t.config.templates).forEach(([i,s])=>{try{o[i]=e.templating.compile(s)}catch(g){e.logger.error(`Error compiling template ${i} for action ${t.identifier}`,g)}}),t.config.parsedTemplates=o})}#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 K="mkg",E=3600,C="RowKey",S="sys_dat_wijzig",R=250,h="JSESSIONID",D=1800*1e3;var n=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?E:0),this.identifierField=r.identifierField??C,this.dateField=r.dateField??S,this.rows=r.rows??R,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,o)=>o.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var G=new n({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});var I=new n({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","debi_num"]});var L=new n({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var y=new n({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var x=new n({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var $=new n({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 B=new n({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_email","cprs_voornaam","cprs_voorletters","cprs_naam","cprs_telefoon","rela_num"]});var j=new n({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var O=new n({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var P=new n({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var F=new n({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 a=class _{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.optionalFields=r.optionalFields??[],this.path=r.path??(()=>this.#e.identifier)}withParentTable(r){let e=new _(this);return e.#e=r,e}fieldSet(r){let e=new Map;return this.fields.forEach(t=>{let o=r[t];if(!o)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,o)}),this.optionalFields.forEach(t=>{let o=r[t];o&&e.set(t,o)}),Object.fromEntries(e.entries())}};var ce=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"}),z=new n({identifier:"parl",fields:[]},[ce]);var ge=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),N=new n({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"]},[ge]);var fe=new a({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`}}),H=new n({identifier:"prbv",fields:[]},[fe]);var he=new a({identifier:"create",method:"POST",fields:["prdh_oms_1"]}),U=new n({identifier:"prdh",interval:60,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num"]},[he]);var ue=new a({identifier:"create.prdh",method:"POST",fields:["prdr_oms_1","prdr_tot_aantal","prdr_id"],path:_=>{let r=_.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`}}),q=new n({identifier:"prdr",fields:[]},[ue]);var we=new a({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`}}),J=new n({identifier:"prmv",fields:[]},[we]);var V=new n({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var X=new n({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var W=new n({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 Y=new n({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 Z=new n({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 Q=new n({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var ee=new n({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]});var re=new n({identifier:"stlm",interval:600,fields:["arti_code","stlm_rest_min","stlm_eenh","stlm_netto_prijs_uitb","stlm_lijst_9","stlm_oms_1","stlm_gewicht_netto","stlm_lijst_2","stlm_volume","stlm_tot_nettoprijs","stlm_oms_3","stlm_toegeleverd","stlm_netto_prijs_mat","stlm_plaat_magw","stlm_rest_hl","stlm_lijst_5","stlm_oppervlakte","stlm_num","stlm_parameter_2","stlm_parameter_1","stlm_gewicht_bruto","stlm_zaaglengte","stlm_revisie","stlm_lijst_4","stlm_eenh_nettoprijs","stlm_plaat_b","stlm_tekening","stlm_opspanlengte_hl","stlm_eenmalig","stlm_opspanlengte_pl","stlm_lijst_7","stlm_memo_extern","stlm_factor","stlm_parameter_3","stlm_aantal","stlm_gewicht_per_m","stlm_plaat_a","stlm_plaat_dx","stlm_behoefte_obv","stlm_netto_prijs_fictief","stlm_opspanlengte_hlzl","stlm_memo","stlm_io_aanvragen","stlm_opspanlengte","stlm_aantal_lengtes","stlm_volgorde","stlm_zaagsnede_lengte","stlm_lijst_8","stlm_netto_prijs_mach","stlm_pos","stlm_oms_2","stlm_eenh_bestel","stlm_netto_prijs_man","stlm_handelslengte","stlm_eigen_spec","stlm_cad","stlm_zaagsnede","stlm_netto_prijs","stlm_bestel_gezaagd","stlm_prijs_methode","stlm_rest_zl","stlm_parameter_5","stlm_plaat_dy","stlm_lijst_6","stlm_bestel_handelslengte","stlm_lengte","stlm_lijst_3","stlm_spec_prijs","stlm_lijst_1","stlm_files","stlm_parameter_4","stlm_plaat_k"]});var te=new n({identifier:"stlr",interval:600,fields:["stlr_cad","stlr_parent_aantal","stlr_aantal","stlr_verh_oppv_aantal_grp","stlr_verh_gewicht_eenh_grp","stlr_verh_tijd_aantal_grp","stlr_verh_volume_aantal_grp","stlr_memo","stlr_stlr_herkomst","stlr_verh_aantal_eenh_grp","stlr_verh_gewicht_aantal_vrd","stlr_verh_aantal_aantal_vrd","stlr_seriegrootte","stlr_inherit_tekening","stlr_uitval","stlr_volgorde","stlr_eenmalig","stlr_oms_3","stlr_verh_volume_aantal_vrd","stlr_verh_tijd_aantal_vrd","stlr_files","stlr_oms_1","stlr_pos","stlr_verh_gewicht_aantal_grp","stlr_eindproduct_num","stlr_stlm_certificaat","stlr_verh_rest_aantal_vrd","stlr_niveau","stlr_tekening","stlr_verh_lengte_eenh_grp","stlr_prod_fase","stlr_revisie","stlr_verh_lengte_aantal_vrd","stlr_verh_volume_eenh_grp","stlr_verh_rest_aantal_grp","stlr_verh_oppv_eenh_grp","stlr_num","stlr_verh_tijd_eenh_grp","stlr_verwijzing","stlr_afronden_aant","stlr_verh_aantal_aantal_grp","stlr_oms_2","stlr_parent","stlr_verh_lengte_aantal_grp","stlr_verh_rest_eenh_grp","stlr_verw_stlh","stlr_stlh_herkomst","stlr_cad_revisie","stlr_verh_oppv_aantal_vrd","stlr_handlingstijd","stlr_tot_aantal","stlr_prod_aantal"]});var ne=new n({identifier:"vorh",interval:300,fields:["valu_code","vorh_ref_uw","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_bestelcode_extern","vorh_historisch","taal_code","vorh_dat_order","vorh_ref_onze","rela_num","vorh_num"]});var oe=new n({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 be=[X,j,F,I,Y,Z,Q,P,O,ee,te,re,U,y,L,x,oe,W,N,G,q,J,H,z,$,B,V,ne],b=be.reduce((_,r)=>(_[r.identifier]=r,_),{});var v=class{#e;#t;constructor(r,e){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 o=e.payload.action,i=e.payload.data;if(typeof i=="string"&&(i=JSON.parse(i)),!o||!i){let m=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(m),this.#e.receiver.responses.badRequest(m)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${o}, params json: ${JSON.stringify(i)}`);let[s,...g]=o.split("."),d=g.join("."),l=b[s];if(!l)return this.#e.logger.warn(`[MKG] Unknown table identifier "${s}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${s}"`)(e);let p=l.action(d);if(!p){let m=`[MKG] Unknown action identifier "${d}" within table "${s}" in message ${e.eventId}`;return this.#e.logger.warn(m),this.#e.receiver.responses.badRequest(m)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${o}`),r(e);try{let m=await this.#t.request(p.method,`/web/v3/MKG/Documents/${p.path(i)}`,{...["POST","PUT"].includes(p.method)?{data:{request:{InputData:{[s]:[p.fieldSet(i)]}}}}:{}});return this.#e.logger.debug(`[MKG] Got action "${d}" of table "${s}" response from MKG: ${JSON.stringify(m)}`),r({...e,payload:{status:m.status,data:m.data}})}catch(m){let M=`[MKG] Failed to perform action "${d}" of table "${s}": (${m?.status}) ${m?.error??m?.message}`;return this.#e.logger.error(M),this.#e.receiver.responses.unprocessableEntity(M)(e)}}catch(o){return this.#e.receiver.responses.internalServerError(o instanceof Error?o.message:"Unknown error occurred")(e)}}}};function f(_){let{config:r}=_;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var k=class{#e;#t;#r;#n;#o;constructor(r,e,t,o){this.#e=r,this.#t=e,this.#r=t,this.#n=o,this.#o=o.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(){try{let r=new Date,e=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),t=await this.#_(e);if(t.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(t,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??K}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${t.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(t[t.length-1]?.[this.#n.identifierField]??e.id),timestamp:r.getTime(),rawTimestamp:r.toISOString()},`offset_${this.#r}`)}catch(r){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:r}),r}}#_=async r=>{let e=new URLSearchParams;e.set("NumRows",String(this.#n.rows)),r.id!==0&&e.set("Filter",`${this.#n.dateField}>=${r.rawTimestamp}`),e.set("FieldList",`${this.#n.dateField},${this.#o}`);try{let t=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${f(this.#e)}${t}'...`);let i=(await this.#t.get(`${t}?${e.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${i.length} records from '${f(this.#e)}${t}'`),i}catch(t){let o=`[MKG] Failed to fetch data from table "${this.#r}": (${t?.status}) ${t?.error??t?.message}`;this.#e.logger.error(o)}return[]}};var T=class extends w{constructor(e,t){super(e,t);this.init=async()=>{let{config:e}=this.connectorSDK;await this.#_(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,o])=>{let i=b[t];if(!i){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!i.interval||i.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}this.connectorSDK.processing.registerInterval(i.interval,new k(this.connectorSDK,this.#t,t,i.cloneFromTableConfig(o)),{immediate:i.immediate})})};this.#o=async e=>{let{config:t}=this.connectorSDK,o=await this.#_(t.username,t.password).catch(i=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",i),i});return{...e,headers:{...e?.headers??{},...this.#i(o)}}};let o=f(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:o}),this.#t=this.connectorSDK.httpClient({baseUrl:o}).setRequestOptionsFormatter(this.#o),this.#e=new v(this.connectorSDK,this.#t),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;async#_(e,t){let o=this.#n;if(o&&o.expiresAt>Date.now())return o.token;let i="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${f(this.connectorSDK)}${i}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let s=await this.#r.post(i,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!s)throw new Error("Failed to authenticate and retrieve session cookie");let d=(s.headers?.["set-cookie"]??s.headers?.["Set-Cookie"]??[]).find(p=>p.startsWith(`${h}=`));if(!d)throw new Error("Session cookie not found in authentication response");let l=d.split(";")[0]?.substring(`${h}=`.length);return this.#n={token:l,expiresAt:Date.now()+D-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#n.expiresAt).toISOString()}`),await this.#s(l),l}#i(e){let{config:t}=this.connectorSDK,{apiToken:o}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${h}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(o.length)}`),{Cookie:`${h}=${e}`,"X-CustomerID":o}}async#s(e){let{config:t}=this.connectorSDK,{administration:o,fiscalYear:i,language:s}=t;if(!(o?.length||i?.length||s?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let g="/web/v3/MKG/Settings",d=[];o&&d.push({t_name:"Administration",t_value:o}),i&&d.push({t_name:"FiscalYear",t_value:i}),s&&d.push({t_name:"Language",t_value:s}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(d)}`),await this.#r.put(g,{request:{InputData:{t_setting:d}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#i(e)}}).catch(l=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",l),l}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}};0&&(module.exports={ConnectorRunnerMkg});
1
+ "use strict";var le=Object.create;var w=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var he=(i,r)=>{for(var e in r)w(i,e,{get:r[e],enumerable:!0})},E=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ce(r))!fe.call(i,o)&&o!==e&&w(i,o,{get:()=>r[o],enumerable:!(t=pe(r,o))||t.enumerable});return i};var ue=(i,r,e)=>(e=i!=null?le(ge(i)):{},E(r||!i||!i.__esModule?w(e,"default",{value:i,enumerable:!0}):e,i)),ve=i=>E(w({},"__esModule",{value:!0}),i);var Se={};he(Se,{ConnectorRunnerMkg:()=>M});module.exports=ve(Se);var f=ue(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,f.on?f.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${f.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),f.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 o={};Object.entries(t.config.templates).forEach(([s,_])=>{try{o[s]=e.templating.compile(_)}catch(d){e.logger.error(`Error compiling template ${s} for action ${t.identifier}`,d)}}),t.config.parsedTemplates=o})}#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 y="mkg",K=3600,C="RowKey",S="sys_dat_wijzig",D=250,v="JSESSIONID",G=1800*1e3;var n=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??C,this.dateField=r.dateField??S,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,o)=>o.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var I=new n({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});var L=new n({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","debi_num"]});var x=new n({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var F=new n({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var $=new n({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var B=new n({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 O=new n({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_email","cprs_voornaam","cprs_voorletters","cprs_naam","cprs_telefoon","rela_num"]});var j=new n({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var P=new n({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var z=new n({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var N=new n({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"]});function U(i,r,e){let t=q(e,r),o={};for(let s of i.response.ResultData)for(let[_,d]of Object.entries(s)){let l=t[_];if(l)for(let m of d)for(let[c,g]of Object.entries(m))l.includes(c)&&(o[c]=g)}return o}function H(i,r,e){let t=q(e,r),o={};for(let[s,_]of Object.entries(i.ResultData)){let d=t[s];if(d)for(let l of _)for(let[m,c]of Object.entries(l))d.includes(m)&&(o[m]=c)}return o}function q(i,r){let e={};return i.forEach(t=>{let[o,s]=t.split(".");o&&s?(e[o]||(e[o]=[]),e[o].push(s)):o&&(e[r]||(e[r]=[]),e[r].push(o))}),e}var a=class i{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??U}withParentTable(r){let e=new i(this);return e.#e=r,e}fieldSet(r){let e=new Map;return this.fields.forEach(t=>{let o=r[t];if(!o)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,o)}),this.optionalFields.forEach(t=>{let o=r[t];o&&e.set(t,o)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#e.identifier,this.responseFields)}defaultPathFormatter(){return this.#e.identifier}};var we=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 n({identifier:"parl",fields:[]},[we]);var be=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),V=new n({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"]},[be]);var ke=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`}}),X=new n({identifier:"prbv",fields:[]},[ke]);var Te=new a({identifier:"create",method:"POST",fields:[],optionalFields:["prdh_oms_1","proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"]}),W=new n({identifier:"prdh",interval:300,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[Te]);var Ae=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/`}}),Y=new n({identifier:"prdr",interval:300,fields:["prdh_num","prdr_num","prdr_aantal","arti_code","t_status_oms"]},[Ae]);var Me=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`}}),Z=new n({identifier:"prmv",fields:[]},[Me]);var Q=new n({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var ee=new n({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var re=new n({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 te=new n({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 ne=new n({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 oe=new n({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var ie=new n({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]});var se=new n({identifier:"stlm",interval:600,fields:["arti_code","stlm_rest_min","stlm_eenh","stlm_netto_prijs_uitb","stlm_lijst_9","stlm_oms_1","stlm_gewicht_netto","stlm_lijst_2","stlm_volume","stlm_tot_nettoprijs","stlm_oms_3","stlm_toegeleverd","stlm_netto_prijs_mat","stlm_plaat_magw","stlm_rest_hl","stlm_lijst_5","stlm_oppervlakte","stlm_num","stlm_parameter_2","stlm_parameter_1","stlm_gewicht_bruto","stlm_zaaglengte","stlm_revisie","stlm_lijst_4","stlm_eenh_nettoprijs","stlm_plaat_b","stlm_tekening","stlm_opspanlengte_hl","stlm_eenmalig","stlm_opspanlengte_pl","stlm_lijst_7","stlm_memo_extern","stlm_factor","stlm_parameter_3","stlm_aantal","stlm_gewicht_per_m","stlm_plaat_a","stlm_plaat_dx","stlm_behoefte_obv","stlm_netto_prijs_fictief","stlm_opspanlengte_hlzl","stlm_memo","stlm_io_aanvragen","stlm_opspanlengte","stlm_aantal_lengtes","stlm_volgorde","stlm_zaagsnede_lengte","stlm_lijst_8","stlm_netto_prijs_mach","stlm_pos","stlm_oms_2","stlm_eenh_bestel","stlm_netto_prijs_man","stlm_handelslengte","stlm_eigen_spec","stlm_cad","stlm_zaagsnede","stlm_netto_prijs","stlm_bestel_gezaagd","stlm_prijs_methode","stlm_rest_zl","stlm_parameter_5","stlm_plaat_dy","stlm_lijst_6","stlm_bestel_handelslengte","stlm_lengte","stlm_lijst_3","stlm_spec_prijs","stlm_lijst_1","stlm_files","stlm_parameter_4","stlm_plaat_k"]});var _e=new n({identifier:"stlr",interval:600,fields:["stlr_cad","stlr_parent_aantal","stlr_aantal","stlr_verh_oppv_aantal_grp","stlr_verh_gewicht_eenh_grp","stlr_verh_tijd_aantal_grp","stlr_verh_volume_aantal_grp","stlr_memo","stlr_stlr_herkomst","stlr_verh_aantal_eenh_grp","stlr_verh_gewicht_aantal_vrd","stlr_verh_aantal_aantal_vrd","stlr_seriegrootte","stlr_inherit_tekening","stlr_uitval","stlr_volgorde","stlr_eenmalig","stlr_oms_3","stlr_verh_volume_aantal_vrd","stlr_verh_tijd_aantal_vrd","stlr_files","stlr_oms_1","stlr_pos","stlr_verh_gewicht_aantal_grp","stlr_eindproduct_num","stlr_stlm_certificaat","stlr_verh_rest_aantal_vrd","stlr_niveau","stlr_tekening","stlr_verh_lengte_eenh_grp","stlr_prod_fase","stlr_revisie","stlr_verh_lengte_aantal_vrd","stlr_verh_volume_eenh_grp","stlr_verh_rest_aantal_grp","stlr_verh_oppv_eenh_grp","stlr_num","stlr_verh_tijd_eenh_grp","stlr_verwijzing","stlr_afronden_aant","stlr_verh_aantal_aantal_grp","stlr_oms_2","stlr_parent","stlr_verh_lengte_aantal_grp","stlr_verh_rest_eenh_grp","stlr_verw_stlh","stlr_stlh_herkomst","stlr_cad_revisie","stlr_verh_oppv_aantal_vrd","stlr_handlingstijd","stlr_tot_aantal","stlr_prod_aantal"]});var Re=new a({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["rela_num","proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"]}),ae=new n({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"]},[Re]);var Ee=new a({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","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"]}),ye=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:H}),Ke=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`}}),de=new n({identifier:"vorr",interval:300,fields:["vorh_num","vorr_num","arti_code","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vrdg_num","vrkg_num"]},[Ee,ye,Ke]);var me=new n({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 Ce=[ee,j,N,L,te,ne,oe,z,P,ie,_e,se,W,F,x,$,me,re,V,I,Y,Z,X,J,B,O,Q,ae,de],k=Ce.reduce((i,r)=>(i[r.identifier]=r,i),{});var T=class{#e;#t;constructor(r,e){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 o={administration:this.#e.config.administration??"1"},s=e.payload.action,_=e.payload.data;if(typeof _=="string"&&(_=JSON.parse(_)),!s||!_){let p=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(p),this.#e.receiver.responses.badRequest(p)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${s}, params json: ${JSON.stringify(_)}`);let[d,...l]=s.split("."),m=l.join("."),c=k[d];if(!c)return this.#e.logger.warn(`[MKG] Unknown table identifier "${d}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${d}"`)(e);let g=c.action(m);if(!g){let p=`[MKG] Unknown action identifier "${m}" within table "${d}" in message ${e.eventId}`;return this.#e.logger.warn(p),this.#e.receiver.responses.badRequest(p)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${s}`),r(e);try{let p=g.fieldSet(_),h=await this.#t.request(g.method,`/web/v3/MKG/Documents/${g.path(_,o)}`,{...["POST","PUT"].includes(g.method)&&Object.keys(p).length>0?{data:{request:{InputData:{[d]:[p]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${m}" of table "${d}" response from MKG: ${JSON.stringify(h)}`);let R=g.formatResponse(h.data);return this.#e.logger.verbose(`[MKG] Formatted action "${m}" of table "${d}" response to ${Object.keys(R).length} fields`),r({...e,payload:{status:h.status,data:R}})}catch(p){let h=`[MKG] Failed to perform action "${m}" of table "${d}": (${p?.status}) ${p?.error??p?.message}`;return this.#e.logger.error(h),this.#e.receiver.responses.unprocessableEntity(h)(e)}}catch(o){return this.#e.receiver.responses.internalServerError(o instanceof Error?o.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,o){this.#e=r,this.#t=e,this.#r=t,this.#n=o,this.#o=o.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(){try{let r=new Date,e=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),t=await this.#i(e);if(t.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(t,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??y}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${t.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(t[t.length-1]?.[this.#n.identifierField]??e.id),timestamp:r.getTime(),rawTimestamp:r.toISOString()},`offset_${this.#r}`)}catch(r){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:r}),r}}#i=async r=>{let e=new URLSearchParams;e.set("NumRows",String(this.#n.rows)),r.id!==0&&e.set("Filter",`${this.#n.dateField}>=${r.rawTimestamp}`),e.set("FieldList",`${this.#n.dateField},${this.#o}`);try{let t=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${u(this.#e)}${t}'...`);let s=(await this.#t.get(`${t}?${e.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${s.length} records from '${u(this.#e)}${t}'`),s}catch(t){let o=`[MKG] Failed to fetch data from table "${this.#r}": (${t?.status}) ${t?.error??t?.message}`;this.#e.logger.error(o)}return[]}};var M=class extends b{constructor(e,t){super(e,t);this.init=async()=>{let{config:e}=this.connectorSDK;await this.#i(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,o])=>{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}this.connectorSDK.processing.registerInterval(s.interval,new A(this.connectorSDK,this.#t,t,s.cloneFromTableConfig(o)),{immediate:s.immediate})})};this.#o=async e=>{let{config:t}=this.connectorSDK,o=await this.#i(t.username,t.password).catch(s=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",s),s});return{...e,headers:{...e?.headers??{},...this.#s(o)}}};let o=u(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:o}),this.#t=this.connectorSDK.httpClient({baseUrl:o}).setRequestOptionsFormatter(this.#o),this.#e=new T(this.connectorSDK,this.#t),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;async#i(e,t){let o=this.#n;if(o&&o.expiresAt>Date.now())return o.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 l=(_.headers?.["set-cookie"]??_.headers?.["Set-Cookie"]??[]).find(c=>c.startsWith(`${v}=`));if(!l)throw new Error("Session cookie not found in authentication response");let m=l.split(";")[0]?.substring(`${v}=`.length);return this.#n={token:m,expiresAt:Date.now()+G-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#n.expiresAt).toISOString()}`),await this.#_(m),m}#s(e){let{config:t}=this.connectorSDK,{apiToken:o}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${v}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(o.length)}`),{Cookie:`${v}=${e}`,"X-CustomerID":o}}async#_(e){let{config:t}=this.connectorSDK,{administration:o,fiscalYear:s,language:_}=t;if(!(o?.length||s?.length||_?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let d="/web/v3/MKG/Settings",l=[];o&&l.push({t_name:"Administration",t_value:o}),s&&l.push({t_name:"FiscalYear",t_value:s}),_&&l.push({t_name:"Language",t_value:_}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(l)}`),await this.#r.put(d,{request:{InputData:{t_setting:l}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#s(e)}}).catch(m=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",m),m}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}};0&&(module.exports={ConnectorRunnerMkg});
2
2
  //# sourceMappingURL=index.cjs.map