@hublo/mstaff-client-sdk 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,20 @@
1
+ # Mstaff Client SDK
2
+
3
+ ![coverage-branches](./coverage-badges/badge-branches.svg)
4
+ ![coverage-functions](./coverage-badges/badge-functions.svg)
5
+ ![coverage-lines](./coverage-badges/badge-lines.svg)
6
+ ![coverage-statements](./coverage-badges/badge-statements.svg)
7
+
8
+ ## Repository endpoints naming conventions
9
+
10
+ Endpoints should start either by :
11
+
12
+ - list
13
+ - read
14
+ - create
15
+ - update
16
+ - delete
17
+
18
+ and 'by' for establishing context.
19
+
20
+ Example: `listByCandidateAndEstablishmentFromRecruiter()`
package/dist/main.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";var re=Object.defineProperty;var ie=(e,t,r)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var v=(e,t,r)=>(ie(e,typeof t!="symbol"?t+"":t,r),r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("vue"),oe=require("axios"),se=require("pinia"),ae=require("@vueuse/core");var H={expireTimes:"1d",path:"; path=/",domain:"",secure:!1,sameSite:"; SameSite=Lax"},ce=function(){function e(){this.current_default_config=H}return e.prototype.config=function(t){for(var r in this.current_default_config)this.current_default_config[r]=t[r]?t[r]:H[r]},e.prototype.get=function(t){var r=decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null;if(r&&r.substring(0,1)==="{"&&r.substring(r.length-1,r.length)==="}")try{r=JSON.parse(r)}catch{return r}return r},e.prototype.set=function(t,r,n,i,c,d,m){if(t){if(/^(?:expires|max-age|path|domain|secure|SameSite)$/i.test(t))throw new Error('Cookie name illegality. Cannot be set to ["expires","max-age","path","domain","secure","SameSite"] current key name: '+t)}else throw new Error("Cookie name is not found in the first argument.");r&&r.constructor===Object&&(r=JSON.stringify(r));var l="";if(n==null&&(n=this.current_default_config.expireTimes?this.current_default_config.expireTimes:""),n&&n!=0)switch(n.constructor){case Number:n===1/0||n===-1?l="; expires=Fri, 31 Dec 9999 23:59:59 GMT":l="; max-age="+n;break;case String:if(/^(?:\d+(y|m|d|h|min|s))$/i.test(n)){var o=n.replace(/^(\d+)(?:y|m|d|h|min|s)$/i,"$1");switch(n.replace(/^(?:\d+)(y|m|d|h|min|s)$/i,"$1").toLowerCase()){case"m":l="; max-age="+ +o*2592e3;break;case"d":l="; max-age="+ +o*86400;break;case"h":l="; max-age="+ +o*3600;break;case"min":l="; max-age="+ +o*60;break;case"s":l="; max-age="+o;break;case"y":l="; max-age="+ +o*31104e3;break}}else l="; expires="+n;break;case Date:l="; expires="+n.toUTCString();break}return document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(r)+l+(c?"; domain="+c:this.current_default_config.domain?this.current_default_config.domain:"")+(i?"; path="+i:this.current_default_config.path?this.current_default_config.path:"; path=/")+(d==null?this.current_default_config.secure?"; Secure":"":d?"; Secure":"")+(m==null?this.current_default_config.sameSite?"; SameSute="+this.current_default_config.sameSite:"":m?"; SameSite="+m:""),this},e.prototype.remove=function(t,r,n){return!t||!this.isKey(t)?!1:(document.cookie=encodeURIComponent(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:this.current_default_config.domain?this.current_default_config.domain:"")+(r?"; path="+r:this.current_default_config.path?this.current_default_config.path:"; path=/")+"; SameSite=Lax",!0)},e.prototype.isKey=function(t){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},e.prototype.keys=function(){if(!document.cookie)return[];for(var t=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/),r=0;r<t.length;r++)t[r]=decodeURIComponent(t[r]);return t},e}(),j=null;function ue(){j==null&&(j=new ce);var e=T.reactive(j);return{cookies:e}}function le(){const{cookies:e}=ue();function t(c){return e.get(c)}function r(c,d){return e.set(c,d)}function n(c){return e.remove(c)}function i(){e.keys().forEach(c=>n(c))}return{getItem:t,setItem:r,removeItem:n,clear:i}}let O=null;function L(e={auth:"token",refresh:"refresh_token",expiration:"token_expiration_date"},t=le()){if(O)return O;function r(){return t.getItem(e.auth)}function n(){return t.getItem(e.refresh)}function i(){return t.getItem(e.expiration)}function c(f,p){const h=s(f);if(!h.exp)throw new Error("Invalid JWT token.");t.setItem(e.auth,f),t.setItem(e.refresh,p),t.setItem(e.expiration,((h.exp-60)*1e3).toString())}function d(){t.removeItem(e.auth),t.removeItem(e.refresh),t.removeItem(e.expiration)}function m(){return l()&&!o()}function l(){return!!r()}function o(){const f=i();return f?new Date(f)<new Date:!0}function s(f){return JSON.parse(atob(f.split(".")[1]))}function u(){return t}return O={keys:e,getAuthToken:r,getRefreshToken:n,getExpiration:i,authenticate:c,clear:d,isAuthenticated:m,hasAuth:l,isExpired:o,getStorage:u},O}function de(e){let t={"Content-Type":"application/json"};e&&r(e);function r(h,b=!1){return t=b?h:{...t,...h},this}function n(){return t}function i(h,b){return t[h]=b,this}function c(h){return t[h]}function d(h){return t[h]&&delete t[h],this}function m(h){return i("Authorization","Bearer "+h),this}function l(){return d("Authorization"),this}function o(){return!!c("Authorization")}function s(){return i("Content-Type","multipart/form-data"),this}function u(){return i("Content-Type","application/json"),this}function f(){return c("Content-Type")==="multipart/form-data"}function p(){return c("Content-Type")==="application/json"}return{setHeaders:r,getHeaders:n,setHeader:i,getHeader:c,removeHeader:d,setAuthorization:m,removeAuthorization:l,hasAuthorization:o,setFormData:s,setJson:u,isFormData:f,isJson:p}}function me(e){let t=null;e&&r(e);function r(i){if(i=i.toLowerCase(),!["get","post","put","patch","delete"].includes(i))throw new Error("Invalid method.");return t=i,this}function n(){return t}return{setMethod:r,getMethod:n}}function fe(e,t,r){let n=null;r&&i(r);function i(o){if(!["post","put","patch"].includes(e.getMethod()))throw new Error("Payload can only be set for POST, PUT and PATCH requests.");return o instanceof FormData?t.setFormData():d(o)&&(o=m(o),t.setFormData()),t.isFormData()&&e.getMethod()==="put"&&(e.setMethod("post"),o.append("_method","PUT")),n=o,this}function c(){return n}function d(o){for(const s in o){const u=o[s];if(l(u))return!0;if(typeof u=="object"&&d(u))return!0}return!1}function m(o,s=null,u=0){const f=!s;f&&(s=new FormData);for(const p in o){const h=o[p];l(h)?(o[p]="<<FileIndex:"+u+">>",s.append(u,h,h.name),u++):typeof h=="object"&&(o[p]=m(o[p],s,u))}return f?(s.append("payload",JSON.stringify(o)),s):o}function l(o){return typeof File<"u"&&o instanceof File||typeof Blob<"u"&&o instanceof Blob}return{setPayload:i,getPayload:c}}const I=class I{constructor(t={}){v(this,"level",3);v(this,"logger");v(this,"prefix");this.logger=t.logger||console,this.prefix=t.prefix||""}setLevel(t){this.level=t}debug(...t){this.level<=I.LEVEL_DEBUG&&D(this.logger.debug,this.prefix,t)}info(...t){this.level<=I.LEVEL_INFO&&D(this.logger.info,this.prefix,t)}warn(...t){this.level<=I.LEVEL_WARN&&D(this.logger.warn,this.prefix,t)}error(...t){this.level<=I.LEVEL_ERROR&&D(this.logger.error,this.prefix,t)}};v(I,"LEVEL_DEBUG",0),v(I,"LEVEL_INFO",1),v(I,"LEVEL_WARN",2),v(I,"LEVEL_ERROR",3),v(I,"LEVEL_OFF",4);let x=I;const D=(e,t,r)=>{t?e(t,...r):e(...r)},M=new x({prefix:"[SDK]"});let G=null,K=null,J=null,W=null;const pe=()=>G,he=e=>{if(M.info("[Config] Environment:",e),!e)throw new Error("Invalid environment.");G=e},ye=()=>K,ge=e=>{if(M.info("[Config] API Host:",e),!e)throw new Error("Invalid API host.");K=e},be=()=>W,we=e=>{W=e},Re=()=>J,Ae=e=>{if(M.info("[Config] Main App Host:",e),!e)throw new Error("Invalid main app host.");J=e},k={getEnvironment:pe,getApiHost:ye,getErrorHandler:be,setEnvironment:he,setApiHost:ge,setErrorHandler:we,getMainAppHost:Re,setMainAppHost:Ae};function Ie(e){const t=k.getApiHost().replace(/\/$/g,"");let r=null,n={},i={};e&&m(e);function c(){return t+l()+p()}function d(){return l(!0,!0)}function m(a){return r="/"+a.replace(/^\//g,""),this}function l(a=!0,R=!1){return a?r.replace(/:(\w+)/g,(A,E)=>R?"*":i[E]||":"+E):r}function o(a){return n=a,this}function s(a,R){return n[a]=R,this}function u(a){return n[a]&&delete n[a],this}function f(){return Object.keys(n).length>0}function p(a=!0){if(!f())return"";let R="";for(const A in n)if(Array.isArray(n[A]))for(const E of n[A])R+=(R.length?"&":"")+`${A}[]=`+E;else R+=(R.length?"&":"")+A+"="+n[A];return(a?"?":"")+R}function h(a){return i=a,this}function b(a,R){return i[a]=R,this}function C(a){return i[a]&&delete i[a],this}return{setPath:m,getPath:l,getUri:c,getMockUri:d,setQueryParams:o,setQueryParam:s,removeQueryParam:u,hasQuery:f,getQueryString:p,setRouteParams:h,setRouteParam:b,removeRouteParam:C}}function Pe(e){let t=[];function r(){return t=o(arguments),d(),this}function n(){return t.length>0}function i(s){return t.includes(s.trim())?this:(t.push(s.trim()),d(),this)}function c(s){const u=t.indexOf(s.trim());return u===-1?this:(t.splice(u,1),d(),this)}function d(){t.length?e.setQueryParam("groups",l(t)):e.removeQueryParam("groups")}function m(s){return s.split(",").map(u=>u.trim())}function l(s){return s.join(",")}function o(s){let u=[];return s.length===1?typeof s[0]=="string"?u=m(s[0]):Array.isArray(s[0])&&(u=s[0]):u=Array.from(s),u}return{setGroups:r,hasGroups:n,addGroup:i,removeGroup:c}}function ve(e){let t=!1,r=!1,n=1,i=10;function c(){return t=!0,d(),this}function d(){r=!0;const p=f(arguments);return o(p.page||1,!1),s(p.perPage||i,!1),u(),this}function m(){return r=!1,u(),this}function l(){return r}function o(p,h=!0){return t=!0,r=!0,n=p,h&&u(),this}function s(p,h=!0){return t=!0,r=!0,i=p,h&&u(),this}function u(){t?l()?(e.removeQueryParam("pagination"),e.setQueryParam("page",n),e.setQueryParam("nbResultPerPage",i)):(e.removeQueryParam("page"),e.removeQueryParam("nbResultPerPage"),e.setQueryParam("pagination","false")):(e.removeQueryParam("page"),e.removeQueryParam("nbResultPerPage"),e.removeQueryParam("pagination"))}function f(p){if(p.length===1&&typeof p[0]=="object")return p[0];const h={};return p.length>=1&&(h.page=p[0]),p.length>=2&&(h.perPage=p[1]),h}return{isList:c,paginate:d,disablePagination:m,hasPagination:l,setPage:o,setPerPage:s}}function Ee(e){let t=!1,r="id",n="ASC";function i(){t=!0;const s=o(arguments);return s.orderBy&&d(s.orderBy,!1),s.orderDir&&m(s.orderDir,!1),l(),this}function c(){return t}function d(s,u=!0){return t=!0,r=s,u&&l(),this}function m(s,u=!0){if(s=s.toUpperCase(),["ASC","DESC"].indexOf(s)===-1)throw new Error("Invalid order direction");return t=!0,n=s,u&&l(),this}function l(){c()&&(e.setQueryParam("orderBy",r),e.setQueryParam("orderDirection",n))}function o(s){if(s.length===1&&typeof s[0]=="object")return s[0];const u={};return s.length>=1&&(u.orderBy=s[0]),s.length>=2&&(u.orderDir=s[1]),u}return{setOrder:i,hasOrder:c,setOrderBy:d,setOrderDir:m}}function Se(){let e=!1;function t(){return e=!0,this}function r(){return e}return{setSilent:t,isSilent:r}}function Ce(){let e="json";function t(n="json"){if(["arraybuffer","document","json","text","stream","blob"].indexOf(n)===-1)throw new Error("Invalid response type");return e=n,this}function r(){return e}return{setResponseType:t,getResponseType:r}}function ke(e){function t(){return e}function r(){return e.data}function n(){return e.data}return{getResponse:t,getData:r,getPayload:n}}function $e(e,t=!1){let r=!1,n=!1;return e.response?(r=!0,n=!0):e.request&&(r=!0),!t&&k.getErrorHandler()&&k.getErrorHandler()(e),{sent:r,responded:n,error:e}}function Le(e){function t(){return e}function r(){return e.data}function n(){return e.data}function i(){return e.data["@type"]==="hydra:Collection"}function c(){return i()?e.data["hydra:member"]:null}function d(){return i()?e.data["hydra:totalItems"]:null}function m(){return i()?e.data["hydra:view"]&&e.data["hydra:view"]["hydra:last"]:!1}function l(){return!i()||!m()?null:parseInt(e.data["hydra:view"]["@id"].match(/page=(\d+)/)[1])}function o(){return!i()||!m()?null:parseInt(e.data["hydra:view"]["hydra:last"].match(/page=(\d+)/)[1])}return{getResponse:t,getData:r,getPayload:n,isCollection:i,getCollection:c,getTotal:d,hasPagination:m,getPage:l,getPages:o}}function Me(e,t,r,n,i,c){async function d(){const l=r.getMethod(),o=t.getUri(),s=e.getHeaders(),u=n.getPayload(),f=[o];["post","put","patch"].includes(l)&&f.push(u||{}),f.push({headers:s,responseType:c.getResponseType()}),M.info("[Request] Sending request:",`[${l.toUpperCase()}]`,o);try{const p=await oe[l](...f);return m(p)}catch(p){throw $e(p,i.isSilent())}}function m(l){if(l.headers){const o=Object.keys(l.headers),s=o.map(u=>u.toLowerCase()).indexOf("content-type");if(s!==-1&&l.headers[o[s]].includes("application/ld+json"))return Le(l)}return ke(l)}return{send:d}}function w(e,t="get",r=null){const n=de(),i=Ie(e),c=me(t),d=fe(c,n,r),m=Pe(i),l=ve(i),o=Ee(i),s=Se(),u=Ce(),f=Me(n,i,c,d,s,u);return{...n,...i,...c,...d,...m,...l,...o,...s,...u,...f}}function y(e,t="get",r=null){const n=w(e,t,r),i=L();i.isAuthenticated()&&n.setAuthorization(i.getAuthToken());const c=n.send;return n.send=async function(){if(!n.hasAuthorization())throw new Error("::SDK Request:: Request cannot be sent, missing authorization header.");return c()},n}const Oe=(e,t)=>y("/v2/activity/candidate/:candidateId/establishment/:establishmentId").setRouteParams({candidateId:e,establishmentId:t}),De=()=>({listByCandidateAndEstablishment:Oe}),_e=(e,t,r)=>y("/candidate/:candidateId/share/establishment/:establishmentId").setMethod("post").setRouteParams({candidateId:e,establishmentId:t}).setPayload(r),Te=(e,t)=>y("/candidate/:candidateId/archive/establishment/:establishmentId").setRouteParams({candidateId:e,establishmentId:t}),xe=(e,t)=>y("/candidate/:candidateId/archive/establishment/:establishmentId").setMethod("post").setRouteParams({candidateId:e,establishmentId:t}),je=(e,t)=>y("/candidate/:candidateId/archive/establishment/:establishmentId").setMethod("delete").setRouteParams({candidateId:e,establishmentId:t}),Ne=()=>({share:_e,isArchived:Te,archive:xe,unarchive:je}),ze=(e,t)=>y("/comment/establishment/:establishmentId/candidate/:userId").setRouteParams({establishmentId:e,userId:t}),Fe=(e,t,r)=>y("/comment/establishment/:establishmentId/candidate/:userId").setRouteParams({establishmentId:e,userId:t}).setMethod("post").setPayload(r),qe=(e,t)=>y("/comment/:commentId").setRouteParams({commentId:e}).setMethod("put").setPayload(t),Be=e=>y("/comment/:commentId").setRouteParams({commentId:e}).setMethod("delete"),He=()=>({getForEstablishmentCandidate:ze,postForEstablishmentCandidate:Fe,update:qe,remove:Be}),Ve=()=>w("contractType").isList().addGroup("Term:id").addGroup("Term:name"),Qe=()=>({list:Ve}),Ue=e=>y("/v2/talents").isList().setQueryParam("establishment-id",e),Ge=()=>({list:Ue}),Ke=(e,t,r)=>y("/cvtheque/establishment/:establishmentId/candidate/:candidateId/label/synchronize").setRouteParams({establishmentId:e,candidateId:t}).setMethod("post").setPayload(r),Je=()=>({syncCandidateLabels:Ke}),We=()=>w("diploma").isList().addGroup("Term:id").addGroup("Term:name"),Ze=()=>({list:We}),Xe=e=>y("document/candidate/:candidateId").setRouteParams({candidateId:e}).isList().disablePagination(),Ye=(e,t)=>y("document/candidate/:candidateId/establishment/:establishmentId/recruiter").setRouteParams({candidateId:e,establishmentId:t}).isList().disablePagination(),et=(e,t)=>y("document/candidate/:candidateId/establishment/:establishmentId/candidate").setRouteParams({candidateId:e,establishmentId:t}).isList().disablePagination(),tt=e=>y("document/recruiter").setMethod("post").setPayload(e),nt=e=>y("document/:documentId").setRouteParams({documentId:e}).setMethod("delete"),rt=()=>({listByCandidate:Xe,listByCandidateAndEstablishmentFromRecruiter:Ye,listByCandidateAndEstablishmentFromCandidate:et,addFromRecruiter:tt,remove:nt}),it=(e,t)=>y("/v2/establishments/:establishmentId/email-history").setRouteParams({establishmentId:t}).setQueryParam("receiverId",e).isList().disablePagination(),ot=()=>({listByCandidateAndEstablishment:it}),st=(e,t)=>y("/email/candidate/:candidateId").setMethod("post").setRouteParams({candidateId:e}).setPayload(t),at=(e,t)=>y("/v2/emails/send").setMethod("post").setFormData().setPayload({recipientIds:e,...t}),ct=()=>({sendToCandidate:st,sendToRecipients:at}),ut=(e,t=!0)=>{const r=y("/v2/establishments/:establishmentId/email-templates").setRouteParams({establishmentId:e}).isList().disablePagination();return t&&r.setQueryParam("global",!0),r},lt=()=>y("/v2/self/email-templates").isList().disablePagination(),dt=()=>({listByEstablishment:ut,listSelf:lt}),mt=(e,t)=>y("establishment-career/:establishmentId/:versionId").setRouteParams({establishmentId:e,versionId:t}),ft=(e,t="published")=>y("establishment-career/:establishmentId/state/:state").setRouteParams({establishmentId:e,state:t}),pt=(e,t,r=null)=>{const n=r!==null?y("establishment-career/:establishmentId/:versionId").setRouteParams({establishmentId:e,versionId:r}):y("establishment-career/:establishmentId").setRouteParams({establishmentId:e});return n.setMethod("post").setPayload(t),n},ht=(e,t)=>y("establishment-career/:establishmentId/logo-banner").setMethod("post").setRouteParams({establishmentId:e}).setPayload(t),yt=(e,t,r)=>y("establishment-career/:establishmentId/publish/:versionId").setMethod("post").setRouteParams({establishmentId:e,versionId:t}).setPayload(r),gt=()=>({readById:mt,readByState:ft,upsert:pt,uploadLogoAndBanner:ht,publish:yt}),bt=e=>w("establishment/:establishmentId").setRouteParams({establishmentId:e}),wt=e=>y("establishment/:establishmentId/authorizations").setRouteParams({establishmentId:e}),F=()=>({read:bt,authorizations:wt}),Rt=e=>w("feature-flag/maintenance").setMethod("post").setPayload(e),At=(e,t)=>w("feature-flag/establishment").setMethod("post").setPayload({establishment:e,flagName:t}),It=()=>({maintenanceModeEnabled:Rt,forEstablishment:At}),Pt=()=>w("job").isList().addGroup("Term:id").addGroup("Term:name"),vt=()=>({list:Pt}),Et=e=>y("/label/establishment/:establishmentId").isList().setRouteParams({establishmentId:e}),St=(e,t)=>y("/label/establishment/:establishmentId").setMethod("post").setRouteParams({establishmentId:e}).setPayload(t),Ct=(e,t)=>y("/label/:labelId").setMethod("put").setRouteParams({labelId:e}).setPayload(t),kt=e=>y("/label/:labelId").setMethod("delete").setRouteParams({labelId:e}),$t=(e,t,r)=>y("/label/establishment/:establishmentId/candidate/:candidateId/synchronize").setMethod("post").setPayload(r).setRouteParams({establishmentId:e,candidateId:t}),Lt=()=>({listByEstablishment:Et,addToEstablishment:St,update:Ct,remove:kt,syncForCandidate:$t}),Mt=e=>w("offer/:offerId").setRouteParams({offerId:e}),Ot=()=>({read:Mt}),Dt=(e,t=!1)=>{const r=y("/recruiter/establishment/:establishmentId").isList().setRouteParams({establishmentId:e});return t&&r.setQueryParam("exclude-me",1),r},_t=()=>({listByEstablishment:Dt}),Tt=e=>y("/recruitment/establishment/:establishmentId/mine").isList().setRouteParams({establishmentId:e}),xt=(e,t)=>y("/recruitment/mine/establishment/:establishmentId/has-not/candidate/:candidateId").isList().setRouteParams({establishmentId:e,candidateId:t}),jt=(e,t)=>y("/recruitment/mine/establishment/:establishmentId/has/candidate/:candidateId").isList().setRouteParams({establishmentId:e,candidateId:t}),Nt=(e,t)=>y("/recruitment/establishment/:establishmentId/has/candidate/:candidateId").isList().setRouteParams({establishmentId:e,candidateId:t}),zt=(e,t)=>y("/recruitment/:recruitmentId/candidate").setMethod("put").setRouteParams({recruitmentId:e}).setPayload(t),Ft=(e,t)=>y("/recruitment/:recruitmentId/candidate/:candidateId").setMethod("delete").setRouteParams({recruitmentId:e,candidateId:t}),qt=()=>({mineByEstablishment:Tt,mineWithoutCandidate:xt,mineWithCandidate:jt,withCandidate:Nt,addCandidates:zt,removeCandidate:Ft}),Bt=(e,t,r,n=null)=>{const i=w("candidate/register/open").setMethod("post"),c={email:e};return t==="establishment"&&(c.establishmentId=r),t==="offer"&&(c.offerId=r),n&&(c.referer=n),i.setPayload(c),i},Ht=(e,t)=>w("candidate/register/update/:token").setMethod("post").setRouteParams({token:e}).setPayload(t),Vt=e=>w("candidate/register/read/:token").setRouteParams({token:e}),Qt=e=>w("candidate/register/close/:token").setMethod("post").setRouteParams({token:e}),Ut=()=>({open:Bt,update:Ht,read:Vt,close:Qt}),Gt=()=>w("speciality").isList().addGroup("Term:id").addGroup("Term:name"),Kt=()=>({list:Gt}),Jt=e=>y("/tag/public/establishment/:establishmentId").isList().setRouteParams({establishmentId:e}),Wt=()=>({listByEstablishment:Jt}),Zt=e=>w("user/email/isset/:email").setRouteParams({email:e}),Xt=()=>y("user/self").addGroup("user:self"),Yt=e=>y("/user/:uuid").setRouteParams({uuid:e}),en=e=>w("/user/:uuid").setRouteParams({uuid:e}),q=()=>({emailExists:Zt,self:Xt,byUuidPrivate:Yt,byUuid:en});let _;function Z(){if(_)return _;const e={user:void 0,roles:[],establishments:{}},t=async()=>{if(!L().isAuthenticated())throw new Error("::SDK Authorization:: User not authenticated");const o=(await q().self().send()).getData();e.user={id:o.id,email:o.email,firstName:o.firstName,lastName:o.lastName,avatar:o.avatar},e.roles=o.roles},r=async o=>{if(!L().isAuthenticated())throw new Error("::SDK Authorization:: User not authenticated");e.establishments[o]=(await F().authorizations(o).send()).getData()},n=o=>{if(e.user===void 0)throw new Error("::SDK Authorization:: User not fetched");return e.roles.includes(o)};return _={fetchSelf:t,fetchPermission:r,hasRole:n,hasRoleRH:()=>n("ROLE_RH"),hasRoleCandidate:()=>n("ROLE_CANDIDATE"),hasRoleAdmin:()=>n("ROLE_ADMIN"),hasPermission:(o,...s)=>{const u=e.establishments[o];if(u===void 0)throw new Error(`::SDK Authorization:: Permissions not fetched for establishment ${o}`);return s.every(f=>u[f]===!0)},clear:()=>{e.user=void 0,e.roles=[],e.establishments={}}},_}async function tn(e,...t){if(!L().isAuthenticated())throw"ERR_NOT_AUTHENTICATED";const n=Z();await Promise.all([n.fetchSelf(),n.fetchPermission(e)]);for(let i=0;i<t.length;i++){const c=t[i];if(!n.hasPermission(e,c))throw"ERR_MISSING_PERMISSION"}}const nn=se.defineStore("authorization",{state:()=>({user:void 0,establishments:{}}),getters:{roles:e=>e.user.roles??[],isRH(){return this.roles.includes("ROLE_RH")},isCandidate(){return this.roles.includes("ROLE_CANDIDATE")},isAdmin(){return this.roles.includes("ROLE_ADMIN")}},actions:{async fetchSelf(e){if(this.user===void 0||e){const t=await q().self().send();this.user=t.getData()}},async fetchPermission(e,t){if(!this.establishments[e]||t){const r=await F().authorizations(e).send();this.establishments[e]=r.getData()}},hasPermission(e,...t){const r=this.establishments[e];return r===void 0?!1:t.every(n=>r[n]===!0)}}}),S=(e,t,r)=>{const n=typeof t=="string"?t.split("."):[t];let i=e;for(const[c,d]of n.entries()){if(c===n.length-1)return i[d]!==void 0?i[d]:r;if(!(d in i)||typeof i[d]!="object")return r;i=i[d]}return r},N=(e,t,r)=>{const n=typeof t=="string"?t.split("."):[t],i=m=>typeof m=="number"||/^\d$/g.test(m),c=m=>parseInt(m,10);let d=e;return n.forEach((m,l)=>{if(l===n.length-1)d[m]=r;else{const o=i(n[l+1])?[]:{};m=i(m)?c(m):m,d[m]=d[m]??o,d=d[m]}}),e},X=e=>{if(typeof e=="object"){if(Array.isArray(e))return[...e];if(Object(e)===e)return{...e}}return e},B=(e,t)=>{const r={...e};for(const[n,i]of Object.entries(t))n in r&&typeof r[n]=="object"&&typeof i=="object"?r[n]=B(r[n],i):r[n]=X(i);return r};let $=null;function g(){if($)return $;const e=k.getEnvironment(),t=(()=>e==="prod"||e==="production"?"pPROC7dPoJ7XdxHrwsTQNXCGX79MJjhp":e==="staging"?"823rqOTwVk1ZCWVyBAdLInZ77TcFF0CF":"TMZX6evFnu87JrBHV5qLwHsld5C6hilZ")(),r=!!t,n=e!=="prod"&&e!=="production";let i=null;function c(){return r}function d(){const f=window.analytics=window.analytics||[];if(!f.initialize)if(f.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{f.invoked=!0,f.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware"],f.factory=function(p){return function(){if(window.analytics.initialized)return window.analytics[p].apply(window.analytics,arguments);const h=Array.prototype.slice.call(arguments);return h.unshift(p),f.push(h),f}};for(let p=0;p<f.methods.length;p++){const h=f.methods[p];f[h]=f.factory(h)}f.load=function(p,h){const b=document.createElement("script");b.id="analytics-script",b.type="text/javascript",b.async=!0,b.src="https://cdn.segment.com/analytics.js/v1/"+p+"/analytics.min.js",b.onerror=()=>window.dispatchEvent(new Event("analytics-error"));const C=document.getElementsByTagName("script")[0];C.parentNode.insertBefore(b,C),f._loadOptions=h},f._writeKey=t,f.SNIPPET_VERSION="4.16.1",f.load(t),f.page(),f.ready(()=>window.dispatchEvent(new Event("analytics-ready")))}}async function m(){return i!==null||(i=new Promise((f,p)=>{if(!c())return u("Analytics is disabled."),f();if(window.addEventListener("analytics-ready",()=>{u("Analytics script loaded successfully."),f()}),window.addEventListener("analytics-error",()=>{u("Analytics script failed to load. Consider disabling your AdBlocker.",null,"error"),p()}),u("Loading Analytics script."),window.analytics)return f();d()})),i}async function l(f,p){try{if(await this.analyticsScriptReady(),u("[identify]",[f,p]),c())return window.analytics.identify(f,p)}catch{u("[identify]",[f,p],"error")}}async function o(f,p,h){typeof h!="object"&&(h={});try{if(await this.analyticsScriptReady(),u("[page]",[f,p,h]),c())return window.analytics.page(f,{category:p,...h})}catch{u("[page]",[f,p,h],"error")}}async function s(f,p,h){typeof h!="object"&&(h={});try{if(await this.analyticsScriptReady(),u("[track]",[f,p,h]),c())return window.analytics.track(f,{category:p,...h})}catch{u("[track]",[f,p,h],"error")}}function u(f,p=[],h="log"){p||(p=[]),n&&console[h](`%cⒶ%c ::SDK Analytics:: ${f}`,"color: green;","color: inherit;",...p)}return $={analyticsScriptReady:m,isEnabled:c,identify:l,page:o,track:s,consoleMessage:u},$}g.destroy=()=>$=null;function Y(){const e="Hubler Application";function t(o){var u;if(!o)throw new Error(`Missing arguments for domain "${e}"`);const s=!!o.offerId;if(s&&!o.recruitmentId)throw new Error(`Missing argument "recruitmentId" for domain "${e}"`);return{companyId:(u=o.establishmentId)==null?void 0:u.toString(),jobOfferId:s?o.offerId.toString():null,recruitmentId:s?o.recruitmentId.toString():null,selections:[s?"Application":"Spontaneous Application"]}}async function r(o){return g().page("Application Authentication Viewed",e,t(o))}async function n(o){return g().page("Application Magic Link Viewed",e,t(o))}async function i(o){return g().page("Application Job Viewed",e,t(o))}async function c(o){return g().page("Application Information Viewed",e,t(o))}async function d(o){return g().page("Application Document Viewed",e,t(o))}async function m(o){return g().page("Application Success Viewed",e,t(o))}async function l(o){if(!o.error)throw new Error(`Missing argument "error" for domain "${e}", event "Application Form Failed"`);return g().track("Application Form Failed",e,{...t(o),error:o.error})}return{applicationAuthenticationViewed:r,applicationMagicLinkViewed:n,applicationJobViewed:i,applicationInformationViewed:c,applicationDocumentViewed:d,applicationSuccessViewed:m,applicationFormFailed:l}}function ee(){const e="Profile";function t(a,R){var E;if(!a)throw new Error(`Missing arguments for domain "${e}"`);const A={companyId:a.companyId?a.companyId.toString():null,hublerId:(E=a.hublerId)==null?void 0:E.toString()};return R&&(A.productId=a.companyId?a.companyId+"_2":null),a.recruitmentId&&(A.recruitmentId=a.recruitmentId.toString()),a.selections&&(A.selections=a.selections),a.institutionId&&(A.institutionId=a.institutionId.map(String)),A}async function r(a){return g().track(a.name,e,t(a.properties),!0)}async function n(a){return g().track(a.name,e,t(a.properties,!0))}async function i(a){return g().track(a.name,e,t(a.properties,!0))}async function c(a){return g().track(a.name,e,t(a.properties,!0))}async function d(a){return g().track(a.name,e,t(a.properties,!0))}async function m(a){return g().track(a.name,e,t(a.properties,!0))}async function l(a){return g().track(a.name,e,t(a.properties,!0))}async function o(a){return g().track(a.name,e,t(a.properties,!0))}async function s(a){return g().track(a.name,e,t(a.properties,!0))}async function u(a){return g().track(a.name,e,t(a.properties,!0))}async function f(a){return g().track(a.name,e,t(a.properties,!0))}async function p(a){return g().track(a.name,e,t(a.properties,!0))}async function h(a){return g().track(a.name,e,t(a.properties,!0))}async function b(a){return g().page(a.name,a.properties.category,t(a.properties,!1))}async function C(a){return g().track(a.name,e,t(a.properties,!1))}return{profileDocumentDeleted:r,profileLabelAdded:n,profileLabelRemoved:i,profileShared:c,profileArchived:d,profileCandidateAdded:m,profileCommentAdded:l,profileDocumentAdded:o,profileDocumentDownloaded:s,profileDocumentRequested:u,profileRecruitmentAdded:f,profileRecruitmentRemoved:p,profileTabSelected:h,profileViewed:b,profileEmailSent:C}}const V=Object.freeze(Object.defineProperty({__proto__:null,useAnalyticsHublerApplication:Y,useAnalyticsProfile:ee},Symbol.toStringTag,{value:"Module"}));function rn(){function e(r){return g().identify(r.id,{email:r.email,firstName:r.firstname,lastName:r.lastname,createdAt:r.createdAt,type:"Hubler",lang:"fr",medium:t()?"MOBILE_DEVICE":"WEB_BROWSER"})}function t(){let r=!1;return function(n){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(n.substr(0,4)))&&(r=!0)}(navigator.userAgent||navigator.vendor||window.opera),r}return{identifyCandidate:e}}const on="AIzaSyDicyRD6rvVdnicp1tgV0ElazASNGbyyTs",te=()=>new Promise(e=>{window.google&&window.google.maps?e():(window.addEventListener("gmap-ready",()=>e()),cn())}),sn=(e,t)=>te().then(()=>an(e,t)),an=(e,t)=>{const r=new window.google.maps.places.Autocomplete(e,{componentRestrictions:{country:["fr","re","yt","gp","mq"]}});window.google.maps.event.addListener(r,"place_changed",()=>{const n=r.getPlace();n.formatted_address&&t(n)})},cn=()=>{window.onGmapScriptReady=function(){};const e=document.createElement("script");e.src="https://maps.googleapis.com/maps/api/js?key="+on+"&libraries=places&callback=onGmapScriptReady",e.async=!0,e.defer=!0,e.onload=()=>window.dispatchEvent(new Event("gmap-ready")),document.body.appendChild(e)},un={scriptReady:te,autocompleteInput:sn},ln={common:{the:"le",from:"de"},timeAgo:{"just-now":"à l'instant",ago:"il y a {0}",in:"dans {0}","last-month":"le mois dernier","next-month":"le mois prochain",month:"mois | mois","last-year":"l'année dernière","next-year":"l'année prochaine",year:"an | ans",yesterday:"hier",tomorrow:"demain",day:"jour | jours","last-week":"la semaine dernière","next-week":"la semaine prochaine",week:"semaine | semaines",hour:"heure | heures",minute:"minute | minutes",second:"seconde | secondes"}},dn={fr:ln};let z=null;const ne=()=>z,mn=(e={})=>{let t=e.locale||"fr";const r=m=>t=m,n=()=>t,i=B(dn,(e==null?void 0:e.messages)||{});return z={t:(m,l)=>{const o=S(i,`${t}.${m}`);return o?l?fn(o,l):o:m},tNode:(m,l)=>{const o=S(i,`${t}.${m}`);return o?pn(o,l):m},setLocale:r,getLocale:n},z},fn=(e,t)=>e?e.replace(/{{ ?([a-zA-Z_.]+) ?}}/g,(r,n)=>S(t,n)):null,pn=(e,t)=>{if(!e)return null;const r=e.split(/(\{[{%]+[^{}]*[%}]+})/g).filter(n=>n!=="").map(n=>{const i=n.startsWith("{%")&&n.endsWith("%}")?"slot":n.startsWith("{{")&&n.endsWith("}}")?"variable":"text";if(i==="text")return()=>Q.text(n);n=n.replace(/[{}%]/g,"").trim();const c=n.match(/^[a-zA-Z_.]+/)[0];n=n.replace(c,"").trim();const d={};return n!==""&&([...n.matchAll(/([a-zA-Z_.]+)(=([a-zA-Z_.]+))?/g)].reduce((o,s)=>(s[3]===void 0?N(o,s[1],S(t,s[1])):N(o,s[1],S(t,s[3])),o),d),[...n.matchAll(/([a-zA-Z_.]+)="([^"]+)"/g)].reduce((o,s)=>{let u=s[2];return new RegExp(/^[0-9]*$/).exec(s[2])?u=parseInt(s[2]):new RegExp(/^(true|false)$/).exec(s[2])&&(u=s[2]==="true"),o[s[1]]=u,o},d)),m=>Q[i](c,t,m,d)});return{setup:(n,{slots:i})=>()=>r.map(c=>c(i))}},Q={slot:(e,t,r,n)=>T.h("span",{class:"node node--slot"},r[e.trim()](n)),variable:(e,t)=>T.h("span",{class:"node node--variable"},S(t,e.trim())),text:e=>T.h("span",{class:"node node--text"},e)};function hn(e){const{t}=ne(),r={justNow:t("timeAgo.just-now"),past:n=>n.match(/\d/)?t("timeAgo.ago",[n]):n,future:n=>n.match(/\d/)?t("timeAgo.in",[n]):n,month:(n,i)=>n===1?t(i?"timeAgo.last-month":"timeAgo.next-month"):`${n} ${t("timeAgo.month",n)}`,year:(n,i)=>n===1?t(i?"timeAgo.last-year":"timeAgo.next-year"):`${n} ${t("timeAgo.year",n)}`,day:(n,i)=>n===1?t(i?"timeAgo.yesterday":"timeAgo.tomorrow"):`${n} ${t("timeAgo.day",n)}`,week:(n,i)=>n===1?t(i?"timeAgo.last-week":"timeAgo.next-week"):`${n} ${t("timeAgo.week",n)}`,hour:n=>`${n} ${t("timeAgo.hour",n)}`,minute:n=>`${n} ${t("timeAgo.minute",n)}`,second:n=>`${n} ${t("timeAgo.second",n)}`,invalid:""};return ae.useTimeAgo(e,{fullDateFormatter:n=>n.toLocaleDateString(),messages:r})}function yn(){let e=null;function t(){return e}function r(){return e.controller}function n(){return"use"+e.controller.charAt(0).toUpperCase()+e.controller.slice(1)+"QSController"}function i(){return e.action}function c(){return e.arguments}function d(){return!!(e&&e.controller&&e.action)}function m(){window.location.search.length!==0&&(e=window.location.search.substring(1).split("&").reduce((l,o)=>{const s=o.split("=");return s[0]==="controller"||s[0]==="action"?l[s[0]]=decodeURIComponent(s[1]):l.arguments[s[0]]=decodeURIComponent(s[1]),l},{controller:null,action:null,arguments:{}}))}return m(),{getParams:t,getController:r,getControllerComposableName:n,getAction:i,getArguments:c,hasAction:d}}function gn(){async function e({domain:n,event:i,...c}){const d="useAnalytics"+n.charAt(0).toUpperCase()+n.slice(1);if(!t(d))throw new Error(`Domain ${n} is not defined`);const m=V[d]();if(!r(m,i))throw new Error(`Event ${i} is not defined in domain ${n}`);return m[i](c)}function t(n){return!!V[n]}function r(n,i){return!!n[i]}return{call:e}}const U=Object.freeze(Object.defineProperty({__proto__:null,useAnalyticsQSController:gn},Symbol.toStringTag,{value:"Module"}));function bn(e){if(!e.hasAction())throw new Error("No action found in router");function t(){if(!r())throw new Error(`Controller ${e.getController()} not found`);const i=U[e.getControllerComposableName()]();if(!n(i))throw new Error(`Action ${e.getAction()} not found in controller ${e.getController()}`);return i[e.getAction()](e.getArguments())}function r(){return e.getControllerComposableName()in U}function n(i){return e.getAction()in i}return{dispatch:t}}function wn(){let e=!1;function t(i,c,d){n(),d()}function r(i,c,d){if(!e)return e=!0,t(i,c,d);d()}function n(){const i=yn();if(!i.hasAction())return;bn(i).dispatch()}return{vueRouterBeforeEach:t,vueRouterBeforeFirst:r,handle:n}}const P=()=>k.getMainAppHost(),Rn=()=>`${P()}/rh/establishments`,An=e=>`${P()}/rh/establishment/${e}`,In=e=>e&&typeof e=="object"&&e.urls&&e.urls.display?e.urls.display:"",Pn=e=>`${P()}/rh/establishment/${e}/cvtheque/`,vn=(e,t)=>`${P()}/rh/establishment/${e}/recruitment/${t}`,En=(e,t)=>`${P()}/rh/establishment/${e}/recruitment/${t}/kanban`,Sn=e=>`${P()}/rh/establishment/${e}/career-configuration`,Cn=(e,t=null)=>t?`${P()}/career-website/${e}/${t}`:`${P()}/career-website/${e}`,kn=(e,t)=>`${P()}/career-website-preview/${e}/${t}`,$n=(e,t=null)=>{const r=P().replace("://",`://${e}.`);return t?`${r}?_version=${t}`:`${r}`};function Ln(){return{root:P,establishments:Rn,establishment:An,img:In,cvtheque:Pn,recruitment:vn,recruitmentKanban:En,career:Sn,careerConfig:Cn,careerPreview:kn,careerWebsite:$n}}const Mn="0.2.3";exports.BaseLogger=x;exports.Gmap=un;exports.SDKConfig=k;exports.SDKLogger=M;exports.VERSION=Mn;exports._clone=X;exports._get=S;exports._merge=B;exports._set=N;exports.createI18n=mn;exports.useActivityRepository=De;exports.useAnalyticsHublerApplication=Y;exports.useAnalyticsIdentify=rn;exports.useAnalyticsProfile=ee;exports.useAuthentication=L;exports.useAuthorization=Z;exports.useAuthorizationStore=nn;exports.useCanAccessEstablishmentMiddleware=tn;exports.useCandidateRepository=Ne;exports.useCommentRepository=He;exports.useContractTypeRepository=Qe;exports.useCvbankRepository=Ge;exports.useCvthequeRepository=Je;exports.useDiplomaRepository=Ze;exports.useDocumentRepository=rt;exports.useDomainUrls=Ln;exports.useEmailHistoryRepository=ot;exports.useEmailRepository=ct;exports.useEmailTemplateRepository=dt;exports.useEstablishmentCareerRepository=gt;exports.useEstablishmentRepository=F;exports.useFeatureFlagRepository=It;exports.useI18n=ne;exports.useJobRepository=vt;exports.useLabelRepository=Lt;exports.useLocaleTimeAgo=hn;exports.useOfferRepository=Ot;exports.usePrivateRequest=y;exports.useQSAction=wn;exports.useRecruiterRepository=_t;exports.useRecruitmentRepository=qt;exports.useRegisterRepository=Ut;exports.useRequest=w;exports.useSpecialityRepository=Kt;exports.useTagRepository=Wt;exports.useUserRepository=q;