@transai/connector-runner-mkg 0.7.5 → 0.7.6
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 +10 -0
- package/index.cjs +1 -1
- package/index.cjs.map +3 -3
- package/index.js +1 -1
- package/index.js.map +3 -3
- package/libs/connector-runner-mkg/src/lib/tables/base/action.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.7.5 (2026-02-02)
|
|
2
|
+
|
|
3
|
+
### 🩹 Fixes
|
|
4
|
+
|
|
5
|
+
- data refresh for some actions ([262c01ef](https://github.com/xip-online-applications/xod-core/commit/262c01ef))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Youri Lefers @yourilefers
|
|
10
|
+
|
|
1
11
|
## 0.7.4 (2026-01-28)
|
|
2
12
|
|
|
3
13
|
### 🚀 Features
|
package/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var fe=Object.create;var v=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var be=(i,r)=>{for(var e in r)v(i,e,{get:r[e],enumerable:!0})},R=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of he(r))!ve.call(i,n)&&n!==e&&v(i,n,{get:()=>r[n],enumerable:!(t=ue(r,n))||t.enumerable});return i};var ke=(i,r,e)=>(e=i!=null?fe(we(i)):{},R(r||!i||!i.__esModule?v(e,"default",{value:i,enumerable:!0}):e,i)),Te=i=>R(v({},"__esModule",{value:!0}),i);var je={};be(je,{ConnectorRunnerMkg:()=>E});module.exports=Te(je);var g=ke(require("node:process")),b=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,g.on?g.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${g.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),g.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([s,_])=>{try{n[s]=e.templating.compile(_)}catch(c){e.logger.error(`Error compiling template ${s} for action ${t.identifier}`,c)}}),t.config.parsedTemplates=n})}#e;#t;set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#r(r))}get connectorSDK(){return this.#t}#r(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var ge=require("node:events");var f=class{constructor(r,e){this.action=r;this.data=e}static{this.NAME="trigger-sync"}};var y="mkg",K=3600,S="RowKey",C="sys_dat_wijzig",D=250,w="JSESSIONID",G=1800*1e3;var o=class i{constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?K:0),this.identifierField=r.identifierField??S,this.dateField=r.dateField??C,this.rows=r.rows??D,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new i({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var I=new o({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function L(i,r,e){let t=F(e,r),n={};for(let s of i.response.ResultData)for(let[_,c]of Object.entries(s)){let d=t[_];if(d)for(let p of c)for(let[m,l]of Object.entries(p))d.includes(m)&&(n[m]=l)}return n}function x(i,r,e){let t=F(e,r),n={};for(let[s,_]of Object.entries(i.ResultData)){let c=t[s];if(c)for(let d of _)for(let[p,m]of Object.entries(d))c.includes(p)&&(n[p]=m)}return n}function F(i,r){let e={};return i.forEach(t=>{let[n,s]=t.split(".");n&&s?(e[n]||(e[n]=[]),e[n].push(s)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var a=class i{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??L}withParentTable(r){let e=new i(this);return e.#e=r,e}fieldSet(r){let e=new Map;return this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#e.identifier,this.responseFields)}defaultPathFormatter(){return this.#e.identifier}};var Ae=new a({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel"],responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),O=new o({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","debi_num"]},[Ae]);var $=new o({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var B=new o({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var P=new o({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var N=new o({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var Me=new a({identifier:"create",method:"POST",fields:["rela_num"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_eigen_email","cprs_eigen_telefoon","cprs_gsm"],responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),j=new o({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_eigen_email","cprs_eigen_telefoon","cprs_gsm","rela_num"]},[Me]);var z=new o({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var U=new o({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var H=new o({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var q=new o({identifier:"medw",fields:["medw_pensioenpremie_werkn","medw_spaarloon_rek","medw_betaling_per_bank","medw_premiesparen_naam","medw_ziekengeld_aanm","medw_betaling_per_rek_2","medw_auto_vd_zaak","medw_vrij_datum_5","medw_or","medw_premiesparen","medw_telefoon","medw_aanwezigheids_reg","medw_betaling_per_bank_naam","medw_postcode","medw_premiesparen_batch","medw_verschuiven","medw_onkosten","medw_pensioenpremie_werkg","medw_arbodienst_aanm","medw_lid_persver","medw_laatste_bwrk","medw_memo_contract","medw_premiesparen_iban","medw_vrij_datum_3","medw_nummer_2","medw_voornaam","medw_ziekengeld_afm","medw_mdrc","medw_spaarloon_bic","medw_spaarloon","medw_betaling_per_bank_oms_3","medw_spaarloon_iban","medw_prod_gereed_melden","medw_spaarloon_batch","medw_betaling_per_iban_2","medw_roepnaam","medw_vutpremie_werkg","medw_betaling_per_rek","medw_uren_per_dag","medw_plaats","medw_telefoon_2","medw_or_functie","medw_pensioenfonds","medw_schoenmaat","medw_naam_2","medw_spaarloon_oms1","medw_vutpremie","medw_ehbo","medw_vrij_datum_4","medw_email","medw_vrij_memo_1","medw_soort_contract","medw_vakantie_uren","medw_reiskosten","medw_vrij_veld_4","medw_waohiaat_werkg","medw_vrij_datum_2","medw_premiesparen_oms1","medw_salaris","medw_vrij_veld_3","medw_spaarloon_oms3","medw_planning","medw_raadplegen_uren","medw_spaarloon_naam","medw_vrij_veld_5","medw_ziekenfonds_aanm","medw_betaling_per_bank_2_naam","medw_partime_salaris","medw_premiesparen_oms2","medw_bedrijfsvereniging_afm","medw_betaling_per_bank_2_oms1","medw_betaling_per_bank_2","medw_betaling_per_bank_plaats","medw_tussenvoegsel","medw_instellen","medw_pensioenfonds_afm","medw_functietitel","medw_straat_2","medw_premiesparen_plaats","medw_betaling_per_bic_2","medw_betaling_per_kas_2","medw_betaling_per_bank_2_oms3","medw_premiesparen_oms3","medw_straat","medw_premiesparen_oms4","medw_dagen_per_week","medw_telefax","medw_afbeelding","medw_op_uren_pc","medw_direct_gereed"]});var J=new o({identifier:"pamt",fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num"]});var Ee=new a({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),V=new o({identifier:"parl",fields:[]},[Ee]);var X=new o({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var Re=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),W=new o({identifier:"plnb",interval:60,fields:["plnb_num","prdh_num","bwrk_num","rsrc_num","medw_num","plnb_dat_start","plnb_tijd_start","plnb_wk_start","plnb_dat_eind","plnb_tijd_eind","plnb_wk_eind","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[Re]);var ye=new a({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`}}),Y=new o({identifier:"prbv",fields:[]},[ye]);var Ke=new a({identifier:"create",method:"POST",fields:[],optionalFields:["prdh_oms_1","proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Z=new o({identifier:"prdh",interval:300,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[Ke]);var Se=new a({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:i=>{let{prdh_num:r}=i;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`}}),Ce=new a({identifier:"in-production",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`}}),De=new a({identifier:"done",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`}}),Q=new o({identifier:"prdr",interval:300,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms"]},[Se,Ce,De]);var Ge=new a({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),ee=new o({identifier:"prmv",fields:[]},[Ge]);var re=new o({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var te=new o({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var ne=new o({identifier:"rgrs",interval:60,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var oe=new o({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var ie=new o({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var se=new o({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var Ie=new a({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"]}),ae=new o({identifier:"stlb",interval:600,fields:["stlh_num","stlr_num","stlb_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[Ie]);var Le=new a({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),_e=new o({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[Le]);var xe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"]}),de=new o({identifier:"stlm",interval:600,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[xe]);var Fe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),ce=new o({identifier:"stlr",interval:600,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[Fe]);var Oe=new a({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),me=new o({identifier:"vorh",interval:300,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Oe]);var $e=new a({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:i=>{let{vorh_num:r}=i;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"]}),Be=new a({identifier:"create-prdh",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:x}),Pe=new a({identifier:"create-backflush",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`}}),pe=new o({identifier:"vorr",interval:300,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[$e,Be,Pe]);var le=new o({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Ne=[te,z,q,O,oe,ie,se,H,U,_e,ce,de,Z,B,$,P,le,ne,W,I,Q,ee,Y,V,N,j,re,me,pe,ae,X,J],k=Ne.reduce((i,r)=>(i[r.identifier]=r,i),{});var T=class extends ge.EventEmitter{#e;#t;constructor(r,e){super(),this.#e=r,this.#t=e}get callbackFunctionChain(){return this.#r(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}#r(r){return async(e,t)=>{try{this.#e.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#e.config.administration??"1"},s=t.config.action;if(!s){let l=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${s}, params json: ${JSON.stringify(e.payload)}`);let[_,...c]=s.split("."),d=c.join("."),p=k[_];if(!p)return this.#e.logger.warn(`[MKG] Unknown table identifier "${_}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${_}"`)(e);let m=p.action(d);if(!m){let l=`[MKG] Unknown action identifier "${d}" within table "${_}" in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${s}`),r(e);try{let l=m.fieldSet(e.payload),u=await this.#t.request(m.method,`/web/v3/MKG/Documents/${m.path(e.payload,n)}`,{...["POST","PUT"].includes(m.method)&&Object.keys(l).length>0?{data:{request:{InputData:{[_]:[l]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${d}" of table "${_}" response from MKG: ${JSON.stringify(u)}`);let M=m.formatResponse(u.data);return this.#e.logger.verbose(`[MKG] Formatted action "${d}" of table "${_}" response to ${Object.keys(M).length} fields`),m.triggerRefresh&&this.emit(f.NAME,new f(m,M)),r({...e,payload:{status:u.status,data:M}})}catch(l){let u=`[MKG] Failed to perform action "${d}" of table "${_}": (${l?.status}) ${l?.error??l?.message}`;return this.#e.logger.error(u),this.#e.receiver.responses.unprocessableEntity(u)(e)}}catch(n){return this.#e.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};function h(i){let{config:r}=i;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var A=class{#e;#t;#r;#n;#o;constructor(r,e,t,n){this.#e=r,this.#t=e,this.#r=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(r){try{let e=new Date,t=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),n=await this.#i(t,r);if(n.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??y}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${n.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#r}`)}catch(e){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];r.id!==0&&t.push(`${this.#n.dateField}>=${r.rawTimestamp}`),Object.entries(e??{}).forEach(([s,_])=>t.push(`${s}=${_}`));let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let s=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${h(this.#e)}${s}'...`);let c=(await this.#t.get(`${s}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${c.length} records from '${h(this.#e)}${s}'`),c}catch(s){let _=`[MKG] Failed to fetch data from table "${this.#r}": (${s?.status}) ${s?.error??s?.message}`;this.#e.logger.error(_)}return[]}};var E=class extends b{constructor(e,t){super(e,t);this.#n={};this.init=async()=>{let{config:e}=this.connectorSDK;await this.#s(e.username,e.password).catch(t=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",t),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(e.tables??{}).forEach(([t,n])=>{let s=k[t];if(!s){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!s.interval||s.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}let _=new A(this.connectorSDK,this.#t,t,s.cloneFromTableConfig(n));this.#n[t]=_,this.connectorSDK.processing.registerInterval(s.interval,_,{immediate:s.immediate})})};this.#i=async e=>{let{config:t}=this.connectorSDK,n=await this.#s(t.username,t.password).catch(s=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",s),s});return{...e,headers:{...e?.headers??{},...this.#a(n)}}};let n=h(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:n}),this.#t=this.connectorSDK.httpClient({baseUrl:n}).setRequestOptionsFormatter(this.#i),this.#e=new T(this.connectorSDK,this.#t).on(f.NAME,s=>this.#d(s)),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;#i;async#s(e,t){let n=this.#o;if(n&&n.expiresAt>Date.now())return n.token;let s="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${h(this.connectorSDK)}${s}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let _=await this.#r.post(s,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!_)throw new Error("Failed to authenticate and retrieve session cookie");let d=(_.headers?.["set-cookie"]??_.headers?.["Set-Cookie"]??[]).find(m=>m.startsWith(`${w}=`));if(!d)throw new Error("Session cookie not found in authentication response");let p=d.split(";")[0]?.substring(`${w}=`.length);return this.#o={token:p,expiresAt:Date.now()+G-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(p),p}#a(e){let{config:t}=this.connectorSDK,{apiToken:n}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${w}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(n.length)}`),{Cookie:`${w}=${e}`,"X-CustomerID":n}}async#_(e){let{config:t}=this.connectorSDK,{administration:n,fiscalYear:s,language:_}=t;if(!(n?.length||s?.length||_?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let c="/web/v3/MKG/Settings",d=[];n&&d.push({t_name:"Administration",t_value:n}),s&&d.push({t_name:"FiscalYear",t_value:s}),_&&d.push({t_name:"Language",t_value:_}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(d)}`),await this.#r.put(c,{request:{InputData:{t_setting:d}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(e)}}).catch(p=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",p),p}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#d(e){Object.entries(e.action.triggerRefresh??{}).forEach(async([t,n])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${t}" due to action "${e.action.identifier}"`);let s=this.#n[t];s||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${t}", cannot trigger sync.`);let _=Object.fromEntries(Object.entries(e.data).filter(([c])=>n.includes(c)));await s.onRun(_)})}};0&&(module.exports={ConnectorRunnerMkg});
|
|
1
|
+
"use strict";var fe=Object.create;var v=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var be=(i,r)=>{for(var e in r)v(i,e,{get:r[e],enumerable:!0})},R=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of he(r))!ve.call(i,n)&&n!==e&&v(i,n,{get:()=>r[n],enumerable:!(t=ue(r,n))||t.enumerable});return i};var ke=(i,r,e)=>(e=i!=null?fe(we(i)):{},R(r||!i||!i.__esModule?v(e,"default",{value:i,enumerable:!0}):e,i)),Te=i=>R(v({},"__esModule",{value:!0}),i);var je={};be(je,{ConnectorRunnerMkg:()=>E});module.exports=Te(je);var g=ke(require("node:process")),b=class{constructor(r,e){this.#e="connector-runtime";this.init=()=>Promise.resolve();this.start=()=>Promise.resolve();this.stop=()=>Promise.resolve();this.#t=e,g.on?g.on("message",t=>{t.cmd===this.#e&&e.logger.verbose(`${g.pid} Received message from parent process:`,t)}):e.logger.warn("IPC channel is not available. process.on is undefined."),g.send||e.logger.warn("IPC channel is not available. process.send is undefined."),r.actions?.forEach(t=>{if(t.config.templates===void 0)return;let n={};Object.entries(t.config.templates).forEach(([s,_])=>{try{n[s]=e.templating.compile(_)}catch(c){e.logger.error(`Error compiling template ${s} for action ${t.identifier}`,c)}}),t.config.parsedTemplates=n})}#e;#t;set callbackFunction(r){this.connectorSDK.receiver.registerCallback(this.#r(r))}get connectorSDK(){return this.#t}#r(r){return async e=>{let t=await this.#t.receiver.getActionConfig(e);return t?r(e,t):this.#t.receiver.responses.badRequest("Action not found")(e)}}};var ge=require("node:events");var f=class{constructor(r,e){this.action=r;this.data=e}static{this.NAME="trigger-sync"}};var y="mkg",K=3600,S="RowKey",C="sys_dat_wijzig",D=250,w="JSESSIONID",G=1800*1e3;var o=class i{constructor(r,e=[]){this.identifier=r.identifier,this.fields=r.fields,this.immediate=r.immediate!==!1,this.interval=r.interval??(this.fields.length>0?K:0),this.identifierField=r.identifierField??S,this.dateField=r.dateField??C,this.rows=r.rows??D,this.actions=e.map(t=>t.withParentTable(this))}cloneFromTableConfig(r){return r===!0||r.fields===void 0?this:new i({...this,fields:[...this.fields,...r.fields].filter((e,t,n)=>n.indexOf(e)===t)})}action(r){return this.actions.find(e=>e.identifier===r)}};var I=new o({identifier:"artg",fields:["artg_num","artg_rela","artg_cred","artg_oms","artg_inkoopofferte"]});function L(i,r,e){let t=F(e,r),n={};for(let s of i.response.ResultData)for(let[_,c]of Object.entries(s)){let d=t[_];if(d)for(let p of c)for(let[m,l]of Object.entries(p))d.includes(m)&&(n[m]=l)}return n}function x(i,r,e){let t=F(e,r),n={};for(let[s,_]of Object.entries(i.ResultData)){let c=t[s];if(c)for(let d of _)for(let[p,m]of Object.entries(d))c.includes(p)&&(n[p]=m)}return n}function F(i,r){let e={};return i.forEach(t=>{let[n,s]=t.split(".");n&&s?(e[n]||(e[n]=[]),e[n].push(s)):n&&(e[r]||(e[r]=[]),e[r].push(n))}),e}var a=class i{#e;constructor(r){this.identifier=r.identifier,this.method=r.method,this.fields=r.fields,this.triggerRefresh=r.triggerRefresh,this.defaultValues=r.defaultValues??{},this.optionalFields=r.optionalFields??[],this.responseFields=r.responseFields??[],this.path=r.path??this.defaultPathFormatter,this.response=r.response??L}withParentTable(r){let e=new i(this);return e.#e=r,e}fieldSet(r){let e=new Map;return Object.entries(this.defaultValues).forEach(([t,n])=>{e.set(t,n)}),this.fields.forEach(t=>{let n=r[t];if(!n)throw new Error(`Missing required field '${t}' for action '${this.identifier}'`);e.set(t,n)}),this.optionalFields.forEach(t=>{let n=r[t];n&&e.set(t,n)}),Object.fromEntries(e.entries())}formatResponse(r){return this.response(r,this.#e.identifier,this.responseFields)}defaultPathFormatter(){return this.#e.identifier}};var Ae=new a({identifier:"create",method:"POST",fields:["arti_code"],optionalFields:["arti_oms_1","arti_zoeknaam","debi_num","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","inkg_num","vrdg_num"],defaultValues:{arti_actief:!0,arti_eenh_vrd:"st.",arti_eenh_vrk:"st.",arti_eenh_bestelling:"st.",arti_eenh_ontvangst:"st.",arti_eenh_inkoopfactuur:"st.",arti_eenh_uitgifte:"st.",arti_eenh_productie:"st.",arti_eenh_handel:"st.",btwc_code:1,inkg_num:1,prdg_num:1,vrkg_num:1,vrdg_num:5e3},responseFields:["arti_code"],triggerRefresh:{arti:["arti_code"]}}),O=new o({identifier:"arti",interval:300,fields:["arti_actief","arti_code","arti_revisie","arti_oms_1","arti_tekening","arti_stlh_num","arti_zoeknaam","arti_inkoop_artikel","arti_eenh_vrd","arti_eenh_vrk","arti_eenh_bestelling","arti_eenh_ontvangst","arti_eenh_inkoopfactuur","arti_eenh_uitgifte","arti_eenh_productie","arti_eenh_handel","btwc_code","debi_num","inkg_num","vrdg_num"]},[Ae]);var $=new o({identifier:"bwrg",fields:["bwrg_inkoopofferte","bwrg_memo","bwrg_oms","bwrg_num","bwrg_cred","bwrg_rela"]});var B=new o({identifier:"bwrk",interval:60,fields:["bwrk_actief","bwrk_oms","bwrk_num","bwrk_rsrc_instellen","bwrk_rsrc_bew","bwrk_onbemand"]});var P=new o({identifier:"clch",interval:60,fields:["arti_code","clch_num","clch_oms_1","prdt_num","clch_vofh_proj"]});var N=new o({identifier:"clcr",interval:60,fields:["arti_code","clch_num","clcr_oms_1","clcr_tekening","clcr_niveau","clcr_num","clcr_parent","stlh_num","clcr_revisie"]});var Me=new a({identifier:"create",method:"POST",fields:["rela_num","cprs_email"],optionalFields:["cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_telefoon","cprs_gsm"],defaultValues:{cprs_eigen_email:!0},responseFields:["cprs_num"],triggerRefresh:{cprs:["cprs_num"]}}),j=new o({identifier:"cprs",interval:300,fields:["cprs_actief","cprs_num","cprs_voorletters","cprs_voornaam","cprs_tussenvoegsel","cprs_naam","cprs_email","cprs_telefoon","cprs_gsm","rela_num"]},[Me]);var z=new o({identifier:"debi",fields:["debi_actief","debi_num","debi_kvk_num","debi_naam","rela_num","debi_btw_num"]});var U=new o({identifier:"magl",fields:["magl_memo","magl_oms_3","magl_shopfloor","magl_niet_autores","magl_oms_2","magl_code","magl_blok","magl_oms_1"]});var H=new o({identifier:"magz",fields:["magz_memo","magz_oms_1","magz_oms_2","magz_code","magz_oms_3","magz_niet_autores","magz_blok"]});var q=new o({identifier:"medw",fields:["medw_pensioenpremie_werkn","medw_spaarloon_rek","medw_betaling_per_bank","medw_premiesparen_naam","medw_ziekengeld_aanm","medw_betaling_per_rek_2","medw_auto_vd_zaak","medw_vrij_datum_5","medw_or","medw_premiesparen","medw_telefoon","medw_aanwezigheids_reg","medw_betaling_per_bank_naam","medw_postcode","medw_premiesparen_batch","medw_verschuiven","medw_onkosten","medw_pensioenpremie_werkg","medw_arbodienst_aanm","medw_lid_persver","medw_laatste_bwrk","medw_memo_contract","medw_premiesparen_iban","medw_vrij_datum_3","medw_nummer_2","medw_voornaam","medw_ziekengeld_afm","medw_mdrc","medw_spaarloon_bic","medw_spaarloon","medw_betaling_per_bank_oms_3","medw_spaarloon_iban","medw_prod_gereed_melden","medw_spaarloon_batch","medw_betaling_per_iban_2","medw_roepnaam","medw_vutpremie_werkg","medw_betaling_per_rek","medw_uren_per_dag","medw_plaats","medw_telefoon_2","medw_or_functie","medw_pensioenfonds","medw_schoenmaat","medw_naam_2","medw_spaarloon_oms1","medw_vutpremie","medw_ehbo","medw_vrij_datum_4","medw_email","medw_vrij_memo_1","medw_soort_contract","medw_vakantie_uren","medw_reiskosten","medw_vrij_veld_4","medw_waohiaat_werkg","medw_vrij_datum_2","medw_premiesparen_oms1","medw_salaris","medw_vrij_veld_3","medw_spaarloon_oms3","medw_planning","medw_raadplegen_uren","medw_spaarloon_naam","medw_vrij_veld_5","medw_ziekenfonds_aanm","medw_betaling_per_bank_2_naam","medw_partime_salaris","medw_premiesparen_oms2","medw_bedrijfsvereniging_afm","medw_betaling_per_bank_2_oms1","medw_betaling_per_bank_2","medw_betaling_per_bank_plaats","medw_tussenvoegsel","medw_instellen","medw_pensioenfonds_afm","medw_functietitel","medw_straat_2","medw_premiesparen_plaats","medw_betaling_per_bic_2","medw_betaling_per_kas_2","medw_betaling_per_bank_2_oms3","medw_premiesparen_oms3","medw_straat","medw_premiesparen_oms4","medw_dagen_per_week","medw_telefax","medw_afbeelding","medw_op_uren_pc","medw_direct_gereed"]});var V=new o({identifier:"pamt",fields:["pamt_aantal","part_num","arti_code","pamt_vrd_aantal","pamt_dat_fysiek","pamt_type","prdh_num"]});var Ee=new a({identifier:"move",method:"PUT",fields:["admi_num","part_num","magl_code","t_doel_magl","t_doel_aantal","RowKey"],path:()=>"parl/0/Service/s_partij_verplaatsen"}),J=new o({identifier:"parl",fields:[]},[Ee]);var X=new o({identifier:"part",fields:["part_dat_eind","t_aant_vrij","part_num","part_dat_start","arti_code","part_oms_1","part_historisch","t_aant_fysiek"]});var Re=new a({identifier:"create",method:"POST",fields:["prdh_num","prdr_num","bwrk_num","plnb_dat_start","plnb_tijd_start"]}),W=new o({identifier:"plnb",interval:60,fields:["plnb_num","prdh_num","bwrk_num","rsrc_num","medw_num","plnb_dat_start","plnb_tijd_start","plnb_wk_start","plnb_dat_eind","plnb_tijd_eind","plnb_wk_eind","plnb_dat_gestart","plnb_tijd_gestart","plnb_wk_gestart","plnb_gestart","plnb_gereed","plnb_aantal","plnb_aantal_grd","plnb_aantal_per_uur","plnb_bijloop_aantal","plnb_uitb_aantal","plnb_volgorde"]},[Re]);var ye=new a({identifier:"create.prdh_prdr",method:"POST",fields:["bwrk_num","prbv_tijd_per_stuk"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prbv`}}),Y=new o({identifier:"prbv",fields:[]},[ye]);var Ke=new a({identifier:"create",method:"POST",fields:[],optionalFields:["prdh_oms_1","proj_num","prdh_dat_order","prdh_dat_planning"],responseFields:["prdh_num"],triggerRefresh:{prdh:["prdh_num"]}}),Z=new o({identifier:"prdh",interval:300,fields:["prdh_num","prdh_forecast","prdh_historisch","prdh_dat_planning","prdh_dat_order","t_klant","proj_num","prdh_oms_1"]},[Ke]);var Se=new a({identifier:"create-prdh-eindproduct",method:"POST",fields:["prdr_aantal","arti_code"],responseFields:["prdh_num","prdr_num"],path:i=>{let{prdh_num:r}=i;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");return`prdh/${r}/prdh_eindproduct/`}}),Ce=new a({identifier:"in-production",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_in_productie`}}),De=new a({identifier:"done",method:"PUT",fields:["prdh_num","prdr_num"],path:(i,r)=>{let{prdh_num:e,prdr_num:t}=i;if(!e)throw new Error("Missing required field 'prdh_num' for action 'create'");if(!t)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/${r.administration}+${e}+${t}/Service/s_actie_aantal_gereed`}}),Q=new o({identifier:"prdr",interval:300,fields:["prdh_num","prdr_num","prdr_aantal","prdr_grd_aantal","prdr_prod_aantal","prdr_volgorde","prdr_niveau","prdr_revisie","prdr_oms_1","prdr_tekening","prdr_parent","stlh_num","stlr_num","arti_code","t_status_oms"]},[Se,Ce,De]);var Ge=new a({identifier:"create.prdh_prdr",method:"POST",fields:["prmv_oms_1","cred_num"],path:i=>{let r=i.prdh_num;if(!r)throw new Error("Missing required field 'prdh_num' for action 'create'");let e=i.prdr_num;if(!e)throw new Error("Missing required field 'prdr_num' for action 'create'");return`prdr/1+${r}+${e}/prdr_prmv`}}),ee=new o({identifier:"prmv",fields:[]},[Ge]);var re=new o({identifier:"proj",interval:300,fields:["admi_num","RowTime","proj_oms","proj_historisch","proj_prdh","RowKey","proj_num","proj_vorh","proj_zoeknaam"]});var te=new o({identifier:"rela",fields:["rela_num","rela_naam","rela_zoeknaam","rela_email","rela_actief","rela_plaats","rela_postcode","rela_www","rela_telefoon"]});var ne=new o({identifier:"rgrs",interval:60,fields:["abnk_bizcuit_id","aant_vraag_oms","abnk_oms","adon_code","adon_oms","adop_code","arti_code","bwrg_oms","bwrk_oms","cert_code","gebr_code","kbdp_oms","kltn_code","kstg_oms","land_code","magw_code","medw_betaling_per_bank_2_naam","medw_betaling_per_bank_naam","medw_naam","medw_premiesparen_naam","medw_spaarloon_naam","rela_naam","reld_oms","rsrc_oms","rsrg_oms","spco_code","strd_oms","t_bwrk_num_oms","t_bwrk_oms","t_oms","t_omschrijving","aanr_datum","aanr_num","aans_num","aant_num","abnk_num","adma_num","admi_num","afdl_num","agtn_num","apia_num","bank_num","bwrf_num","bwrg_num","bwrk_num","clcb_num","clch_num","clch_vofh_num","clch_vofh_verk_num","clcm_num","clcr_num","clct_num","cred_num","debi_num","dgbk_num","fcth_num","geac_num","ifch_num","inkg_num","iofh_num"]});var oe=new o({identifier:"rsrc",interval:300,fields:["rsrc_fcst_eindige_cap","rsrc_oms","rsrc_memo","rsrc_volgorde","rsrc_magl_in","rsrc_onbemand","rsrc_num","rsrc_calc_eindige_cap","rsrc_magl_uit","rsrc_aantal","rsrc_calc_bucket","rsrc_eindige_cap","rsrc_fcst_bucket","rsrc_bucket","rsrc_afbeelding"]});var ie=new o({identifier:"rsrd",interval:300,fields:["rsrd_zo_p2_van","rsrd_za_p2_tot","rsrd_do_p1_tot","rsrd_di_p5_tot","rsrd_zo_p5_tot","rsrd_do_p3_tot","rsrd_ma_p4_tot","rsrd_wo_p3_van","rsrd_zo_p1_van","rsrd_fd_p1_van","rsrd_do_p5_van","rsrd_wo_p2_tot","rsrd_za_van","rsrd_vr_p3_van","rsrd_za_p4_van","rsrd_ma_p5_tot","rsrd_fd_p3_van","rsrd_wo_tot","rsrd_vr_tot","rsrd_ma_p1_tot","rsrd_wo_p1_tot","rsrd_zo_p4_tot","rsrd_di_p4_tot","rsrd_ma_p3_van","rsrd_ma_p5_van","rsrd_di_tot","rsrd_fd_p4_van","rsrd_vr_van","rsrd_za_p3_tot","rsrd_za_p1_van","rsrd_zo_p5_van","rsrd_fd_p2_tot","rsrd_vr_p5_van","rsrd_di_p4_van","rsrd_za_p5_tot","rsrd_di_p3_van","rsrd_ma_p2_tot","rsrd_di_van","rsrd_do_p1_van","rsrd_zo_p3_tot","rsrd_vr_p5_tot","rsrd_zo_p1_tot","rsrd_ma_van","rsrd_do_tot","rsrd_wo_p2_van","rsrd_vr_p3_tot","rsrd_di_p1_van","rsrd_za_p5_van","rsrd_fd_p5_van","rsrd_vr_p4_tot","rsrd_wo_p3_tot","rsrd_fd_p1_tot","rsrd_fd_p3_tot","rsrd_ma_p4_van","rsrd_di_p3_tot","rsrd_zo_p4_van","rsrd_do_p4_tot","rsrd_do_van","rsrd_do_p3_van","rsrd_wo_p1_van","rsrd_za_p4_tot","rsrd_zo_van","rsrd_do_p2_tot","rsrd_vr_p2_van","rsrd_vr_p2_tot","rsrd_vr_p1_tot","rsrd_do_p5_tot","rsrd_wo_van","rsrd_zo_tot","rsrd_za_p2_van","rsrd_oms","rsrd_zo_p3_van","rsrd_fd_p2_van","rsrd_do_p4_van","rsrd_di_p2_tot","rsrd_za_p3_van","rsrd_wo_p4_van","rsrd_vr_p4_van","rsrd_wo_p4_tot","rsrd_num","rsrd_ma_tot","rsrd_ma_p1_van","rsrd_di_p5_van","rsrd_fd_p5_tot","rsrd_vr_p1_van","rsrd_di_p2_van","rsrd_do_p2_van","rsrd_wo_p5_van","rsrd_za_tot","rsrd_ma_p3_tot"]});var se=new o({identifier:"rsrg",fields:["rsrg_num","rsrg_memo","rsrg_oms"]});var Ie=new a({identifier:"create",method:"POST",fields:["stlh_num","bwrk_num"],optionalFields:["stlr_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"],responseFields:["stlb_num"]}),ae=new o({identifier:"stlb",interval:600,fields:["stlh_num","stlr_num","stlb_num","bwrk_num","stlb_aantal","stlb_oms","stlb_volgorde","stlb_instel_tijd","stlb_tijd_factor","stlb_tijd_per_stuk","stlb_tijd_man","stlb_tijd_mach"]},[Ie]);var Le=new a({identifier:"create",method:"POST",fields:["arti_code"],responseFields:["stlh_num"],triggerRefresh:{stlh:["stlh_num"]}}),_e=new o({identifier:"stlh",interval:300,fields:["stlh_actief","arti_code","stlh_oms_1","stlh_num"]},[Le]);var xe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_num","stlm_aantal","stlm_oms1","stlm_volgorde"],responseFields:["stlm_num"]}),de=new o({identifier:"stlm",interval:600,fields:["stlh_num","stlr_num","stlm_num","arti_code","stlm_aantal","stlm_oms1","stlm_volgorde"]},[xe]);var Fe=new a({identifier:"create",method:"POST",fields:["stlh_num","arti_code"],optionalFields:["stlr_aantal"],responseFields:["stlr_num"],triggerRefresh:{stlr:["stlr_num"]}}),ce=new o({identifier:"stlr",interval:600,fields:["stlh_num","stlr_num","stlr_parent","arti_code","stlr_aantal","stlr_prod_aantal","stlr_tot_aantal","stlr_volgorde","stlr_niveau"]},[Fe]);var Oe=new a({identifier:"create",method:"POST",fields:["debi_num"],optionalFields:["proj_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_ref_onze","vorh_ref_uw","verk_num","valu_code"],responseFields:["vorh_num"],triggerRefresh:{vorh:["vorh_num"]}}),me=new o({identifier:"vorh",interval:300,fields:["valu_code","debi_num","vorh_dat_levering","vorh_dat_gewenst","vorh_dat_order","vorh_bestelcode_extern","vorh_historisch","vorh_ref_onze","vorh_ref_uw","taal_code","rela_num","vorh_num","proj_num","verk_num","t_cprs_email"]},[Oe]);var $e=new a({identifier:"create-vorh-line",method:"POST",fields:["arti_code"],optionalFields:["vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num"],path:i=>{let{vorh_num:r}=i;if(!r)throw new Error("Missing required field 'vorh_num' for action 'create'");return`vorh/${r}/vorh_vorr/`},responseFields:["vorh_num","vorr_num"]}),Be=new a({identifier:"create-prdh",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-prdh'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-prdh'");return`vorr/${r.administration}+${e}+${t}/Service/s_createproductionorder`},responseFields:["prdr.prdh_num","prdr.prdr_num"],response:x}),Pe=new a({identifier:"create-backflush",method:"PUT",fields:[],path:(i,r)=>{let{vorh_num:e,vorr_num:t}=i;if(!e)throw new Error("Missing required field 'vorh_num' for action 'create-backflush'");if(!t)throw new Error("Missing required field 'vorr_num' for action 'create-backflush'");return`vorr/${r.administration}+${e}+${t}/Service/s_createbackflush`}}),pe=new o({identifier:"vorr",interval:300,fields:["vorh_num","vorr_num","arti_code","vorr_revisie","vorr_dat_gewenst","vorr_oms_1","vorr_oms_2","vorr_order_aantal","vorr_tekening","vrdg_num","vrkg_num","stlh_num"]},[$e,Be,Pe]);var le=new o({identifier:"vrdg",fields:["vrdg_grbk_pv_grd_uitb","vrdg_grbk_hw_grd_uitb","vrdg_grbk_grd_mat","vrdg_grbk_hw_grd_mat","vrdg_grbk_hw_grd_man","vrdg_grbk_vrd_mat","vrdg_grbk_hw_grd_mach","vrdg_grbk_grd_mach","vrdg_num","vrdg_grbk_pv_grd_mat","vrdg_grbk_kst_mach","vrdg_grbk_kst_mat","vrdg_grbk_pv_grd_mach","vrdg_grbk_kst_man","vrdg_grbk_kst_uitb","vrdg_oms","vrdg_grbk_grd_uitb","vrdg_grbk_pv_grd_man","vrdg_grbk_pv_vrd_mat","vrdg_grbk_grd_man"]});var Ne=[te,z,q,O,oe,ie,se,H,U,_e,ce,de,Z,B,$,P,le,ne,W,I,Q,ee,Y,J,N,j,re,me,pe,ae,X,V],k=Ne.reduce((i,r)=>(i[r.identifier]=r,i),{});var T=class extends ge.EventEmitter{#e;#t;constructor(r,e){super(),this.#e=r,this.#t=e}get callbackFunctionChain(){return this.#r(this.#e.receiver.emitEventType(this.#e.receiver.responses.ok()))}#r(r){return async(e,t)=>{try{this.#e.logger.debug(`[MKG] Apply templates on payload: ${JSON.stringify(e.payload)}, action: ${JSON.stringify(t)}`);let n={administration:this.#e.config.administration??"1"},s=t.config.action;if(!s){let l=`[MKG] Missing required action input parameters in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}this.#e.logger.debug(`[MKG] Parsed action: ${s}, params json: ${JSON.stringify(e.payload)}`);let[_,...c]=s.split("."),d=c.join("."),p=k[_];if(!p)return this.#e.logger.warn(`[MKG] Unknown table identifier "${_}" in message ${e.eventId}`),this.#e.receiver.responses.badRequest(`[MKG] Unknown table identifier "${_}"`)(e);let m=p.action(d);if(!m){let l=`[MKG] Unknown action identifier "${d}" within table "${_}" in message ${e.eventId}`;return this.#e.logger.warn(l),this.#e.receiver.responses.badRequest(l)(e)}if(e.testRun)return this.#e.logger.info(`[MKG] Test run for ${e.eventId} to action ${s}`),r(e);try{let l=m.fieldSet(e.payload),u=await this.#t.request(m.method,`/web/v3/MKG/Documents/${m.path(e.payload,n)}`,{...["POST","PUT"].includes(m.method)&&Object.keys(l).length>0?{data:{request:{InputData:{[_]:[l]}}}}:{}});this.#e.logger.debug(`[MKG] Got action "${d}" of table "${_}" response from MKG: ${JSON.stringify(u)}`);let M=m.formatResponse(u.data);return this.#e.logger.verbose(`[MKG] Formatted action "${d}" of table "${_}" response to ${Object.keys(M).length} fields`),m.triggerRefresh&&this.emit(f.NAME,new f(m,M)),r({...e,payload:{status:u.status,data:M}})}catch(l){let u=`[MKG] Failed to perform action "${d}" of table "${_}": (${l?.status}) ${l?.error??l?.message}`;return this.#e.logger.error(u),this.#e.receiver.responses.unprocessableEntity(u)(e)}}catch(n){return this.#e.receiver.responses.internalServerError(n instanceof Error?n.message:"Unknown error occurred")(e)}}}};function h(i){let{config:r}=i;return`https://${r.server}:${r.port??443}/${(r.path??"/mkg").replace(/^\/+/,"")}`}var A=class{#e;#t;#r;#n;#o;constructor(r,e,t,n){this.#e=r,this.#t=e,this.#r=t,this.#n=n,this.#o=n.fields.join(",")}get name(){return`mkg-extractor-${this.#r}`}async onRun(r){try{let e=new Date,t=await this.#e.offsetStore.getOffset(`offset_${this.#r}`),n=await this.#i(t,r);if(n.length===0){this.#e.logger.verbose(`[MKG] No new data found for ${this.#r}`);return}await this.#e.sender.documents(n,{keyField:this.#n.identifierField,collection:`${this.#e.config.datasourceIdentifier??y}_${this.#r}`}),this.#e.logger.debug(`[MKG] Processed ${n.length} records from ${this.#r}`),this.#e.offsetStore.setOffset({id:String(n[n.length-1]?.[this.#n.identifierField]??t.id),timestamp:e.getTime(),rawTimestamp:e.toISOString()},`offset_${this.#r}`)}catch(e){throw this.#e.logger.error("[MKG] Failed to retrieve and process data from OPC UA source service",{error:e}),e}}#i=async(r,e)=>{let t=[];r.id!==0&&t.push(`${this.#n.dateField}>=${r.rawTimestamp}`),Object.entries(e??{}).forEach(([s,_])=>t.push(`${s}=${_}`));let n=new URLSearchParams;n.set("NumRows",String(this.#n.rows)),n.set("FieldList",`${this.#n.dateField},${this.#o}`),t.length>0&&n.set("Filter",t.join(" AND "));try{let s=`/web/v3/MKG/Documents/${this.#r}`;this.#e.logger.verbose(`[MKG] Fetching data from '${h(this.#e)}${s}'...`);let c=(await this.#t.get(`${s}?${n.toString()}`)).data?.response?.ResultData?.[0]?.[this.#r]??[];return this.#e.logger.verbose(`[MKG] Fetched ${c.length} records from '${h(this.#e)}${s}'`),c}catch(s){let _=`[MKG] Failed to fetch data from table "${this.#r}": (${s?.status}) ${s?.error??s?.message}`;this.#e.logger.error(_)}return[]}};var E=class extends b{constructor(e,t){super(e,t);this.#n={};this.init=async()=>{let{config:e}=this.connectorSDK;await this.#s(e.username,e.password).catch(t=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving initial session cookie:",t),new Error("Failed to initialize connector due to authentication error.")}),Object.entries(e.tables??{}).forEach(([t,n])=>{let s=k[t];if(!s){this.connectorSDK.logger.warn(`[MKG] Unknown table identifier "${t}", skipping configuration.`);return}if(!s.interval||s.interval<=0){this.connectorSDK.logger.verbose(`[MKG] Table "${t}" does not have a valid interval configured, skipping registration.`);return}let _=new A(this.connectorSDK,this.#t,t,s.cloneFromTableConfig(n));this.#n[t]=_,this.connectorSDK.processing.registerInterval(s.interval,_,{immediate:s.immediate})})};this.#i=async e=>{let{config:t}=this.connectorSDK,n=await this.#s(t.username,t.password).catch(s=>{throw this.connectorSDK.logger.error("[MKG] Error retrieving session cookie:",s),s});return{...e,headers:{...e?.headers??{},...this.#a(n)}}};let n=h(this.connectorSDK);this.#r=this.connectorSDK.httpClient({baseUrl:n}),this.#t=this.connectorSDK.httpClient({baseUrl:n}).setRequestOptionsFormatter(this.#i),this.#e=new T(this.connectorSDK,this.#t).on(f.NAME,s=>this.#d(s)),this.callbackFunction=this.#e.callbackFunctionChain}#e;#t;#r;#n;#o;#i;async#s(e,t){let n=this.#o;if(n&&n.expiresAt>Date.now())return n.token;let s="/static/auth/j_spring_security_check";this.connectorSDK.logger.verbose(`[MKG] Retrieving session cookie from '${h(this.connectorSDK)}${s}' with 'j_username=${encodeURIComponent(e)}&j_password=${"*".repeat(t.length)}'`);let _=await this.#r.post(s,`j_username=${encodeURIComponent(e)}&j_password=${encodeURIComponent(t)}`,{headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"}});if(!_)throw new Error("Failed to authenticate and retrieve session cookie");let d=(_.headers?.["set-cookie"]??_.headers?.["Set-Cookie"]??[]).find(m=>m.startsWith(`${w}=`));if(!d)throw new Error("Session cookie not found in authentication response");let p=d.split(";")[0]?.substring(`${w}=`.length);return this.#o={token:p,expiresAt:Date.now()+G-1e3},this.connectorSDK.logger.debug(`[MKG] Session cookie fetched successfully for user '${e}', expires at ${new Date(this.#o.expiresAt).toISOString()}`),await this.#_(p),p}#a(e){let{config:t}=this.connectorSDK,{apiToken:n}=t;return this.connectorSDK.logger.verbose(`[MKG] Using api headers: ${w}=${"*".repeat(e.length)} & X-CustomerID=${"*".repeat(n.length)}`),{Cookie:`${w}=${e}`,"X-CustomerID":n}}async#_(e){let{config:t}=this.connectorSDK,{administration:n,fiscalYear:s,language:_}=t;if(!(n?.length||s?.length||_?.length)){this.connectorSDK.logger.verbose("[MKG] No administration settings to update.");return}let c="/web/v3/MKG/Settings",d=[];n&&d.push({t_name:"Administration",t_value:n}),s&&d.push({t_name:"FiscalYear",t_value:s}),_&&d.push({t_name:"Language",t_value:_}),this.connectorSDK.logger.verbose(`[MKG] Updating administration settings: ${JSON.stringify(d)}`),await this.#r.put(c,{request:{InputData:{t_setting:d}}},{headers:{Accept:"application/json","Content-Type":"application/json",...this.#a(e)}}).catch(p=>{throw this.connectorSDK.logger.error("[MKG] Error updating administration settings:",p),p}),this.connectorSDK.logger.debug("[MKG] Administration settings updated successfully.")}#d(e){Object.entries(e.action.triggerRefresh??{}).forEach(async([t,n])=>{this.connectorSDK.logger.verbose(`[MKG] Triggering sync for table "${t}" due to action "${e.action.identifier}"`);let s=this.#n[t];s||this.connectorSDK.logger.warn(`[MKG] No extractor found for table "${t}", cannot trigger sync.`);let _=Object.fromEntries(Object.entries(e.data).filter(([c])=>n.includes(c)));await s.onRun(_)})}};0&&(module.exports={ConnectorRunnerMkg});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|