@transai/connector-runner-mkg 0.7.1 → 0.7.3
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 +21 -0
- package/index.cjs +1 -1
- package/index.cjs.map +4 -4
- package/index.js +1 -1
- package/index.js.map +4 -4
- package/libs/connector-runner-mkg/src/lib/actions-handler.d.ts +2 -1
- package/libs/connector-runner-mkg/src/lib/tables/base/action.d.ts +14 -2
- package/libs/connector-runner-mkg/src/lib/tables/base/response.d.ts +85 -0
- package/libs/connector-runner-mkg/src/lib/tables/clcr.d.ts +2 -0
- package/libs/connector-runner-mkg/src/lib/tables/cprs.d.ts +2 -0
- package/libs/connector-runner-mkg/src/lib/tables/proj.d.ts +2 -0
- package/libs/connector-runner-mkg/src/lib/tables/vorh.d.ts +2 -0
- package/libs/connector-runner-mkg/src/lib/tables/vorr.d.ts +2 -0
- package/libs/connector-runner-mkg/src/lib/types.d.ts +3 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## 0.7.2 (2026-01-23)
|
|
2
|
+
|
|
3
|
+
### 🩹 Fixes
|
|
4
|
+
|
|
5
|
+
- mkg ability to update administration settings ([b274e8a8](https://github.com/xip-online-applications/xod-core/commit/b274e8a8))
|
|
6
|
+
- mkg data send fixed ([c199e9a9](https://github.com/xip-online-applications/xod-core/commit/c199e9a9))
|
|
7
|
+
|
|
8
|
+
### ❤️ Thank You
|
|
9
|
+
|
|
10
|
+
- Youri Lefers @yourilefers
|
|
11
|
+
|
|
12
|
+
## 0.7.1 (2026-01-21)
|
|
13
|
+
|
|
14
|
+
### 🩹 Fixes
|
|
15
|
+
|
|
16
|
+
- mkg authentication fixed ([fdf43ee8](https://github.com/xip-online-applications/xod-core/commit/fdf43ee8))
|
|
17
|
+
|
|
18
|
+
### ❤️ Thank You
|
|
19
|
+
|
|
20
|
+
- Youri Lefers @yourilefers
|
|
21
|
+
|
|
1
22
|
## 0.7.0 (2026-01-14)
|
|
2
23
|
|
|
3
24
|
### 🧱 Updated Dependencies
|
package/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _e=Object.create;var v=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var se=(n,r)=>{for(var e in r)v(n,e,{get:r[e],enumerable:!0})},j=(n,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of ne(r))!ae.call(n,i)&&i!==e&&v(n,i,{get:()=>r[i],enumerable:!(t=ie(r,i))||t.enumerable});return n};var de=(n,r,e)=>(e=n!=null?_e(oe(n)):{},j(r||!n||!n.__esModule?v(e,"default",{value:n,enumerable:!0}):e,n)),me=n=>j(v({},"__esModule",{value:!0}),n);var ve={};se(ve,{ConnectorRunnerMkg:()=>M});module.exports=me(ve);var l=de(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,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 i={};Object.entries(t.config.templates).forEach(([o,d])=>{try{i[o]=e.templating.compile(d)}catch(p){e.logger.error(`Error compiling template ${o} for action ${t.identifier}`,p)}}),t.config.parsedTemplates=i})}#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",C=3600,S="RowKey",D="sys_dat_wijzig",I=250,h="JSESSIONID",R=1800*1e3;var _=class n{constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?C:0),this.identifierField=r.identifierField??S,this.dateField=r.dateField??D,this.rows=r.rows??I,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new n({...this,fields:this.fields.filter(e=>r.fields?.includes(e))})}action(r){return this.actions.find(e=>e.identifier===r)}};var y=new _({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});var G=new _({identifier:"arti",interval:300,fields:["arti_parameter_2","arti_prijs_vast_man","arti_seriegrootte","arti_vrij_memo_1","arti_bestellen","arti_btw_aanpasbaar","arti_vrij_datum_1","arti_eenh_uitgifte","arti_eenh_prijs_inkoop","arti_partij_per_1","arti_partij","arti_voorraad_waarde_mach","arti_parameter_4","arti_eenh_ontvangst","arti_prijs_vast_mat","arti_verh_tijd_aantal_grp","arti_voorraad_aantal","arti_bestel_freq_eenh","arti_vrij_datum_4","arti_eenh_vrk","arti_trans_eenh","arti_kosten_artikel","arti_verh_tijd_aantal_vrd","arti_verh_volume_aantal_grp","arti_memo_verkoop_intern","arti_verh_volume_aantal_vrd","arti_vrij_memo_2","arti_zoeknaam","arti_blok_verkoop","arti_verh_aantal_aantal_vrd","arti_actief","arti_bestelcode","arti_locatie","arti_prijs_netto_mat","arti_prijs_vast","arti_vrij_veld_1","arti_parameter_1","arti_vrij_datum_2","arti_gewicht_per_m","arti_memo_inkoop_extern","arti_inkoopofferte","arti_prijs_gemiddeld_mat","arti_dienst_verkoop","arti_oms_2","arti_levertijd_inkoop","arti_verh_tijd_eenh_grp","arti_prijs_netto_uitb","arti_oppervlakte","arti_voorraadsysteem","arti_kostprijssysteem","arti_niet_autores","arti_wvp_obv_gvp","arti_vrij_memo_5","arti_prijs_inkoop","arti_levertijd_productie","arti_verh_gewicht_aantal_grp","arti_verh_gewicht_eenh_grp","arti_vrij_veld_2","arti_prijs_gemiddeld_mach","arti_lijst_3","arti_verh_gewicht_aantal_vrd","arti_parameter_3","arti_lijst_1","arti_prijs_vast_mach","arti_vrij_veld_5","arti_ict_fact_verkoop","arti_verh_lengte_aantal_vrd","arti_backflush","arti_vrij_datum_3","arti_vrd_aanvullen_tot","arti_inkoop_artikel","arti_verh_rest_aantal_grp","arti_eenh_vrd","arti_prijs_vast_uitb","arti_trans_gewicht","arti_memo_inkoop_intern","arti_vrij_memo_3","arti_prijs_netto","arti_mat_lengte","arti_bestelhoeveelheid","arti_eenh_bestelling","arti_verh_oppv_eenh_grp","arti_voorraad_artikel","arti_backflush_uitval","arti_lijst_9","arti_vrij_datum_5","arti_verh_oppv_aantal_grp","arti_prijs_gemiddeld_uitb","arti_prijs_verkoop_eenm","arti_oms_3","arti_oms_1"]});var L=new _({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var x=new _({identifier:"bwrk",interval:60,fields:["bwrk_bwrf_instellen","bwrk_oms","bwrk_rela","bwrk_inkoopofferte","bwrk_reden_vroeg_laat","bwrk_tarief_netto_instel","bwrk_actief","bwrk_num","bwrk_grbk_direct_verantw","bwrk_actief_pauze","bwrk_memo","bwrk_aanloop_type","bwrk_medw_ovz","bwrk_grbk_indirect_kosten_mach","bwrk_niet_op_uren_pc","bwrk_memo_instel","bwrk_afloop_tijd","bwrk_magl_uit","bwrk_wachttijd_voor","bwrk_magl_in","bwrk_wegingsfactor_nc","bwrk_rsrc_instellen","bwrk_vspt_bew","bwrk_afloop_perc","bwrk_rsrc_bew","bwrk_afloop_type","bwrk_tarief_netto_mach","bwrk_memo_extern","bwrk_specificeren","bwrk_afbeelding","bwrk_wachttijd_na","bwrk_uitb_prijs","bwrk_man_per_machine","bwrk_aanloop_perc","bwrk_insteltijd","bwrk_tarief_calc_mach","bwrk_uitb_dagen","bwrk_grbk_direct_verantw_mach","bwrk_start_type","bwrk_volgorde","bwrk_grbk_indirect_kosten","bwrk_uitbesteding","bwrk_uitb_prijs_eenh","bwrk_eenmalig","bwrk_vspt_instel","bwrk_vspt_uitb","bwrk_sf_start_gereed","bwrk_tarief_calc_instel","bwrk_onbemand","bwrk_grbk_indirect_verantw","bwrk_grbk_indirect_verantw_mach","bwrk_aanloop_tijd"]});var $=new _({identifier:"clch",interval:60,fields:["clch_volgnummer","clch_op_dek_uit","clch_op_calc_mat","clch_vofh_verk_num","clch_op_calc_mach","clch_vofh_dat_antwoord","clch_kostprijs_methode_bew","clch_op_calc_man","clch_vofr_oms_1","clch_vofh_dat_levering","clch_lengte","clch_vofh_ref_onze","clch_calc_methode_mat","clch_op_calc_uit","clch_memo","clch_vofh_proj","clch_vofr_order_aantal","clch_calc_methode_bew","clch_op_dek_man","clch_op_dek_mach","clch_oms_1","clch_files","clch_num","clch_op_dek_mat","clch_vofh_rela","clch_vofh_num","clch_oms_3","clch_vofh_dat_aanvraag","clch_vofh_ref_uw","clch_vofr_arti","clch_oms_2","clch_boekjaar_afh","clch_vofr_eenh_order","clch_fase_planning"]});var B=new _({identifier:"debi",fields:["debi_actief","debi_email","debi_vrij_datum_4","debi_pkbh_verz_type","debi_vrij_memo_3","debi_vrij_memo_4","debi_zoeknaam","debi_bic","debi_kredietlimiet2","debi_deellev","debi_fcth_verz_type","debi_plaats_bank","debi_dat_btw_verificatie","debi_vrij_datum_1","debi_naam","debi_btw","debi_peppol_id","debi_kvk_num","debi_vrij_memo_2","debi_fact_naam_2","debi_docs","debi_bet_wijze","debi_blok","debi_vrij_datum_5","debi_bankcode","debi_memo_extern","debi_naam_2","debi_rekening","debi_aantal_fact","debi_num","debi_vrij_veld_2","debi_status_btw_verificatie","debi_deelfact","debi_comm_opslag","debi_naam_btw_verificatie","debi_vrij_veld_3","debi_vrij_veld_4","debi_incasso","debi_vrij_memo_1","debi_vrij_memo_5","debi_max_regels_pakb","debi_vrij_datum_3","debi_iban","debi_max_regels_fact","debi_toon_opslagen","debi_memo_kredietbewaking","debi_kredietlimiet","debi_debi_fact","debi_vrij_veld_5","debi_vrij_datum_2","debi_btw_num","debi_fact_naam","debi_vrij_veld_1","debi_memo_intern","debi_adres_btw_verificatie"]});var z=new _({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 _({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var O=new _({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 n{#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 n(this);return e.#e=r,e}fieldSet(r){let e=new Map;return this.fields.forEach(t=>{let i=r[t];if(!i)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,i)}),this.optionalFields.forEach(t=>{let i=r[t];i&&e.set(t,i)}),Object.fromEntries(e.entries())}};var le=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"}),F=new _({identifier:"parl",fields:[]},[le]);var pe=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),N=new _({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"]},[pe]);var ce=new a({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:n=>{let r=n.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=n.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`}}),U=new _({identifier:"prbv",fields:[]},[ce]);var ge=new a({identifier:"create",method:"POST",fields:["prdh_oms_1"]}),H=new _({identifier:"prdh",interval:60,fields:["prdh_op_dek_mat","prdh_op_dek_uit","prdh_oms_1","prdh_wk_order","prdh_memo_extern","prdh_wk_gepland","prdh_files","prdh_op_vcnc_uit","prdh_oms_2","prdh_memo_intern","prdh_dat_order","prdh_op_vcnc_man","prdh_op_vcnc_mat","prdh_op_vcnc_mach","prdh_op_dek_man","prdh_fase_planning","prdh_wk_planning","prdh_kostprijs_methode_bew","prdh_calc_methode_mat","prdh_image","prdh_dat_gepland","prdh_calc_methode_bew","prdh_historisch","prdh_oms_3","prdh_op_dek_mach","prdh_dat_planning","prdh_forecast","prdh_num"]},[ge]);var fe=new a({identifier:"create.prdh",method:"POST",fields:["prdr_oms_1","prdr_tot_aantal","prdr_id"],path:n=>{let r=n.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`}}),q=new _({identifier:"prdr",fields:[]},[fe]);var he=new a({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:n=>{let r=n.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=n.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),J=new _({identifier:"prmv",fields:[]},[he]);var X=new _({identifier:"rela",fields:["rela_vrij_datum_4","rela_naam","rela_vrij_datum_3","rela_vrij_datum_2","rela_postcode","rela_www","rela_vrij_datum_5","rela_vrij_datum_1","rela_vrij_veld_1","rela_email","rela_telefoon","rela_plaats","rela_moeder","rela_vrij_veld_3","rela_vrij_veld_5","rela_vrij_veld_2","rela_vrij_veld_4","rela_vrij_memo_1","rela_num","rela_resr","rela_memo","rela_vrij_memo_5","rela_naam_2","rela_zoeknaam","rela_vrij_memo_2","rela_plaats_2","rela_vrij_memo_3","rela_vrij_memo_4","rela_afbeelding","rela_files","rela_fax","rela_info","rela_actief"]});var W=new _({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 V=new _({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 Y=new _({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 Z=new _({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var Q=new _({identifier:"stlh",interval:600,fields:["arti_code","stlh_teken","stlh_rev_lengte","stlh_bron","stlh_volgnummer","stlh_oms_2","stlh_oms_1","stlh_memo","stlh_revisie","stlh_rev_preview","stlh_actief","stlh_lengte","stlh_num","stlh_oms_3","stlh_files","stlh_prefix"]});var ee=new _({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 re=new _({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 te=new _({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,B,O,G,V,Y,Z,P,z,Q,re,ee,H,x,L,$,te,W,N,y,q,J,U,F],k=be.reduce((n,r)=>(n[r.identifier]=r,n),{});var u=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.created()))}#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 i=t.config.parsedTemplates,o=i.action({inputs:e.payload}).trim(),d=i.params({inputs:e.payload}).trim(),p=JSON.parse(d);this.#e.logger.debug(`[MKG] Parsed action: ${o}, params json: ${JSON.stringify(p)}`);let[s,...b]=o.split("."),c=b.join("."),A=k[s];if(!A)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 f=A.action(c);if(!f){let m=`[MKG] Unknown action identifier "${c}" 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} with payload ${d} to action ${o}`),r(e);try{let m=await this.#t.request(f.method,`/web/v3/MKG/Documents/${f.path(p)}`,{...["POST","PUT"].includes(f.method)?{data:{request:{InputData:{[s]:[f.fieldSet(p)]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${c}" of table "${s}" response from MKG: ${JSON.stringify(m)}`)}catch(m){let E=`[MKG] Failed to perform action "${c}" of table "${s}": (${m?.status}) ${m?.error??m?.message}`;return this.#e.logger.error(E),this.#e.receiver.responses.unprocessableEntity(E)(e)}return r(e)}catch(i){return this.#e.receiver.responses.internalServerError(i instanceof Error?i.message:"Unknown error occurred")(e)}}}};function g(n){let{config:r}=n;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var T=class{#e;#t;#r;#_;#i;constructor(r,e,t,i){this.#e=r,this.#t=e,this.#r=t,this.#_=i,this.#i=i.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.#n(e);t.length>0&&await this.#e.sender.documents(t,{keyField:this.#_.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.#_.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}}#n=async r=>{let e=new URLSearchParams;e.set("NumRows",String(this.#_.rows)),r.id!==0&&e.set("Filter",`${this.#_.dateField}>=${r.rawTimestamp}`),e.set("FieldList",`${this.#_.dateField},${this.#i}`);try{let t=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${g(this.#e)}${t}'...`);let o=(await this.#t.get(`${t}?${e.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${o.length} records from '${g(this.#e)}${t}'`),o}catch(t){let i=`[MKG] Failed to fetch data from table "${this.#r}": (${t?.status}) ${t?.error??t?.message}`;this.#e.logger.error(i)}return[]}};var M=class extends w{constructor(e,t){super(e,t);this.init=async()=>{let{config:e}=this.connectorSDK;await this.#n(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,i])=>{let o=k[t];if(!o){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!o.interval||o.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}this.connectorSDK.processing.registerInterval(o.interval,new T(this.connectorSDK,this.#t,t,o.cloneFromTableConfig(i)),{immediate:o.immediate})})};this.#i=async e=>{let{config:t}=this.connectorSDK,i=await this.#n(t.username,t.password).catch(o=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",o),o});return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${h}=${i} | X-CustomerID=${"*".repeat(t.apiToken.length)}`),{...e,headers:{...e?.headers??{},Cookie:`${h}=${i}`,"X-CustomerID":t.apiToken}}};let i=g(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:i}),this.#t=this.connectorSDK.httpClient({baseUrl:i}).setRequestOptionsFormatter(this.#i),this.#e=new u(this.connectorSDK,this.#t),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#_;#i;async#n(e,t){let i=this.#_;if(i&&i.expiresAt>Date.now())return i.token;let o="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${g(this.connectorSDK)}${o}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let d=await this.#r.post(o,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!d)throw new Error("Failed to authenticate and retrieve session cookie");let s=(d.headers?.["set-cookie"]??d.headers?.["Set-Cookie"]??[]).find(c=>c.startsWith(`${h}=`));if(!s)throw new Error("Session cookie not found in authentication response");let b=s.split(";")[0]?.substring(`${h}=`.length);return this.#_={token:b,expiresAt:Date.now()+R-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#_.expiresAt).toISOString()}`),b}};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
|