1import{a as re,b as O}from"./chunk-JRFXPH4Q.js";import{a as oe}from"./chunk-6PYZUNWO.js";import{a as ae}from"./chunk-C35Z3YQA.js";import"./chunk-QTBWJBL6.js";import{a as ne}from"./chunk-EOLT3XT6.js";import{f as ee}from"./chunk-JDYWGDNH.js";import"./chunk-IRONFM6M.js";import"./chunk-VHX354RR.js";import{b as te}from"./chunk-22WJKAIZ.js";import{b as ie}from"./chunk-SLWPYULI.js";import{b as Z}from"./chunk-53QTIXFR.js";import"./chunk-RPDGXIQT.js";import"./chunk-RFHORXFH.js";import"./chunk-44BDWJO3.js";import"./chunk-YPSMJDVJ.js";import"./chunk-F6HJUGGY.js";import"./chunk-W6FQLWKF.js";import"./chunk-6MXSXX3N.js";import"./chunk-MT62CIDI.js";import"./chunk-SFNFCOZS.js";import"./chunk-BXNQRMY5.js";import"./chunk-RFCDL6VX.js";import{b as J}from"./chunk-HOBTJYQI.js";import"./chunk-XWDSR7V3.js";import"./chunk-VV34F7XC.js";import"./chunk-3THAQ3J3.js";import{c as X,d as C}from"./chunk-ICHHVHZA.js";import"./chunk-OAED5FIG.js";import{a as q,b as j}from"./chunk-P37GQ53N.js";import"./chunk-NZ226J7R.js";import"./chunk-7EBKYMB6.js";import"./chunk-YK3HMHC4.js";import"./chunk-2DRXLVRR.js";import{b as Y,e as z}from"./chunk-OFHUO5H7.js";import"./chunk-M3XSAKW4.js";import"./chunk-H76LZNGX.js";import"./chunk-PGR2NPNS.js";import"./chunk-OZD37XM5.js";import"./chunk-DLIVM562.js";import"./chunk-CV2ZWZQE.js";import"./chunk-AVEXXPAT.js";import"./chunk-FHU4TM37.js";import"./chunk-UUEFXD6N.js";import{D as $}from"./chunk-Q2KKZV5J.js";import"./chunk-JICM7NVH.js";import{a as Q}from"./chunk-BD6EMWWF.js";import"./chunk-AB6CKZTE.js";import{d as F,e as U}from"./chunk-DIGPPQJE.js";import{s as K,x as P}from"./chunk-EU6HCBUP.js";import"./chunk-KAJMKXZ6.js";import{D as H,j as V,l as G,m as L}from"./chunk-ZAQTNZYS.js";import"./chunk-SRTXE2HR.js";import{Jb as p,Jc as R,Lc as D,Mb as B,Nc as N,Rb as I,Uc as r,Vc as l,Wb as i,Xb as o,Yb as d,ac as w,da as k,db as n,gc as _,hc as E,la as g,ma as f,pa as T,sb as y,uc as s,vc as b,wb as M,wc as c,xc as W,yb as S,yc as A}from"./chunk-NTTV6FWH.js";import{g as x}from"./chunk-W7GRJBO5.js";var pe=a=>({"opacity-50":a}),se=(a,t,e)=>({"border-bottom":a,"rounded-top":t,"opacity-50":e});function de(a,t){if(a&1&&d(0,"app-widget-key-quota",16),a&2){let e=E(2);p("used",e.quota.used)("max",e.quota.max)}}function me(a,t){if(a&1){let e=w();i(0,"div",4)(1,"div",5)(2,"span",6),d(3,"i",7),s(4),r(5,"translate"),o()(),i(6,"div",8),S(7,de,1,2,"app-widget-key-quota",9),i(8,"a",10),d(9,"i",11),i(10,"span",12),s(11),r(12,"translate"),o()(),i(13,"button",13),_("click",function(){g(e);let u=E();return f(u.openCreateDialog())}),d(14,"i",14),i(15,"span",12),s(16),r(17,"translate"),o(),i(18,"span",15),s(19),r(20,"translate"),o()()()()}if(a&2){let e=E();n(4),c(" ",l(5,5,"MANAGER.WEBHOOKS.TITLE")," "),n(3),p("ngIf",e.quota),n(4),b(l(12,7,"MANAGER.WEBHOOKS.DOC_LINK")),n(5),b(l(17,9,"MANAGER.WEBHOOKS.NEW_WEBHOOK")),n(3),b(l(20,11,"COMMON.ADD"))}}function ce(a,t){if(a&1){let e=w();i(0,"div",17)(1,"div",18)(2,"div",19)(3,"div",20)(4,"div",21),d(5,"i",22),o(),i(6,"h2",23),s(7),r(8,"translate"),o(),i(9,"p",24),s(10),r(11,"translate"),o(),i(12,"div",25)(13,"div",26)(14,"div",27),d(15,"i",22),o(),i(16,"div",28)(17,"div",29),s(18),r(19,"translate"),o(),i(20,"div",30),s(21),r(22,"translate"),o()()(),i(23,"div",26)(24,"div",31),d(25,"i",32),o(),i(26,"div",28)(27,"div",29),s(28),r(29,"translate"),o(),i(30,"div",30),s(31),r(32,"translate"),o()()(),i(33,"div",26)(34,"div",33),d(35,"i",34),o(),i(36,"div",28)(37,"div",29),s(38),r(39,"translate"),o(),i(40,"div",30),s(41),r(42,"translate"),o()()(),i(43,"div",26)(44,"div",35),d(45,"i",36),o(),i(46,"div",28)(47,"div",29),s(48),r(49,"translate"),o(),i(50,"div",30),s(51),r(52,"translate"),o()()()(),i(53,"button",37),_("click",function(){g(e);let u=E();return f(u.openCreateDialog())}),d(54,"i",38),s(55),r(56,"translate"),o()(),i(57,"div",39),d(58,"i",40),o()()()()}a&2&&(n(7),c(" ",l(8,11,"MANAGER.WEBHOOKS.ONBOARDING_TITLE")," "),n(3),c(" ",l(11,13,"MANAGER.WEBHOOKS.ONBOARDING_DESC")," "),n(8),c(" ",l(19,15,"MANAGER.WEBHOOKS.FEATURE_REALTIME")," "),n(3),c(" ",l(22,17,"MANAGER.WEBHOOKS.FEATURE_REALTIME_DESC")," "),n(7),c(" ",l(29,19,"MANAGER.WEBHOOKS.FEATURE_SECURE")," "),n(3),c(" ",l(32,21,"MANAGER.WEBHOOKS.FEATURE_SECURE_DESC")," "),n(7),c(" ",l(39,23,"MANAGER.WEBHOOKS.FEATURE_EVENTS")," "),n(3),c(" ",l(42,25,"MANAGER.WEBHOOKS.FEATURE_EVENTS_DESC")," "),n(7),c(" ",l(49,27,"MANAGER.WEBHOOKS.FEATURE_RETRY")," "),n(3),c(" ",l(52,29,"MANAGER.WEBHOOKS.FEATURE_RETRY_DESC")," "),n(4),c("",l(56,31,"MANAGER.WEBHOOKS.CREATE_FIRST")," "))}function ue(a,t){if(a&1&&(i(0,"small",51),r(1,"translate"),d(2,"i",69),i(3,"span"),s(4),o()()),a&2){let e=E().$implicit,m=E(2);p("pTooltip",l(1,2,"MANAGER.WEBHOOKS.LAST_DELIVERY")),n(4),b(m.getRelativeTime(e.lastDeliveredAt))}}function Ee(a,t){if(a&1&&(i(0,"small",70),r(1,"translate"),d(2,"i",71),i(3,"span"),s(4),r(5,"translate"),o()()),a&2){let e=E().$implicit;p("pTooltip",e.consecutiveFailures+" "+l(1,4,"MANAGER.WEBHOOKS.CONSECUTIVE_FAILURES")),n(4),A("",e.consecutiveFailures," ",l(5,6,"MANAGER.WEBHOOKS.FAILURE"),"",e.consecutiveFailures>1?"s":"","")}}function ve(a,t){a&1&&(i(0,"small",72),r(1,"translate"),d(2,"i",73),i(3,"span"),s(4,"RGPD"),o()()),a&2&&p("pTooltip",l(1,1,"MANAGER.WEBHOOKS.GDPR_OPTIONS"))}function ge(a,t){if(a&1){let e=w();i(0,"div",43)(1,"div",44),s(2),o(),i(3,"div",45)(4,"div",6),s(5),o(),i(6,"a",46),s(7),o(),i(8,"div",47)(9,"code",48),s(10),o()(),i(11,"div",49)(12,"div",50)(13,"small",51),r(14,"translate"),r(15,"translate"),d(16,"i",52),i(17,"span",53),s(18),r(19,"translate"),r(20,"translate"),o()(),i(21,"small",51),d(22,"i",54),i(23,"span"),s(24),o()(),i(25,"small",51),r(26,"translate"),d(27,"i",55),i(28,"span"),s(29),r(30,"translate"),o()(),S(31,ue,5,4,"small",56)(32,Ee,6,8,"small",57)(33,ve,5,3,"small",58),o()()(),i(34,"div",59)(35,"div",60)(36,"a",61),r(37,"translate"),d(38,"i",62),o(),i(39,"button",63),r(40,"translate"),_("click",function(){let u=g(e).$implicit,v=E(2);return f(v.testWebhook(u))}),d(41,"i",64),o(),i(42,"button",63),r(43,"translate"),_("click",function(){let u=g(e).$implicit,v=E(2);return f(v.openEditDialog(u))}),d(44,"i",65),o(),i(45,"button",63),r(46,"translate"),r(47,"translate"),_("click",function(){let u=g(e).$implicit,v=E(2);return f(v.toggleEnabled(u))}),d(48,"i",66),o(),i(49,"button",67),r(50,"translate"),_("click",function(u){let v=g(e).$implicit,h=E(2);return f(h.confirmDelete(u,v))}),d(51,"i",68),o()()()()}if(a&2){let e=t.$implicit,m=t.index,u=t.last,v=t.first,h=E(2);p("ngClass",N(51,se,!u,v,!e.enabled)),n(2),c(" ",m+1," "),n(3),b(h.formatDate(e.createdAt)),n(),p("routerLink","/studio/webhooks/"+e.id),n(),c(" ",e.name," "),n(3),b(e.url),n(3),p("pTooltip",e.enabled?l(14,27,"MANAGER.WEBHOOKS.ACTIVE_TOOLTIP"):e.disabledReason||l(15,29,"MANAGER.WEBHOOKS.DISABLED_TOOLTIP")),n(3),p("ngClass",e.enabled?"pi-check-circle text-success":"pi-times-circle text-danger"),n(),p("ngClass",e.enabled?"text-success":"text-danger"),n(),c(" ",e.enabled?l(19,31,"MANAGER.WEBHOOKS.ACTIVE"):l(20,33,"MANAGER.WEBHOOKS.DISABLED")," "),n(3),p("pTooltip",h.getEventLabels(e.events)),n(3),W("",e.events.length," \xE9v\xE9nement",e.events.length>
11?"s":"",""),n(),p("pTooltip",l(26,35,"MANAGER.WEBHOOKS.SUCCESS_RATE")+": "+h.getSuccessRate(e)+"%"),n(4),A("",e.totalDelivered," ",l(30,37,"MANAGER.WEBHOOKS.DELIVERED"),"",e.totalDelivered>1?"s":"",""),n(2),p("ngIf",e.lastDeliveredAt),n(),p("ngIf",e.consecutiveFailures>0),n(),p("ngIf",e.anonymizeIp||e.excludeGeoCity),n(3),p("routerLink","/studio/webhooks/"+e.id)("pTooltip",l(37,39,"MANAGER.WEBHOOKS.DETAILS_LOGS")),n(3),p("pTooltip",l(40,41,"MANAGER.WEBHOOKS.TEST")),n(3),p("pTooltip",l(43,43,"MANAGER.WEBHOOKS.EDIT")),n(3),p("pTooltip",e.enabled?l(46,45,"MANAGER.WEBHOOKS.DISABLE"):l(47,47,"MANAGER.WEBHOOKS.ENABLE")),n(3),p("ngClass",e.enabled?"pi-pause text-warning":"pi-play text-success"),n(),p("pTooltip",l(50,49,"MANAGER.WEBHOOKS.DELETE"))}}function fe(a,t){if(a&1&&(i(0,"div",41),S(1,ge,52,55,"div",42),o()),a&2){let e=E();p("ngClass",D(2,pe,e.loading)),n(),p("ngForOf",e.webhooks)}}function _e(a,t){if(a&1){let e=w();i(0,"app-widget-api-error",74),_("retry",function(){g(e);let u=E();return f(u.loadData())}),o()}}var le=class a extends ae{crudService=k(re);entityLabel="webhook";dialogService=k(C);dateFormat=k(ne);ref;quota=null;get webhooks(){return this.items}fetchItems(){return x(this,null,function*(){let[t,e]=yield Promise.all([this.crudService.getAll(),this.crudService.getQuota()]);return this.quota=e,t})}openCreateDialog(){this.ref=this.dialogService.open(O,{header:"Nouveau webhook",width:"600px",modal:!0,dismissableMask:!0,contentStyle:{"padding-top":"1.5rem"}}),this.ref.onClose.subscribe(t=>x(this,null,function*(){t&&(yield this.loadData())}))}openEditDialog(t){this.ref=this.dialogService.open(O,{header:"Modifier le webhook",width:"600px",modal:!0,dismissableMask:!0,contentStyle:{"padding-top":"1.5rem"},data:{webhook:t}}),this.ref.onClose.subscribe(e=>x(this,null,function*(){e&&(yield this.loadData())}))}toggleEnabled(t){return x(this,null,function*(){try{t.enabled?(yield this.crudService.disable(t.id),this.toastService.warn(`"${t.name}" d\xE9sactiv\xE9`)):(yield this.crudService.enable(t.id),this.toastService.success(`"${t.name}" r\xE9activ\xE9`)),yield this.loadData()}catch(e){this.toastService.error(e?.error?.message||"Erreur")}})}testWebhook(t){return x(this,null,function*(){this.toastService.info(`Envoi vers ${t.url}`);try{let e=yield this.crudService.test(t.id);e.success?this.toastService.add({severity:"success",summary:"Test r\xE9ussi",detail:`HTTP ${e.httpStatus} \u2014 ${e.responseTimeMs}ms`,life:5e3}):this.toastService.add({severity:"error",summary:"Test \xE9chou\xE9",detail:e.errorMessage||`HTTP ${e.httpStatus}`,life:5e3})}catch(e){this.toastService.add({severity:"error",summary:"Erreur",detail:e?.error?.message||"Erreur r\xE9seau",life:5e3})}})}confirmDelete(t,e){return x(this,null,function*(){yield this.deleteItem(e,`Supprimer d\xE9finitivement le webhook "${e.name}" ?`,"Suppression")})}getEventLabels(t){return t.map(e=>this.getEventShortLabel(e)).join(", ")}getEventShortLabel(t){return{"link.clicked":"Clic","link.created":"Cr\xE9\xE9","link.updated":"Modifi\xE9","link.deleted":"Supprim\xE9","link.health_changed":"Sant\xE9","link.safety_changed":"S\xE9curit\xE9","link.expired":"Expir\xE9","link.password_attempt":"Mot de passe","profile.visited":"Profil visit\xE9","profile.link_clicked":"Profil clic","shop.order_created":"Nouvelle commande","shop.order_status_changed":"Statut commande"}[t]||t}getSuccessRate(t){let e=t.totalDelivered+t.totalFailed;return e===0?100:Math.round(t.totalDelivered/e*100)}formatDate(t){return this.dateFormat.formatDateShort(t)}getRelativeTime(t){return t?this.dateFormat.getRelativeTime(t):"Jamais"}get activeCount(){return this.webhooks.filter(t=>t.enabled).length}static \u0275fac=(()=>{let t;return function(m){return(t||(t=T(a)))(m||a)}})();static \u0275cmp=y({type:a,selectors:[["app-view-manager-webhooks"]],features:[R([C]),M],decls:5,vars:7,consts:[["class","d-flex justify-content-between align-items-center mb-2",4,"ngIf"],["class","upsell-container",4,"ngIf"],["class","border rounded container-items container-fluid bg-white position-relative",3,"ngClass",4,"ngIf"],[1,"d-block","mt-5",3,"loading"],[1,"d-flex","justify-content-between","align-items-center","mb-2"],[1,"d-flex","align-items-center"],[1,"text-light","fs-6"],[1,"pi","pi-bolt","me-2"],[1,"d-flex","align-items-center","gap-3"],["label","MANAGER.WEBHOOKS.QUOTA_LABEL",3,"used","max",4,"ngIf"],["routerLink","/api-documentation","fragment","webhooks","target","_blank","rel","noopener",1,"text-decoration-none","text-primary","fs-6","text-nowrap"],[1,"pi","pi-book","me-1"],[1,"d-none","d-md-inline"],["type","button",1,"btn","btn-sm","btn-primary","text-white","mb-0",3,"click"],[1,"pi","pi-plus","me-1"],[1,"d-md-none"],["label","MANAGER.WEBHOOKS.QUOTA_LABEL",3,"used","max"],[1,"upsell-container"],[1,"upsell-card"],[1,"upsell-layout"],[1,"upsell-text"],[1,"upsell-icon-wrapper","upsell-icon--webhook","mb-3"],[1,"pi","pi-bolt"],[1,"upsell-title"],[1,"upsell-desc"],[1,"upsell-features"],[1,"upsell-feature"],[1,"upsell-feature-icon","upsell-fi--orange"],[1,"upsell-feature-text"],[1,"upsell-feature-label"],[1,"upsell-feature-hint"],[1,"upsell-feature-icon","upsell-fi--red"],[1,"pi","pi-shield"],[1,"upsell-feature-icon","upsell-fi--blue"],[1,"pi","pi-filter"],[1,"upsell-feature-icon","upsell-fi--green"],[1,"pi","pi-replay"],["type","button",1,"upsell-cta","upsell-cta--webhook",3,"click"],[1,"pi","pi-plus"],[1,"upsell-illustration","upsell-illust--webhook"],[1,"upsell-illustration-icon","pi","pi-bolt"],[1,"border","rounded","container-items","container-fluid","bg-white","position-relative",3,"ngClass"],["class","row p-2",3,"ngClass",4,"ngFor","ngForOf"],[1,"row","p-2",3,"ngClass"],[1,"col-auto","d-flex","align-items-center","fs-6","text-light",2,"max-width","30px","width","30px"],[1,"col","d-flex","flex-column","text-truncate"],[1,"text-dark","fs-6","fw-semibold","text-truncate","d-block","nowrap","w-100","c-pointer","text-decoration-none",3,"routerLink"],[1,"fs-6"],[1,"text-warning","bg-transparent","text-truncate","d-block"],[1,"text-light","fs-6","mt-2"],[1,"d-flex","flex-wrap","gap-3"],["tooltipPosition","right",1,"d-flex","align-items-center",3,"pTooltip"],[1,"pi","fs-6","me-1",3,"ngClass"],[3,"ngClass"],[1,"pi","pi-bolt","fs-6","me-1"],[1,"pi","pi-chart-bar","fs-6","me-1"],["class","d-flex align-items-center","tooltipPosition","right",3,"pTooltip",4,"ngIf"],["class","d-flex align-items-center text-danger","tooltipPosition","right",3,"pTooltip",4,"ngIf"],["class","d-flex align-items-center text-info","tooltipPosition","right",3,"pTooltip",4,"ngIf"],[1,"col-auto","d-flex","align-items-center","justify-content-end","pe-0"],["role","group",1,"btn-group"],["tooltipPosition","left",1,"btn","btn-sm","p-1","me-1",3,"routerLink","pTooltip"],[1,"pi","pi-eye","fs-6","text-primary"],["tooltipPosition","left",1,"btn","btn-sm","p-1","me-1",3,"click","pTooltip"],[1,"pi","pi-send","fs-6","text-info"],[1,"pi","pi-pencil","fs-6","text-secondary"],[1,"pi","fs-6",3,"ngClass"],["tooltipPosition","left",1,"btn","btn-sm","text-danger","p-1",3,"click","pTooltip"],[1,"pi","pi-trash","fs-6"],[1,"pi","pi-clock","fs-6","me-1"],["tooltipPosition","right",1,"d-flex","align-items-center","text-danger",3,"pTooltip"],[1,"pi","pi-exclamation-triangle","fs-6","me-1"],["tooltipPosition","right",1,"d-flex","align-items-center","text-info",3,"pTooltip"],[1,"pi","pi-shield","fs-6","me-1"],[3,"retry"]],template:function(e,m){e&1&&(S(0,me,21,13,"div",0)(1,ce,59,33,"div",1)(2,fe,2,4,"div",2)(3,_e,1,0,"app-widget-api-error"),d(4,"app-widget-loading",3)),e&2&&(p("ngIf",!m.loading&&m.webhooks.length>0),n(),p("ngIf",!m.loading&&!m.error&&m.webhooks.length===0),n(),p("ngIf",m.webhooks.length>0),n(),I(!m.loading&&m.error?3:-1),n(),B("dark"),p("loading",m.loading))},dependencies:[H,V,G,L,P,K,$,ee,z,j,q,Y,te,J,X,Z,U,F,Q,ie,oe],styles:[".container-items[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{transition:background-color .15s}.container-items[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]:hover{background-color:#f8f9fa}[_nghost-%COMP%]{display:block}code[_ngcontent-%COMP%]{font-size:.82em}"]})};export{le as ViewManagerWebhooksComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.