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