@abcagency/hire-control-sdk 1.1.2 → 1.1.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.
@@ -47,6 +47,28 @@ class ContentEntriesController {
47
47
  return normalizeToCamelCase(response);
48
48
  }
49
49
 
50
+ /**
51
+ * Get a specific content entry by content model ID + slug.
52
+ * @param {string} contentId - The content model ID.
53
+ * @param {string} slug - The entry slug.
54
+ * @param {Status | null} statusFilter - Optional status filter.
55
+ * @param {string | null} authToken - Optional auth token.
56
+ * @returns {Promise<ContentEntry>} - The content entry data.
57
+ */
58
+ async getContentEntryBySlug(
59
+ contentId: string,
60
+ slug: string,
61
+ statusFilter: Status | null = null,
62
+ authToken: string | null = null,
63
+ ): Promise<ContentEntry> {
64
+ let url = `/contententry/by-slug?contentId=${encodeURIComponent(contentId)}&slug=${encodeURIComponent(slug)}`;
65
+ if (statusFilter !== null) {
66
+ url += `&statusFilter=${statusFilter}`;
67
+ }
68
+ const response = await fetchHandler.get<ContentEntry>(url, true, authToken);
69
+ return normalizeToCamelCase(response);
70
+ }
71
+
50
72
  /**
51
73
  * Create a new content entry.
52
74
  * @param {ContentEntry} entry - The content entry data to create.
@@ -26,6 +26,24 @@ class JobListingsController {
26
26
  );
27
27
  }
28
28
 
29
+ async updateDescriptionVersionApproval(
30
+ id: string,
31
+ payload: {
32
+ descriptionId: string;
33
+ versionId?: number;
34
+ listingVersionNumber?: number;
35
+ needsApproval: boolean;
36
+ },
37
+ authToken: string | null = null
38
+ ): Promise<void> {
39
+ return fetchHandler.patch<typeof payload, void>(
40
+ `/joblistings/${id}/description-version-approval`,
41
+ payload,
42
+ true,
43
+ authToken
44
+ );
45
+ }
46
+
29
47
  /**
30
48
  * [GET /joblistings]
31
49
  * Get all job listings for the authenticated user's company.
@@ -17,6 +17,15 @@ declare class ContentEntriesController {
17
17
  * @returns {Promise<ContentEntry>} - The content entry data.
18
18
  */
19
19
  getContentEntry(id: string, statusFilter?: Status | null, authToken?: string | null): Promise<ContentEntry>;
20
+ /**
21
+ * Get a specific content entry by content model ID + slug.
22
+ * @param {string} contentId - The content model ID.
23
+ * @param {string} slug - The entry slug.
24
+ * @param {Status | null} statusFilter - Optional status filter.
25
+ * @param {string | null} authToken - Optional auth token.
26
+ * @returns {Promise<ContentEntry>} - The content entry data.
27
+ */
28
+ getContentEntryBySlug(contentId: string, slug: string, statusFilter?: Status | null, authToken?: string | null): Promise<ContentEntry>;
20
29
  /**
21
30
  * Create a new content entry.
22
31
  * @param {ContentEntry} entry - The content entry data to create.
@@ -9,6 +9,12 @@ declare class JobListingsController {
9
9
  listingVersionNumber?: number;
10
10
  needsApproval: boolean;
11
11
  }, authToken?: string | null): Promise<void>;
12
+ updateDescriptionVersionApproval(id: string, payload: {
13
+ descriptionId: string;
14
+ versionId?: number;
15
+ listingVersionNumber?: number;
16
+ needsApproval: boolean;
17
+ }, authToken?: string | null): Promise<void>;
12
18
  /**
13
19
  * [GET /joblistings]
14
20
  * Get all job listings for the authenticated user's company.
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib");class e{constructor(t){this.apiUrl=t,this.isLocalhost=!1}getAuthToken(){return this.isLocalhost?sessionStorage.getItem("token"):null}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"GET",credentials:n?"omit":"include"};return e?this.fetchWithAuth(t,r,n):this.fetchWithoutAuth(t,r)}))}post(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"POST",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}put(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"PUT",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}patch(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"PATCH",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"DELETE",credentials:n?"omit":"include"};return e?this.fetchWithAuth(t,r,n):this.fetchWithoutAuth(t,r)}))}getFile(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"GET",credentials:n?"omit":"include",headers:e&&n?{Authorization:`Bearer ${n}`}:{}},i=yield fetch(`${this.apiUrl}${t}`,r);if(!i.ok)throw new Error(`Failed to fetch file: ${i.statusText}`);return i.blob()}))}convertToFormData(t,e=new FormData,n=""){return t instanceof File?e.append(n||"file",t):"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.append(n,t.toString()):Array.isArray(t)?t.forEach(((t,r)=>{this.convertToFormData(t,e,`${n}[${r}]`)})):"object"==typeof t&&null!==t&&Object.keys(t).forEach((r=>{const i=t[r],o=n?`${n}.${r}`:r;this.convertToFormData(i,e,o)})),e}fetchWithoutAuth(e,n){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield fetch(`${this.apiUrl}${e}`,n);return this.handleResponse(t)}))}fetchWithAuth(e,n,r){return t.__awaiter(this,void 0,void 0,(function*(){r?(n.headers=Object.assign(Object.assign({},n.headers),{Authorization:`Bearer ${r}`}),n.credentials="omit"):n.credentials="include";let t=yield fetch(`${this.apiUrl}${e}`,n);if(401===t.status){if(!(yield this.refreshToken()))throw{statusCode:t.status};this.isLocalhost&&(r=this.getAuthToken())&&(n.headers=Object.assign(Object.assign({},n.headers),{Authorization:`Bearer ${r}`})),t=yield fetch(`${this.apiUrl}${e}`,n)}return this.handleResponse(t)}))}handleResponse(e){return t.__awaiter(this,void 0,void 0,(function*(){if(!e.ok||!e.status.toString().startsWith("2")){let t=`Error: ${e.status} ${e.statusText}`;try{const n=yield e.json();console.log(n),n&&n.message&&(t=n.message)}catch(t){console.error("Failed to parse error response:",t)}throw{statusCode:e.status,errorMessage:t}}if(204===e.status||205===e.status)return null;const t=yield e.text();if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){if(!this.isLocalhost){return!!(yield fetch(`${this.apiUrl}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"})).ok||(console.error("Failed to refresh token"),!1)}{const t=sessionStorage.getItem("refreshToken");if(!t)return!1;const e=yield fetch(`${this.apiUrl}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:t})});if(!e.ok)return console.error("Failed to refresh token"),!1;try{const t=yield e.json();return t.token&&sessionStorage.setItem("token",t.token),t.refreshToken&&sessionStorage.setItem("refreshToken",t.refreshToken),!0}catch(t){return console.error("Failed to parse refresh token response:",t),!1}}}))}}const n=process.env.NEXT_PUBLIC_API_URL||process.env.VITE_API_URL||process.env.REACT_APP_API_URL||"https://api.myhirecontrol.com",r=new e(n),i="undefined"!=typeof window&&"localhost"===window.location.hostname;var o=new class{login(e){return t.__awaiter(this,void 0,void 0,(function*(){return r.post("/auth/login",e,!1)}))}nextLogin(e){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/nextLogin"+(i?"?localhost=true":""),n=yield r.post(t,e,!1);return n&&(sessionStorage.setItem("token",n.token),sessionStorage.setItem("refreshToken",n.refreshToken),sessionStorage.setItem("expiration",n.expiration)),n}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/refresh"+(i?"?localhost=true":""),e=yield r.post(t,{},!0);return e&&i&&(sessionStorage.setItem("token",e.token),sessionStorage.setItem("refreshToken",e.refreshToken),sessionStorage.setItem("expiration",e.expiration)),e}))}changeCompany(e){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/changeCompany"+(i?"?localhost=true":"");var n=yield r.post(t,e,!0);return n&&(sessionStorage.setItem("token",n.token),sessionStorage.setItem("refreshToken",n.refreshToken),sessionStorage.setItem("expiration",n.expiration)),n}))}register(e){return t.__awaiter(this,void 0,void 0,(function*(){return r.post("/auth/register",e,!1)}))}getCompanies(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/companies",!0)}))}getCompany(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/company",!0)}))}getRoles(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/roles",!0)}))}isAuthenticated(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield r.get("/auth/authenticated",!0);return t||(yield this.tryRefreshAndCheckAuth())}catch(t){return yield this.tryRefreshAndCheckAuth()}}))}tryRefreshAndCheckAuth(){return t.__awaiter(this,void 0,void 0,(function*(){try{yield this.refreshToken();return yield r.get("/auth/authenticated",!0)}catch(t){return!1}}))}getUser(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield r.get("/auth/user",!0,t)}catch(t){throw t}}))}logout(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield r.post("/auth/logout",{},!0);return sessionStorage.removeItem("token"),sessionStorage.removeItem("refreshToken"),sessionStorage.removeItem("expiration"),t}catch(t){throw t}}))}getPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield r.get("/auth/permissions",!0,t)}catch(t){throw t}}))}};const s=new e(n);var a=new class{getEvents(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return s.get("/events",!0,t)}))}getEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/events/${t}`,!0,e)}))}getEventBySlug(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/events/details/${t}`,!0,e)}))}getListingEvents(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/listingEvents/${t}`,!0,e)}))}createEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.post("/events",t,!0,e)}))}updateEvent(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return s.put(`/events/${t}`,e,!0,n)}))}deleteEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.delete(`/events/${t}`,!0,e)}))}};const u=new e(n);var l=new class{getAllRolesWithClaims(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return u.get("/roles",!0,t)}))}addRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return u.post("/roles",t,!0,e)}))}updateRole(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return u.put(`/roles/${t}`,e,!0,n)}))}deleteRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return u.delete(`/roles/${t}`,!0,e)}))}};const c=new e(n);var d=new class{getAllUsers(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield c.get("/users",!0,t)}catch(t){throw t}}))}getUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield c.get(`/users/${t}`,!0,e)}catch(t){throw t}}))}createUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield c.post("/users",t,!0,e)}catch(t){throw t}}))}updateUser(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){try{yield c.put(`/users/${t}`,e,!0,n)}catch(t){throw t}}))}updateLoggedInUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield c.put("/users",t,!0,e)}catch(t){throw t}}))}deleteUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield c.delete(`/users/${t}`,!0,e)}catch(t){throw t}}))}};const g=new e(n);var p=new class{forgotPassword(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield g.post("/account/forgotPassword",e,!1)}catch(t){throw t}}))}resetPasswordWithToken(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield g.post("/account/resetPasswordWithToken",e,!1)}catch(t){throw t}}))}resetPassword(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield g.post("/account/resetPassword",t,!0,e)}catch(t){throw t}}))}};const h=new e(n);var _=new class{getMapConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield h.get("/mapconfig",!0,t)}catch(t){throw t}}))}updateMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return h.put("/mapconfig",t,!0,e)}))}createMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return h.post("/mapconfig",t,!0,e)}))}};const f=new e(n);var v=new class{getAllPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return f.get("/permissions",!0,t)}))}};const w=new e(n);var y=new class{getClientAuthConfigById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield w.get(`/clientAuthConfig/${t}`,!0,e)}catch(t){throw t}}))}getAllClientAuthConfigs(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield w.get("/clientAuthConfig",!0,t)}catch(t){throw t}}))}createClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.post("/clientAuthConfig",t,!0,e)}))}updateClientAuthConfig(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return w.put(`/clientAuthConfig/${t}`,e,!0,n)}))}deleteClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.delete(`/clientAuthConfig/${t}`,!0,e)}))}};const m=new e(n);var C=new class{getSearchReadConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield m.get("/integrationconfig/search-read",!0,t)}catch(t){if(404===(null==t?void 0:t.statusCode)||204===(null==t?void 0:t.statusCode))return null;throw t}}))}};const L=new e(n);var A=new class{getListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){try{const n=e?`?filterId=${encodeURIComponent(e)}`:"";return yield L.get(`/listings${n}`,!0,t)}catch(t){throw t}}))}getListingDetails(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield L.get(`/listings/${t}`,!0,e)}catch(t){throw t}}))}};const S=new e(n);var T=new class{uploadMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return S.post("/media/upload",t,!0,e,!0)}))}uploadProfileImage(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return S.post("/media/upload-profile-image",t,!0,e,!0)}))}listMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=new URLSearchParams({folderKey:t});return S.get(`/media/list?${n.toString()}`,!0,e)}))}deleteMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=new URLSearchParams({key:t});return S.delete(`/media/delete?${n.toString()}`,!0,e)}))}};const b=new e(n);var E=new class{getFilters(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return b.get("/filters",!0,t)}))}getFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.get(`/filters/${t}`,!0,e)}))}createFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.post("/filters",t,!0,e)}))}updateFilter(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return b.put(`/filters/${t}`,e,!0,n)}))}deleteFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.delete(`/filters/${t}`,!0,e)}))}};const $=new e(n);var I=new class{getAppendListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return $.get("/appendListings",!0,t)}))}getAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.get(`/appendListings/${t}`,!0,e)}))}createAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.post("/appendListings",t,!0,e)}))}updateAppendListing(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return $.put(`/appendListings/${t}`,e,!0,n)}))}deleteAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.delete(`/appendListings/${t}`,!0,e)}))}};const R=new e(n);var F=new class{getForms(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return R.get("/forms",!0,t)}))}getForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}`,!0,e)}))}createForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.post("/forms",t,!0,e)}))}updateForm(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return R.put(`/forms/${t}`,e,!0,n)}))}updateFormWithFieldRenames(e,n,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,n,r=null){return R.put(`/forms/${t}`,Object.assign(Object.assign({},e),n),!0,r)}))}getFormSubmissionCount(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}/submission-count`,!0,e)}))}getFormSubmissionFieldUsage(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}/submission-fields`,!0,e)}))}migrateSubmissionFields(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return R.post(`/forms/${t}/migrate-submission-fields`,e,!0,n)}))}deleteForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.delete(`/forms/${t}`,!0,e)}))}processFormRequest(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.post("/forms/jsonSchema",t,!0,e)}))}};const k=new e(n);var B=new class{submitContactForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return k.post("/contactForm",t,!0,e,!0)}))}submitFormSubmission(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return k.post("/formsubmission",t,!0,e)}))}getFormSubmissions(){return t.__awaiter(this,arguments,void 0,(function*(t=20,e=1,n=null,r=null,i=null,o=null,s=null){const a=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});return r&&a.append("status",r.toString()),n&&a.append("type",n),i&&a.append("from",i.toISOString()),o&&a.append("to",o.toISOString()),k.get(`/formsubmission?${a.toString()}`,!0,s)}))}exportFormSubmissionsCsv(){return t.__awaiter(this,arguments,void 0,(function*(t=20,e=1,n=null,r=null,i=null,o=null,s=null,a=null){const u=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});r&&u.append("status",r.toString()),n&&u.append("type",n),i&&u.append("from",i.toISOString()),o&&u.append("to",o.toISOString()),s&&s.length>0&&s.forEach((t=>u.append("columns",t)));const l=yield k.getFile(`/formsubmission/export-csv?${u.toString()}`,!0,a),c=window.URL.createObjectURL(l),d=document.createElement("a");d.href=c,d.download="HireControl_Form_Submissions.csv",document.body.appendChild(d),d.click(),window.URL.revokeObjectURL(c),document.body.removeChild(d)}))}getFormSubmissionTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return k.get("/formsubmission/types",!0,t)}))}};const O=new e(n);var x=new class{getCompanies(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return O.get("/companies",!0,t)}))}getCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.get(`/companies/${t}`,!0,e)}))}createCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.post("/companies",t,!0,e)}))}updateCompany(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return O.put(`/companies/${t}`,e,!0,n)}))}deleteCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.delete(`/companies/${t}`,!0,e)}))}syncAllCompanies(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return O.get("/companies/syncall",!0,t)}))}};const M=new e(n);var j=new class{updateFieldVersionApproval(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return M.patch(`/joblistings/${t}/field-version-approval`,e,!0,n)}))}getJobListingsByCompany(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return M.get("/joblistings",!0,t)}))}getMapJobListingsByCompany(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){return e?M.get(`/joblistings/MapListings?filterId=${e}`,!0,t):M.get("/joblistings/MapListings",!0,t)}))}getJobListingById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.get(`/joblistings/${t}`,!0,e)}))}getMapListingById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.get(`/joblistings/MapListings/${t}`,!0,e)}))}createJobListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.post("/joblistings",t,!0,e)}))}updateJobListing(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return M.put(`/joblistings/${t}`,e,!0,n)}))}exportJobListingsCsv(){return t.__awaiter(this,arguments,void 0,(function*(t=10,e=1,n=null,r=null,i=null,o=null){const s=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});n&&s.append("status",n.toString()),r&&s.append("from",r.toISOString()),i&&s.append("to",i.toISOString());const a=yield M.getFile(`/joblistings/Export-csv?${s.toString()}`,!0,o),u=window.URL.createObjectURL(a),l=document.createElement("a");l.href=u,l.download="job_listings.csv",document.body.appendChild(l),l.click(),window.URL.revokeObjectURL(u),document.body.removeChild(l)}))}deleteJobListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.delete(`/joblistings/${t}`,!0,e)}))}};const U=new e(n);var N=new class{getBlogs(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return U.get("/blog",!0,t)}))}getBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.get(`/blog/${t}`,!0,e)}))}createBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.post("/blog",t,!0,e)}))}updateBlog(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return U.put(`/blog/${t}`,e,!0,n)}))}deleteBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.delete(`/blog/${t}`,!0,e)}))}};const P=new e(n);var D=new class{getCategories(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){const n=new URLSearchParams;null!=t&&n.append("type",String(t));const r=n.toString()?`?${n.toString()}`:"";return P.get(`/categories${r}`,!0,e)}))}getCategoriesByCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){const r=new URLSearchParams;null!=e&&r.append("type",String(e));const i=r.toString()?`?${r.toString()}`:"";return P.get(`/categories/${t}${i}`,!0,n)}))}};const V=new e(n);var W=new class{getAllCategoryLists(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return V.get("/categorylist",!0,t)}))}getCategoryListById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.get(`/categorylist/${t}`,!0,e)}))}getCategoryListsByType(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.get(`/categorylist/type/${t}`,!0,e)}))}getActiveCategoryLists(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return V.get("/categorylist/active",!0,t)}))}getCategoryListByTypeAndName(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.get(`/categorylist/type/${t}/name/${e}`,!0,n)}))}createCategoryList(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.post("/categorylist",t,!0,e)}))}updateCategoryList(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.put(`/categorylist/${t}`,e,!0,n)}))}deleteCategoryList(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.delete(`/categorylist/${t}`,!0,e)}))}addValue(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.post(`/categorylist/${t}/values`,e,!0,n)}))}removeValue(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.delete(`/categorylist/${t}/values/${e}`,!0,n)}))}updateValues(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.put(`/categorylist/${t}/values`,e,!0,n)}))}updateValue(e,n,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,n,r=null){return V.put(`/categorylist/${t}/values/${encodeURIComponent(e)}`,n,!0,r)}))}};const J=new e(n);var H=new class{getByFeed(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/feed/${t}`,!0,e)}))}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/${t}`,!0,e)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.post("/jobFeedFieldMappings",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return J.put(`/jobFeedFieldMappings/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.delete(`/jobFeedFieldMappings/${t}`,!0,e)}))}toggleActive(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.post("/jobFeedFieldMappings/toggle-active",t,!0,e)}))}discoverFields(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/discover-fields/${t}`,!0,e)}))}validate(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/validate/${t}`,!0,e)}))}};const G=new e(n);var z=new class{getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return G.get("/jobfeeds",!0,t)}))}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.get(`/jobfeeds/${t}`,!0,e)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.post("/jobfeeds",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return G.put(`/jobfeeds/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.delete(`/jobfeeds/${t}`,!0,e)}))}sync(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.post(`/jobfeeds/${t}/sync`,{},!0,e)}))}toggleActive(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return G.patch(`/jobfeeds/${t}/toggle-active`,e,!0,n)}))}};const K=new e(n);var X=new class{get(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return K.get("/jobListingSettings",!0,t)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return K.post("/jobListingSettings",t,!0,e)}))}delete(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return K.delete("/jobListingSettings",!0,t)}))}};const q=new e(n);var Y=new class{getAllSql(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){const r=new URLSearchParams;return e&&r.append("origin",e),q.post("/listingEntities"+(r.toString()?"?"+r.toString():""),t,!0,n)}))}getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return q.get("/listingEntities",!0,t)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return q.post("/listingEntities/create",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){yield q.put(`/listingEntities/update/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){yield q.delete(`/listingEntities/delete/${t}`,!0,e)}))}};const Z=new e(n);var Q=new class{get(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){const n=new URLSearchParams;t&&t.forEach((t=>n.append("recruiterIds",t.toString())));const r=n.toString()?`?${n.toString()}`:"";return Z.get(`/recruiters${r}`,!0,e)}))}getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return Z.get("/recruiters/all",!0,t)}))}sync(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return Z.post("/recruiters/sync",{},!0,t)}))}};const tt=new e(n);var et=new class{getFieldTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return tt.get("/field/types",!0,t)}))}};const nt=new e(n);var rt=new class{getValidatorTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return nt.get("/validator/types",!0,t)}))}};const it=t=>t?/^[a-z][a-zA-Z0-9]*$/.test(t)?t:t.replace(/[^a-zA-Z0-9]+/g," ").trim().toLowerCase().replace(/\s+(.)/g,((t,e)=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,((t,e)=>e.toLowerCase())):t,ot=t=>{if(Array.isArray(t))return t.map((t=>ot(t)));if(!(t=>null!==t&&"object"==typeof t&&Object.getPrototypeOf(t)===Object.prototype)(t))return t;const e={};for(const[n,r]of Object.entries(t))e[it(n)]=ot(r);return e},st=new e(n);var at=new class{getContentEntries(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){let r=`/contententry?contentId=${t}`;null!==e&&(r+=`&statusFilter=${e}`);const i=yield st.get(r,!0,n);return ot(i)}))}getContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){let r=`/contententry/${t}`;null!==e&&(r+=`?statusFilter=${e}`);const i=yield st.get(r,!0,n);return ot(i)}))}createContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield st.post("/contententry",t,!0,e);return ot(n)}))}updateContentEntry(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return st.put(`/contententry/${t}`,e,!0,n)}))}deleteContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return st.delete(`/contententry/${t}`,!0,e)}))}getVersions(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield st.get(`/contententry/${t}/versions`,!0,e);return ot(n)}))}unpublishAll(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return st.post(`/contententry/${t}/unpublish`,void 0,!0,e)}))}};const ut=new e(n);var lt=new class{getBlocks(){return t.__awaiter(this,arguments,void 0,(function*(t=null){const e=yield ut.get("/block",!0,t);return ot(e)}))}getBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield ut.get(`/block/${t}`,!0,e);return ot(n)}))}createBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield ut.post("/block",t,!0,e);return ot(n)}))}updateBlock(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ut.put(`/block/${t}`,e,!0,n)}))}updateBlockWithMigrations(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=[],r=null){const i=n.length>0?{block:e,fieldMigrations:n}:e;return ut.put(`/block/${t}`,i,!0,r)}))}previewBlockUpdate(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){const r=yield ut.post(`/block/${t}/preview-update`,e,!0,n);return ot(r)}))}deleteBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ut.delete(`/block/${t}`,!0,e)}))}getTemplateBlocks(){return t.__awaiter(this,arguments,void 0,(function*(t=null){const e=yield ut.get("/block/template-blocks",!0,t);return ot(e)}))}};const ct=new e(n);var dt=new class{getModels(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return ct.get("/model",!0,t)}))}getModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.get(`/model/${t}`,!0,e)}))}createModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.post("/model",t,!0,e)}))}updateModel(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ct.put(`/model/${t}`,e,!0,n)}))}deleteModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.delete(`/model/${t}`,!0,e)}))}previewSync(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.get(`/model/${t}/sync/preview`,!0,e)}))}executeSync(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ct.post(`/model/${t}/sync`,e,!0,n)}))}};const gt=new e(n);var pt,ht,_t,ft,vt=new class{getCompletion(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return gt.post("/openai/completion",t,!0,e)}))}};exports.EventType=void 0,(pt=exports.EventType||(exports.EventType={}))[pt.Virtual=0]="Virtual",pt[pt.InPerson=1]="InPerson",pt[pt.Hybrid=2]="Hybrid",exports.CallToActionType=void 0,(ht=exports.CallToActionType||(exports.CallToActionType={}))[ht.Button=0]="Button",ht[ht.Link=1]="Link",ht[ht.Download=2]="Download",ht[ht.HireControlRegistration=3]="HireControlRegistration",exports.FormSubmissionStatus=void 0,(_t=exports.FormSubmissionStatus||(exports.FormSubmissionStatus={}))[_t.Submitted=1]="Submitted",_t[_t.Hold=2]="Hold",_t[_t.Rejected=3]="Rejected",_t[_t.Sent=4]="Sent",exports.FeedHandlingOption=void 0,(ft=exports.FeedHandlingOption||(exports.FeedHandlingOption={}))[ft.Replace=0]="Replace",ft[ft.Append=1]="Append",ft[ft.Custom=2]="Custom";const wt={HERO:"hero",VIDEO_BLOCK:"videoBlock",CONTENT_CARD:"contentCard",ICON_CARD:"iconCard",LIST:"list",CONTAINER:"container",ACCORDION:"accordion",TESTIMONIAL:"testimonial",LARGE_TITLE_BLOCK:"largeTitleBlock",BUTTON:"button",RECRUITER:"recruiter",BLOBS:"blobs",TITLE_MODULAR_CONTENT_COPY:"titleModularContentCopy",INTRO_WITH_CONTENT_CARD:"introWithContentCard",CALLOUT_CARD:"calloutCard"},yt={"testimonial-block":wt.TESTIMONIAL,"button-block":wt.BUTTON,"recruiter-block":wt.RECRUITER},mt={login:o.login,nextLogin:o.nextLogin,refreshToken:o.refreshToken,changeCompany:o.changeCompany,register:o.register,isAuthenticated:o.isAuthenticated,getCompany:o.getCompany,getCompanies:o.getCompanies,getRoles:o.getRoles,getPermissions:o.getPermissions,logout:o.logout,getUser:o.getUser},Ct={getAll:a.getEvents,get:a.getEvent,getBySlug:a.getEventBySlug,create:a.createEvent,update:a.updateEvent,delete:a.deleteEvent},Lt={get:l.getAllRolesWithClaims,create:l.addRole,update:l.updateRole,delete:l.deleteRole},At=d,St=A,Tt={resetPassword:p.resetPassword,resetPasswordWithToken:p.resetPasswordWithToken,forgotPassword:p.forgotPassword},bt={get:_.getMapConfig,update:_.updateMapConfig,create:_.createMapConfig},Et={get:y.getClientAuthConfigById,getAll:y.getAllClientAuthConfigs,update:y.updateClientAuthConfig,create:y.createClientAuthConfig,delete:y.deleteClientAuthConfig},$t={getSearchRead:C.getSearchReadConfig},It={upload:T.uploadMedia,uploadProfileImage:T.uploadProfileImage,get:T.listMedia,delete:T.deleteMedia},Rt={getList:E.getFilters,get:E.getFilter,update:E.updateFilter,create:E.createFilter,delete:E.deleteFilter},Ft={get:I.getAppendListings,getAppendListing:I.getAppendListing,create:I.createAppendListing,update:I.updateAppendListing,delete:I.deleteAppendListing},kt={getAll:N.getBlogs,getById:N.getBlog,create:N.createBlog,update:N.updateBlog,delete:N.deleteBlog},Bt={get:D.getCategories,getByCompany:D.getCategoriesByCompany},Ot={getAll:W.getAllCategoryLists,getById:W.getCategoryListById,getByType:W.getCategoryListsByType,getActive:W.getActiveCategoryLists,getByTypeAndName:W.getCategoryListByTypeAndName,create:W.createCategoryList,update:W.updateCategoryList,delete:W.deleteCategoryList,addValue:W.addValue,removeValue:W.removeValue,updateValue:W.updateValue,updateValues:W.updateValues},xt={getByFeed:H.getByFeed,get:H.get,create:H.create,update:H.update,delete:H.delete,toggleActive:H.toggleActive,discoverFields:H.discoverFields,validate:H.validate},Mt={getAll:z.getAll,getById:z.get,create:z.create,update:z.update,delete:z.delete,sync:z.sync,toggleActive:z.toggleActive},jt={get:X.get,create:X.create,delete:X.delete},Ut={create:Y.create,get:Y.getAll,update:Y.update,delete:Y.delete,getAllSql:Y.getAllSql},Nt={get:Q.get,getAll:Q.getAll,sync:Q.sync},Pt={get:v.getAllPermissions},Dt={getAll:x.getCompanies,getById:x.getCompany,create:x.createCompany,update:x.updateCompany,delete:x.deleteCompany,sync:x.syncAllCompanies},Vt={getAll:j.getJobListingsByCompany,getMapListings:j.getMapJobListingsByCompany,getMapListing:j.getMapListingById,getById:j.getJobListingById,updateFieldVersionApproval:j.updateFieldVersionApproval,create:j.createJobListing,update:j.updateJobListing,delete:j.deleteJobListing},Wt={getTypes:et.getFieldTypes},Jt={getTypes:rt.getValidatorTypes},Ht={getAll:at.getContentEntries,getById:at.getContentEntry,create:at.createContentEntry,update:at.updateContentEntry,delete:at.deleteContentEntry,unpublish:at.unpublishAll},Gt={getAll:lt.getBlocks,getById:lt.getBlock,create:lt.createBlock,update:lt.updateBlock,updateWithMigrations:lt.updateBlockWithMigrations,previewUpdate:lt.previewBlockUpdate,delete:lt.deleteBlock,getTemplateBlocks:lt.getTemplateBlocks},zt={getAll:dt.getModels,getById:dt.getModel,create:dt.createModel,update:dt.updateModel,delete:dt.deleteModel,previewSync:dt.previewSync,executeSync:dt.executeSync},Kt={getCompletion:vt.getCompletion},Xt=F,qt=B,Yt={auth:mt,events:Ct,roles:Lt,users:At,account:Tt,mapConfig:bt,permissions:Pt,clientAuthConfig:Et,integrationConfig:$t,filters:Rt,listings:St,media:It,appendListings:Ft,blogs:kt,categories:Bt,categoryLists:Ot,jobFeedFieldMappings:xt,jobFeeds:Mt,jobListingSettings:jt,listingEntities:Ut,recruiters:Nt,forms:Xt,formSubmissions:qt,openAI:Kt,companies:Dt,jobListings:Vt};exports.BLOCK_KEYS=wt,exports.BLOCK_KEY_ALIASES=yt,exports.FIELD_TYPES={SINGLE_LINE_STRING:"SingleLineString",MULTI_LINE_TEXT:"MultiLineText",MULTIPLE_PARAGRAPH_TEXT:"MultipleParagraphText",SLUG:"Slug",STRUCTURED_TEXT:"StructuredText",RICH_TEXT:"RichText",INTEGER_NUMBER:"IntegerNumber",FLOATING_POINT_NUMBER:"FloatingPointNumber",BOOLEAN:"Boolean",DATE:"Date",DATE_TIME:"DateTime",SINGLE_MEDIA:"SingleMedia",MEDIA_GALLERY:"MediaGallery",EXTERNAL_VIDEO:"ExternalVideo",COLOR:"Color",TAILWIND_COLOR_SELECTOR:"TailwindColorSelector",SINGLE_LINK:"SingleLink",MULTIPLE_LINKS:"MultipleLinks",LOCATION:"Location",JSON:"Json",SEO:"Seo",MODULAR_CONTENT:"ModularContent",SINGLE_BLOCK:"SingleBlock",JOB_FILTER:"JobFilter",FORM:"Form",SINGLE_CONTENT_REFERENCE:"SingleContentReference",MULTIPLE_CONTENT_REFERENCE:"MultipleContentReference",HIRE_CONTROL_MAP:"HireControlMap",RECRUITER_SELECTOR:"RecruiterSelector",TAGS:"Tags",VARIANT_SELECTOR:"VariantSelector"},exports.account=Tt,exports.appendListings=Ft,exports.auth=mt,exports.blogs=kt,exports.categories=Bt,exports.categoryLists=Ot,exports.clientAuthConfig=Et,exports.companies=Dt,exports.contentBlocks=Gt,exports.contentEntries=Ht,exports.contentField=Wt,exports.contentValidator=Jt,exports.default=Yt,exports.events=Ct,exports.filters=Rt,exports.formSubmissions=qt,exports.forms=Xt,exports.integrationConfig=$t,exports.jobFeedFieldMappings=xt,exports.jobFeeds=Mt,exports.jobListingSettings=jt,exports.jobListings=Vt,exports.listingEntities=Ut,exports.listings=St,exports.mapConfig=bt,exports.media=It,exports.model=zt,exports.openAI=Kt,exports.permissions=Pt,exports.recruiters=Nt,exports.roles=Lt,exports.users=At;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib");class e{constructor(t){this.apiUrl=t,this.isLocalhost=!1}getAuthToken(){return this.isLocalhost?sessionStorage.getItem("token"):null}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"GET",credentials:n?"omit":"include"};return e?this.fetchWithAuth(t,r,n):this.fetchWithoutAuth(t,r)}))}post(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"POST",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}put(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"PUT",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}patch(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=!1,r=null,i=!1){this.isLocalhost&&n&&!r&&(r=this.getAuthToken());const o=i,s={method:"PATCH",credentials:r?"omit":"include",headers:Object.assign(Object.assign({},r?{Authorization:`Bearer ${r}`}:{}),o?{}:{"Content-Type":"application/json"}),body:o?this.convertToFormData(e):JSON.stringify(e)};return n?this.fetchWithAuth(t,s,r):this.fetchWithoutAuth(t,s)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"DELETE",credentials:n?"omit":"include"};return e?this.fetchWithAuth(t,r,n):this.fetchWithoutAuth(t,r)}))}getFile(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,n=null){this.isLocalhost&&e&&!n&&(n=this.getAuthToken());const r={method:"GET",credentials:n?"omit":"include",headers:e&&n?{Authorization:`Bearer ${n}`}:{}},i=yield fetch(`${this.apiUrl}${t}`,r);if(!i.ok)throw new Error(`Failed to fetch file: ${i.statusText}`);return i.blob()}))}convertToFormData(t,e=new FormData,n=""){return t instanceof File?e.append(n||"file",t):"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.append(n,t.toString()):Array.isArray(t)?t.forEach(((t,r)=>{this.convertToFormData(t,e,`${n}[${r}]`)})):"object"==typeof t&&null!==t&&Object.keys(t).forEach((r=>{const i=t[r],o=n?`${n}.${r}`:r;this.convertToFormData(i,e,o)})),e}fetchWithoutAuth(e,n){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield fetch(`${this.apiUrl}${e}`,n);return this.handleResponse(t)}))}fetchWithAuth(e,n,r){return t.__awaiter(this,void 0,void 0,(function*(){r?(n.headers=Object.assign(Object.assign({},n.headers),{Authorization:`Bearer ${r}`}),n.credentials="omit"):n.credentials="include";let t=yield fetch(`${this.apiUrl}${e}`,n);if(401===t.status){if(!(yield this.refreshToken()))throw{statusCode:t.status};this.isLocalhost&&(r=this.getAuthToken())&&(n.headers=Object.assign(Object.assign({},n.headers),{Authorization:`Bearer ${r}`})),t=yield fetch(`${this.apiUrl}${e}`,n)}return this.handleResponse(t)}))}handleResponse(e){return t.__awaiter(this,void 0,void 0,(function*(){if(!e.ok||!e.status.toString().startsWith("2")){let t=`Error: ${e.status} ${e.statusText}`;try{const n=yield e.text();if(n)try{const e=JSON.parse(n);console.log(e),e&&"string"==typeof e.message&&e.message.trim()?t=e.message:e&&"string"==typeof e.error&&e.error.trim()?t=e.error:e&&"string"==typeof e.title&&e.title.trim()&&(t=e.title)}catch(e){const r=n.trim();r&&!r.startsWith("<")&&(t=r)}}catch(t){console.error("Failed to parse error response:",t)}throw{statusCode:e.status,errorMessage:t}}if(204===e.status||205===e.status)return null;const t=yield e.text();if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){if(!this.isLocalhost){return!!(yield fetch(`${this.apiUrl}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"})).ok||(console.error("Failed to refresh token"),!1)}{const t=sessionStorage.getItem("refreshToken");if(!t)return!1;const e=yield fetch(`${this.apiUrl}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:t})});if(!e.ok)return console.error("Failed to refresh token"),!1;try{const t=yield e.json();return t.token&&sessionStorage.setItem("token",t.token),t.refreshToken&&sessionStorage.setItem("refreshToken",t.refreshToken),!0}catch(t){return console.error("Failed to parse refresh token response:",t),!1}}}))}}const n=process.env.NEXT_PUBLIC_API_URL||process.env.VITE_API_URL||process.env.REACT_APP_API_URL||"https://api.myhirecontrol.com",r=new e(n),i="undefined"!=typeof window&&"localhost"===window.location.hostname;var o=new class{login(e){return t.__awaiter(this,void 0,void 0,(function*(){return r.post("/auth/login",e,!1)}))}nextLogin(e){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/nextLogin"+(i?"?localhost=true":""),n=yield r.post(t,e,!1);return n&&(sessionStorage.setItem("token",n.token),sessionStorage.setItem("refreshToken",n.refreshToken),sessionStorage.setItem("expiration",n.expiration)),n}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/refresh"+(i?"?localhost=true":""),e=yield r.post(t,{},!0);return e&&i&&(sessionStorage.setItem("token",e.token),sessionStorage.setItem("refreshToken",e.refreshToken),sessionStorage.setItem("expiration",e.expiration)),e}))}changeCompany(e){return t.__awaiter(this,void 0,void 0,(function*(){const t="/auth/changeCompany"+(i?"?localhost=true":"");var n=yield r.post(t,e,!0);return n&&(sessionStorage.setItem("token",n.token),sessionStorage.setItem("refreshToken",n.refreshToken),sessionStorage.setItem("expiration",n.expiration)),n}))}register(e){return t.__awaiter(this,void 0,void 0,(function*(){return r.post("/auth/register",e,!1)}))}getCompanies(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/companies",!0)}))}getCompany(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/company",!0)}))}getRoles(){return t.__awaiter(this,void 0,void 0,(function*(){return r.get("/auth/roles",!0)}))}isAuthenticated(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield r.get("/auth/authenticated",!0);return t||(yield this.tryRefreshAndCheckAuth())}catch(t){return yield this.tryRefreshAndCheckAuth()}}))}tryRefreshAndCheckAuth(){return t.__awaiter(this,void 0,void 0,(function*(){try{yield this.refreshToken();return yield r.get("/auth/authenticated",!0)}catch(t){return!1}}))}getUser(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield r.get("/auth/user",!0,t)}catch(t){throw t}}))}logout(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield r.post("/auth/logout",{},!0);return sessionStorage.removeItem("token"),sessionStorage.removeItem("refreshToken"),sessionStorage.removeItem("expiration"),t}catch(t){throw t}}))}getPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield r.get("/auth/permissions",!0,t)}catch(t){throw t}}))}};const s=new e(n);var a=new class{getEvents(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return s.get("/events",!0,t)}))}getEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/events/${t}`,!0,e)}))}getEventBySlug(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/events/details/${t}`,!0,e)}))}getListingEvents(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.get(`/listingEvents/${t}`,!0,e)}))}createEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.post("/events",t,!0,e)}))}updateEvent(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return s.put(`/events/${t}`,e,!0,n)}))}deleteEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return s.delete(`/events/${t}`,!0,e)}))}};const u=new e(n);var l=new class{getAllRolesWithClaims(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return u.get("/roles",!0,t)}))}addRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return u.post("/roles",t,!0,e)}))}updateRole(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return u.put(`/roles/${t}`,e,!0,n)}))}deleteRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return u.delete(`/roles/${t}`,!0,e)}))}};const c=new e(n);var d=new class{getAllUsers(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield c.get("/users",!0,t)}catch(t){throw t}}))}getUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield c.get(`/users/${t}`,!0,e)}catch(t){throw t}}))}createUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield c.post("/users",t,!0,e)}catch(t){throw t}}))}updateUser(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){try{yield c.put(`/users/${t}`,e,!0,n)}catch(t){throw t}}))}updateLoggedInUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield c.put("/users",t,!0,e)}catch(t){throw t}}))}deleteUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield c.delete(`/users/${t}`,!0,e)}catch(t){throw t}}))}};const g=new e(n);var p=new class{forgotPassword(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield g.post("/account/forgotPassword",e,!1)}catch(t){throw t}}))}resetPasswordWithToken(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield g.post("/account/resetPasswordWithToken",e,!1)}catch(t){throw t}}))}resetPassword(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield g.post("/account/resetPassword",t,!0,e)}catch(t){throw t}}))}};const h=new e(n);var _=new class{getMapConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield h.get("/mapconfig",!0,t)}catch(t){throw t}}))}updateMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return h.put("/mapconfig",t,!0,e)}))}createMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return h.post("/mapconfig",t,!0,e)}))}};const f=new e(n);var v=new class{getAllPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return f.get("/permissions",!0,t)}))}};const w=new e(n);var y=new class{getClientAuthConfigById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield w.get(`/clientAuthConfig/${t}`,!0,e)}catch(t){throw t}}))}getAllClientAuthConfigs(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield w.get("/clientAuthConfig",!0,t)}catch(t){throw t}}))}createClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.post("/clientAuthConfig",t,!0,e)}))}updateClientAuthConfig(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return w.put(`/clientAuthConfig/${t}`,e,!0,n)}))}deleteClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.delete(`/clientAuthConfig/${t}`,!0,e)}))}};const m=new e(n);var C=new class{getSearchReadConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield m.get("/integrationconfig/search-read",!0,t)}catch(t){if(404===(null==t?void 0:t.statusCode)||204===(null==t?void 0:t.statusCode))return null;throw t}}))}};const A=new e(n);var L=new class{getListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){try{const n=e?`?filterId=${encodeURIComponent(e)}`:"";return yield A.get(`/listings${n}`,!0,t)}catch(t){throw t}}))}getListingDetails(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield A.get(`/listings/${t}`,!0,e)}catch(t){throw t}}))}};const S=new e(n);var T=new class{uploadMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return S.post("/media/upload",t,!0,e,!0)}))}uploadProfileImage(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return S.post("/media/upload-profile-image",t,!0,e,!0)}))}listMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=new URLSearchParams({folderKey:t});return S.get(`/media/list?${n.toString()}`,!0,e)}))}deleteMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=new URLSearchParams({key:t});return S.delete(`/media/delete?${n.toString()}`,!0,e)}))}};const b=new e(n);var E=new class{getFilters(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return b.get("/filters",!0,t)}))}getFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.get(`/filters/${t}`,!0,e)}))}createFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.post("/filters",t,!0,e)}))}updateFilter(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return b.put(`/filters/${t}`,e,!0,n)}))}deleteFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return b.delete(`/filters/${t}`,!0,e)}))}};const $=new e(n);var I=new class{getAppendListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return $.get("/appendListings",!0,t)}))}getAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.get(`/appendListings/${t}`,!0,e)}))}createAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.post("/appendListings",t,!0,e)}))}updateAppendListing(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return $.put(`/appendListings/${t}`,e,!0,n)}))}deleteAppendListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.delete(`/appendListings/${t}`,!0,e)}))}};const R=new e(n);var F=new class{getForms(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return R.get("/forms",!0,t)}))}getForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}`,!0,e)}))}createForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.post("/forms",t,!0,e)}))}updateForm(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return R.put(`/forms/${t}`,e,!0,n)}))}updateFormWithFieldRenames(e,n,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,n,r=null){return R.put(`/forms/${t}`,Object.assign(Object.assign({},e),n),!0,r)}))}getFormSubmissionCount(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}/submission-count`,!0,e)}))}getFormSubmissionFieldUsage(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.get(`/forms/${t}/submission-fields`,!0,e)}))}migrateSubmissionFields(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return R.post(`/forms/${t}/migrate-submission-fields`,e,!0,n)}))}deleteForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.delete(`/forms/${t}`,!0,e)}))}processFormRequest(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return R.post("/forms/jsonSchema",t,!0,e)}))}};const k=new e(n);var B=new class{submitContactForm(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return k.post("/contactForm",t,!0,e,!0)}))}submitFormSubmission(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return k.post("/formsubmission",t,!0,e)}))}getFormSubmissions(){return t.__awaiter(this,arguments,void 0,(function*(t=20,e=1,n=null,r=null,i=null,o=null,s=null){const a=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});return r&&a.append("status",r.toString()),n&&a.append("type",n),i&&a.append("from",i.toISOString()),o&&a.append("to",o.toISOString()),k.get(`/formsubmission?${a.toString()}`,!0,s)}))}exportFormSubmissionsCsv(){return t.__awaiter(this,arguments,void 0,(function*(t=20,e=1,n=null,r=null,i=null,o=null,s=null,a=null){const u=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});r&&u.append("status",r.toString()),n&&u.append("type",n),i&&u.append("from",i.toISOString()),o&&u.append("to",o.toISOString()),s&&s.length>0&&s.forEach((t=>u.append("columns",t)));const l=yield k.getFile(`/formsubmission/export-csv?${u.toString()}`,!0,a),c=window.URL.createObjectURL(l),d=document.createElement("a");d.href=c,d.download="HireControl_Form_Submissions.csv",document.body.appendChild(d),d.click(),window.URL.revokeObjectURL(c),document.body.removeChild(d)}))}getFormSubmissionTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return k.get("/formsubmission/types",!0,t)}))}};const O=new e(n);var x=new class{getCompanies(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return O.get("/companies",!0,t)}))}getCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.get(`/companies/${t}`,!0,e)}))}createCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.post("/companies",t,!0,e)}))}updateCompany(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return O.put(`/companies/${t}`,e,!0,n)}))}deleteCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return O.delete(`/companies/${t}`,!0,e)}))}syncAllCompanies(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return O.get("/companies/syncall",!0,t)}))}};const M=new e(n);var j=new class{updateFieldVersionApproval(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return M.patch(`/joblistings/${t}/field-version-approval`,e,!0,n)}))}updateDescriptionVersionApproval(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return M.patch(`/joblistings/${t}/description-version-approval`,e,!0,n)}))}getJobListingsByCompany(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return M.get("/joblistings",!0,t)}))}getMapJobListingsByCompany(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){return e?M.get(`/joblistings/MapListings?filterId=${e}`,!0,t):M.get("/joblistings/MapListings",!0,t)}))}getJobListingById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.get(`/joblistings/${t}`,!0,e)}))}getMapListingById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.get(`/joblistings/MapListings/${t}`,!0,e)}))}createJobListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.post("/joblistings",t,!0,e)}))}updateJobListing(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return M.put(`/joblistings/${t}`,e,!0,n)}))}exportJobListingsCsv(){return t.__awaiter(this,arguments,void 0,(function*(t=10,e=1,n=null,r=null,i=null,o=null){const s=new URLSearchParams({pageSize:t.toString(),pageNumber:e.toString()});n&&s.append("status",n.toString()),r&&s.append("from",r.toISOString()),i&&s.append("to",i.toISOString());const a=yield M.getFile(`/joblistings/Export-csv?${s.toString()}`,!0,o),u=window.URL.createObjectURL(a),l=document.createElement("a");l.href=u,l.download="job_listings.csv",document.body.appendChild(l),l.click(),window.URL.revokeObjectURL(u),document.body.removeChild(l)}))}deleteJobListing(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return M.delete(`/joblistings/${t}`,!0,e)}))}};const U=new e(n);var N=new class{getBlogs(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return U.get("/blog",!0,t)}))}getBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.get(`/blog/${t}`,!0,e)}))}createBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.post("/blog",t,!0,e)}))}updateBlog(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return U.put(`/blog/${t}`,e,!0,n)}))}deleteBlog(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return U.delete(`/blog/${t}`,!0,e)}))}};const P=new e(n);var D=new class{getCategories(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){const n=new URLSearchParams;null!=t&&n.append("type",String(t));const r=n.toString()?`?${n.toString()}`:"";return P.get(`/categories${r}`,!0,e)}))}getCategoriesByCompany(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){const r=new URLSearchParams;null!=e&&r.append("type",String(e));const i=r.toString()?`?${r.toString()}`:"";return P.get(`/categories/${t}${i}`,!0,n)}))}};const V=new e(n);var W=new class{getAllCategoryLists(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return V.get("/categorylist",!0,t)}))}getCategoryListById(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.get(`/categorylist/${t}`,!0,e)}))}getCategoryListsByType(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.get(`/categorylist/type/${t}`,!0,e)}))}getActiveCategoryLists(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return V.get("/categorylist/active",!0,t)}))}getCategoryListByTypeAndName(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.get(`/categorylist/type/${t}/name/${e}`,!0,n)}))}createCategoryList(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.post("/categorylist",t,!0,e)}))}updateCategoryList(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.put(`/categorylist/${t}`,e,!0,n)}))}deleteCategoryList(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return V.delete(`/categorylist/${t}`,!0,e)}))}addValue(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.post(`/categorylist/${t}/values`,e,!0,n)}))}removeValue(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.delete(`/categorylist/${t}/values/${e}`,!0,n)}))}updateValues(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return V.put(`/categorylist/${t}/values`,e,!0,n)}))}updateValue(e,n,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,n,r=null){return V.put(`/categorylist/${t}/values/${encodeURIComponent(e)}`,n,!0,r)}))}};const J=new e(n);var H=new class{getByFeed(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/feed/${t}`,!0,e)}))}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/${t}`,!0,e)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.post("/jobFeedFieldMappings",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return J.put(`/jobFeedFieldMappings/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.delete(`/jobFeedFieldMappings/${t}`,!0,e)}))}toggleActive(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.post("/jobFeedFieldMappings/toggle-active",t,!0,e)}))}discoverFields(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/discover-fields/${t}`,!0,e)}))}validate(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return J.get(`/jobFeedFieldMappings/validate/${t}`,!0,e)}))}};const G=new e(n);var z=new class{getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return G.get("/jobfeeds",!0,t)}))}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.get(`/jobfeeds/${t}`,!0,e)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.post("/jobfeeds",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return G.put(`/jobfeeds/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.delete(`/jobfeeds/${t}`,!0,e)}))}sync(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return G.post(`/jobfeeds/${t}/sync`,{},!0,e)}))}toggleActive(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return G.patch(`/jobfeeds/${t}/toggle-active`,e,!0,n)}))}};const K=new e(n);var X=new class{get(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return K.get("/jobListingSettings",!0,t)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return K.post("/jobListingSettings",t,!0,e)}))}delete(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return K.delete("/jobListingSettings",!0,t)}))}};const q=new e(n);var Y=new class{getAllSql(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){const r=new URLSearchParams;return e&&r.append("origin",e),q.post("/listingEntities"+(r.toString()?"?"+r.toString():""),t,!0,n)}))}getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return q.get("/listingEntities",!0,t)}))}create(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return q.post("/listingEntities/create",t,!0,e)}))}update(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){yield q.put(`/listingEntities/update/${t}`,e,!0,n)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){yield q.delete(`/listingEntities/delete/${t}`,!0,e)}))}};const Z=new e(n);var Q=new class{get(){return t.__awaiter(this,arguments,void 0,(function*(t=null,e=null){const n=new URLSearchParams;t&&t.forEach((t=>n.append("recruiterIds",t.toString())));const r=n.toString()?`?${n.toString()}`:"";return Z.get(`/recruiters${r}`,!0,e)}))}getAll(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return Z.get("/recruiters/all",!0,t)}))}sync(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return Z.post("/recruiters/sync",{},!0,t)}))}};const tt=new e(n);var et=new class{getFieldTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return tt.get("/field/types",!0,t)}))}};const nt=new e(n);var rt=new class{getValidatorTypes(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return nt.get("/validator/types",!0,t)}))}};const it=t=>t?/^[a-z][a-zA-Z0-9]*$/.test(t)?t:t.replace(/[^a-zA-Z0-9]+/g," ").trim().toLowerCase().replace(/\s+(.)/g,((t,e)=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,((t,e)=>e.toLowerCase())):t,ot=t=>{if(Array.isArray(t))return t.map((t=>ot(t)));if(!(t=>null!==t&&"object"==typeof t&&Object.getPrototypeOf(t)===Object.prototype)(t))return t;const e={};for(const[n,r]of Object.entries(t))e[it(n)]=ot(r);return e},st=new e(n);var at=new class{getContentEntries(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){let r=`/contententry?contentId=${t}`;null!==e&&(r+=`&statusFilter=${e}`);const i=yield st.get(r,!0,n);return ot(i)}))}getContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null,n=null){let r=`/contententry/${t}`;null!==e&&(r+=`?statusFilter=${e}`);const i=yield st.get(r,!0,n);return ot(i)}))}getContentEntryBySlug(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null,r=null){let i=`/contententry/by-slug?contentId=${encodeURIComponent(t)}&slug=${encodeURIComponent(e)}`;null!==n&&(i+=`&statusFilter=${n}`);const o=yield st.get(i,!0,r);return ot(o)}))}createContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield st.post("/contententry",t,!0,e);return ot(n)}))}updateContentEntry(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return st.put(`/contententry/${t}`,e,!0,n)}))}deleteContentEntry(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return st.delete(`/contententry/${t}`,!0,e)}))}getVersions(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield st.get(`/contententry/${t}/versions`,!0,e);return ot(n)}))}unpublishAll(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return st.post(`/contententry/${t}/unpublish`,void 0,!0,e)}))}};const ut=new e(n);var lt=new class{getBlocks(){return t.__awaiter(this,arguments,void 0,(function*(t=null){const e=yield ut.get("/block",!0,t);return ot(e)}))}getBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield ut.get(`/block/${t}`,!0,e);return ot(n)}))}createBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const n=yield ut.post("/block",t,!0,e);return ot(n)}))}updateBlock(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ut.put(`/block/${t}`,e,!0,n)}))}updateBlockWithMigrations(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=[],r=null){const i=n.length>0?{block:e,fieldMigrations:n}:e;return ut.put(`/block/${t}`,i,!0,r)}))}previewBlockUpdate(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){const r=yield ut.post(`/block/${t}/preview-update`,e,!0,n);return ot(r)}))}deleteBlock(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ut.delete(`/block/${t}`,!0,e)}))}getTemplateBlocks(){return t.__awaiter(this,arguments,void 0,(function*(t=null){const e=yield ut.get("/block/template-blocks",!0,t);return ot(e)}))}};const ct=new e(n);var dt=new class{getModels(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return ct.get("/model",!0,t)}))}getModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.get(`/model/${t}`,!0,e)}))}createModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.post("/model",t,!0,e)}))}updateModel(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ct.put(`/model/${t}`,e,!0,n)}))}deleteModel(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.delete(`/model/${t}`,!0,e)}))}previewSync(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return ct.get(`/model/${t}/sync/preview`,!0,e)}))}executeSync(e,n){return t.__awaiter(this,arguments,void 0,(function*(t,e,n=null){return ct.post(`/model/${t}/sync`,e,!0,n)}))}};const gt=new e(n);var pt,ht,_t,ft,vt=new class{getCompletion(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return gt.post("/openai/completion",t,!0,e)}))}};exports.EventType=void 0,(pt=exports.EventType||(exports.EventType={}))[pt.Virtual=0]="Virtual",pt[pt.InPerson=1]="InPerson",pt[pt.Hybrid=2]="Hybrid",exports.CallToActionType=void 0,(ht=exports.CallToActionType||(exports.CallToActionType={}))[ht.Button=0]="Button",ht[ht.Link=1]="Link",ht[ht.Download=2]="Download",ht[ht.HireControlRegistration=3]="HireControlRegistration",exports.FormSubmissionStatus=void 0,(_t=exports.FormSubmissionStatus||(exports.FormSubmissionStatus={}))[_t.Submitted=1]="Submitted",_t[_t.Hold=2]="Hold",_t[_t.Rejected=3]="Rejected",_t[_t.Sent=4]="Sent",exports.FeedHandlingOption=void 0,(ft=exports.FeedHandlingOption||(exports.FeedHandlingOption={}))[ft.Replace=0]="Replace",ft[ft.Append=1]="Append",ft[ft.Custom=2]="Custom";const wt={HERO:"hero",VIDEO_BLOCK:"videoBlock",CONTENT_CARD:"contentCard",ICON_CARD:"iconCard",LIST:"list",CONTAINER:"container",ACCORDION:"accordion",TESTIMONIAL:"testimonial",LARGE_TITLE_BLOCK:"largeTitleBlock",BUTTON:"button",RECRUITER:"recruiter",BLOBS:"blobs",TITLE_MODULAR_CONTENT_COPY:"titleModularContentCopy",INTRO_WITH_CONTENT_CARD:"introWithContentCard",CALLOUT_CARD:"calloutCard"},yt={"testimonial-block":wt.TESTIMONIAL,"button-block":wt.BUTTON,"recruiter-block":wt.RECRUITER},mt={login:o.login,nextLogin:o.nextLogin,refreshToken:o.refreshToken,changeCompany:o.changeCompany,register:o.register,isAuthenticated:o.isAuthenticated,getCompany:o.getCompany,getCompanies:o.getCompanies,getRoles:o.getRoles,getPermissions:o.getPermissions,logout:o.logout,getUser:o.getUser},Ct={getAll:a.getEvents,get:a.getEvent,getBySlug:a.getEventBySlug,create:a.createEvent,update:a.updateEvent,delete:a.deleteEvent},At={get:l.getAllRolesWithClaims,create:l.addRole,update:l.updateRole,delete:l.deleteRole},Lt=d,St=L,Tt={resetPassword:p.resetPassword,resetPasswordWithToken:p.resetPasswordWithToken,forgotPassword:p.forgotPassword},bt={get:_.getMapConfig,update:_.updateMapConfig,create:_.createMapConfig},Et={get:y.getClientAuthConfigById,getAll:y.getAllClientAuthConfigs,update:y.updateClientAuthConfig,create:y.createClientAuthConfig,delete:y.deleteClientAuthConfig},$t={getSearchRead:C.getSearchReadConfig},It={upload:T.uploadMedia,uploadProfileImage:T.uploadProfileImage,get:T.listMedia,delete:T.deleteMedia},Rt={getList:E.getFilters,get:E.getFilter,update:E.updateFilter,create:E.createFilter,delete:E.deleteFilter},Ft={get:I.getAppendListings,getAppendListing:I.getAppendListing,create:I.createAppendListing,update:I.updateAppendListing,delete:I.deleteAppendListing},kt={getAll:N.getBlogs,getById:N.getBlog,create:N.createBlog,update:N.updateBlog,delete:N.deleteBlog},Bt={get:D.getCategories,getByCompany:D.getCategoriesByCompany},Ot={getAll:W.getAllCategoryLists,getById:W.getCategoryListById,getByType:W.getCategoryListsByType,getActive:W.getActiveCategoryLists,getByTypeAndName:W.getCategoryListByTypeAndName,create:W.createCategoryList,update:W.updateCategoryList,delete:W.deleteCategoryList,addValue:W.addValue,removeValue:W.removeValue,updateValue:W.updateValue,updateValues:W.updateValues},xt={getByFeed:H.getByFeed,get:H.get,create:H.create,update:H.update,delete:H.delete,toggleActive:H.toggleActive,discoverFields:H.discoverFields,validate:H.validate},Mt={getAll:z.getAll,getById:z.get,create:z.create,update:z.update,delete:z.delete,sync:z.sync,toggleActive:z.toggleActive},jt={get:X.get,create:X.create,delete:X.delete},Ut={create:Y.create,get:Y.getAll,update:Y.update,delete:Y.delete,getAllSql:Y.getAllSql},Nt={get:Q.get,getAll:Q.getAll,sync:Q.sync},Pt={get:v.getAllPermissions},Dt={getAll:x.getCompanies,getById:x.getCompany,create:x.createCompany,update:x.updateCompany,delete:x.deleteCompany,sync:x.syncAllCompanies},Vt={getAll:j.getJobListingsByCompany,getMapListings:j.getMapJobListingsByCompany,getMapListing:j.getMapListingById,getById:j.getJobListingById,updateFieldVersionApproval:j.updateFieldVersionApproval,updateDescriptionVersionApproval:j.updateDescriptionVersionApproval,create:j.createJobListing,update:j.updateJobListing,delete:j.deleteJobListing},Wt={getTypes:et.getFieldTypes},Jt={getTypes:rt.getValidatorTypes},Ht={getAll:at.getContentEntries,getById:at.getContentEntry,getBySlug:at.getContentEntryBySlug,create:at.createContentEntry,update:at.updateContentEntry,delete:at.deleteContentEntry,unpublish:at.unpublishAll},Gt={getAll:lt.getBlocks,getById:lt.getBlock,create:lt.createBlock,update:lt.updateBlock,updateWithMigrations:lt.updateBlockWithMigrations,previewUpdate:lt.previewBlockUpdate,delete:lt.deleteBlock,getTemplateBlocks:lt.getTemplateBlocks},zt={getAll:dt.getModels,getById:dt.getModel,create:dt.createModel,update:dt.updateModel,delete:dt.deleteModel,previewSync:dt.previewSync,executeSync:dt.executeSync},Kt={getCompletion:vt.getCompletion},Xt=F,qt=B,Yt={auth:mt,events:Ct,roles:At,users:Lt,account:Tt,mapConfig:bt,permissions:Pt,clientAuthConfig:Et,integrationConfig:$t,filters:Rt,listings:St,media:It,appendListings:Ft,blogs:kt,categories:Bt,categoryLists:Ot,jobFeedFieldMappings:xt,jobFeeds:Mt,jobListingSettings:jt,listingEntities:Ut,recruiters:Nt,forms:Xt,formSubmissions:qt,openAI:Kt,companies:Dt,jobListings:Vt};exports.BLOCK_KEYS=wt,exports.BLOCK_KEY_ALIASES=yt,exports.FIELD_TYPES={SINGLE_LINE_STRING:"SingleLineString",MULTI_LINE_TEXT:"MultiLineText",MULTIPLE_PARAGRAPH_TEXT:"MultipleParagraphText",SLUG:"Slug",STRUCTURED_TEXT:"StructuredText",RICH_TEXT:"RichText",INTEGER_NUMBER:"IntegerNumber",FLOATING_POINT_NUMBER:"FloatingPointNumber",BOOLEAN:"Boolean",DATE:"Date",DATE_TIME:"DateTime",SINGLE_MEDIA:"SingleMedia",MEDIA_GALLERY:"MediaGallery",EXTERNAL_VIDEO:"ExternalVideo",COLOR:"Color",TAILWIND_COLOR_SELECTOR:"TailwindColorSelector",SINGLE_LINK:"SingleLink",MULTIPLE_LINKS:"MultipleLinks",LOCATION:"Location",JSON:"Json",SEO:"Seo",MODULAR_CONTENT:"ModularContent",SINGLE_BLOCK:"SingleBlock",JOB_FILTER:"JobFilter",FORM:"Form",SINGLE_CONTENT_REFERENCE:"SingleContentReference",MULTIPLE_CONTENT_REFERENCE:"MultipleContentReference",HIRE_CONTROL_MAP:"HireControlMap",RECRUITER_SELECTOR:"RecruiterSelector",TAGS:"Tags",VARIANT_SELECTOR:"VariantSelector"},exports.account=Tt,exports.appendListings=Ft,exports.auth=mt,exports.blogs=kt,exports.categories=Bt,exports.categoryLists=Ot,exports.clientAuthConfig=Et,exports.companies=Dt,exports.contentBlocks=Gt,exports.contentEntries=Ht,exports.contentField=Wt,exports.contentValidator=Jt,exports.default=Yt,exports.events=Ct,exports.filters=Rt,exports.formSubmissions=qt,exports.forms=Xt,exports.integrationConfig=$t,exports.jobFeedFieldMappings=xt,exports.jobFeeds=Mt,exports.jobListingSettings=jt,exports.jobListings=Vt,exports.listingEntities=Ut,exports.listings=St,exports.mapConfig=bt,exports.media=It,exports.model=zt,exports.openAI=Kt,exports.permissions=Pt,exports.recruiters=Nt,exports.roles=At,exports.users=Lt;
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.d.ts CHANGED
@@ -29,6 +29,7 @@ import JobListingSettings, { FeedHandlingOption } from "./types/jobListingSettin
29
29
  import ListingEntityDto from "./types/listingEntity";
30
30
  import RecruiterDto from "./types/recruiter";
31
31
  import FocalPoint from "./types/focalPoint";
32
+ import ListingEntityMedia from "./types/listingEntityMedia";
32
33
  import CompletionRequest, { CompletionResponse } from "./types/completionRequest";
33
34
  import SearchReadConfig from "./types/searchReadConfig";
34
35
  import { BLOCK_KEYS, BLOCK_KEY_ALIASES, FIELD_TYPES, type BlockKey, type FieldType } from "./constants/cms";
@@ -189,6 +190,12 @@ export declare const jobListings: {
189
190
  listingVersionNumber?: number;
190
191
  needsApproval: boolean;
191
192
  }, authToken?: string | null) => Promise<void>;
193
+ updateDescriptionVersionApproval: (id: string, payload: {
194
+ descriptionId: string;
195
+ versionId?: number;
196
+ listingVersionNumber?: number;
197
+ needsApproval: boolean;
198
+ }, authToken?: string | null) => Promise<void>;
192
199
  create: (jobListing: JobListing, authToken?: string | null) => Promise<JobListing>;
193
200
  update: (id: string, jobListing: JobListing, authToken?: string | null) => Promise<void>;
194
201
  delete: (id: string, authToken?: string | null) => Promise<void>;
@@ -202,6 +209,7 @@ export declare const contentValidator: {
202
209
  export declare const contentEntries: {
203
210
  getAll: (contentId: string, statusFilter?: import("./types/content/status").Status | null, authToken?: string | null) => Promise<ContentEntry[]>;
204
211
  getById: (id: string, statusFilter?: import("./types/content/status").Status | null, authToken?: string | null) => Promise<ContentEntry>;
212
+ getBySlug: (contentId: string, slug: string, statusFilter?: import("./types/content/status").Status | null, authToken?: string | null) => Promise<ContentEntry>;
205
213
  create: (entry: ContentEntry, authToken?: string | null) => Promise<ContentEntry>;
206
214
  update: (id: string, entry: ContentEntry, authToken?: string | null) => Promise<void>;
207
215
  delete: (id: string, authToken?: string | null) => Promise<void>;
@@ -249,7 +257,7 @@ export declare const formSubmissions: {
249
257
  getFormSubmissionTypes(authToken?: string | null): Promise<string[]>;
250
258
  };
251
259
  export { BLOCK_KEYS, BLOCK_KEY_ALIASES, FIELD_TYPES };
252
- export type { Register, User, Role, HireControlConfig, ClientAuthConfig, Event, Listing, EventDates, EventDateType, EventInstance, MediaType, Filters, AppendListing, Form, FormFieldMigrationRequest, FormUpdateOptions, FormSubmission, ResultsWrapper, Company, JobListing, FieldTypeDefinition, ValidatorDefinition, ContentModel, ModuleConfig, ModuleFieldMapping, ModuleIdentityMapping, WebPageTemplate, WebPageTemplateSection, WebPageTemplateBlock, ContentModuleSyncPreview, ContentModuleSyncExecuteRequest, ContentModuleSyncExecuteResult, ContentBlock, BlockUpdateImpact, BlockFieldChange, BlockFieldMigration, ContentEntry, Blog, CategoryListDto, AddValueRequest, CategoryListValueDto, JobFeed, JobFeedFieldMapping, MultipleFieldConfig, ConditionalConfig, ConditionalRule, JobListingSettings, ListingEntityDto, RecruiterDto, FocalPoint, CompletionRequest, CompletionResponse, SearchReadConfig, };
260
+ export type { Register, User, Role, HireControlConfig, ClientAuthConfig, Event, Listing, EventDates, EventDateType, EventInstance, MediaType, Filters, AppendListing, Form, FormFieldMigrationRequest, FormUpdateOptions, FormSubmission, ResultsWrapper, Company, JobListing, FieldTypeDefinition, ValidatorDefinition, ContentModel, ModuleConfig, ModuleFieldMapping, ModuleIdentityMapping, WebPageTemplate, WebPageTemplateSection, WebPageTemplateBlock, ContentModuleSyncPreview, ContentModuleSyncExecuteRequest, ContentModuleSyncExecuteResult, ContentBlock, BlockUpdateImpact, BlockFieldChange, BlockFieldMigration, ContentEntry, Blog, CategoryListDto, AddValueRequest, CategoryListValueDto, JobFeed, JobFeedFieldMapping, MultipleFieldConfig, ConditionalConfig, ConditionalRule, JobListingSettings, ListingEntityDto, RecruiterDto, FocalPoint, ListingEntityMedia, CompletionRequest, CompletionResponse, SearchReadConfig, };
253
261
  export type { BlockKey, FieldType };
254
262
  export { EventType, CallToActionType, FormSubmissionStatus, FeedHandlingOption, };
255
263
  declare const hcApi: {
@@ -432,6 +440,12 @@ declare const hcApi: {
432
440
  listingVersionNumber?: number;
433
441
  needsApproval: boolean;
434
442
  }, authToken?: string | null) => Promise<void>;
443
+ updateDescriptionVersionApproval: (id: string, payload: {
444
+ descriptionId: string;
445
+ versionId?: number;
446
+ listingVersionNumber?: number;
447
+ needsApproval: boolean;
448
+ }, authToken?: string | null) => Promise<void>;
435
449
  create: (jobListing: JobListing, authToken?: string | null) => Promise<JobListing>;
436
450
  update: (id: string, jobListing: JobListing, authToken?: string | null) => Promise<void>;
437
451
  delete: (id: string, authToken?: string | null) => Promise<void>;
@@ -12,6 +12,34 @@ export type ModuleFieldMapping = {
12
12
  sourcePath?: string;
13
13
  applyOnSync?: boolean;
14
14
  };
15
+ export type ModuleGrouping = {
16
+ enabled?: boolean;
17
+ groupBySourcePath?: string;
18
+ displayNameSourcePath?: string;
19
+ sourceKeyPrefix?: string;
20
+ includeUngrouped?: boolean;
21
+ };
22
+ export type ModuleSectionRepeaterFieldMapping = {
23
+ targetField?: string;
24
+ sourcePath?: string;
25
+ slugifyValue?: boolean;
26
+ buildUrlPath?: boolean;
27
+ urlPathBase?: string;
28
+ };
29
+ export type ModuleSectionRepeater = {
30
+ id?: string;
31
+ sectionId?: string;
32
+ sectionIndex?: number;
33
+ blockKey?: string;
34
+ templateItemId?: string;
35
+ targetItemsPath?: string;
36
+ sourceCollectionPath?: string;
37
+ itemIdentitySourcePath?: string;
38
+ applyOnSync?: boolean;
39
+ syncOnRead?: boolean;
40
+ defaultFieldValues?: Record<string, any>;
41
+ fieldMappings?: ModuleSectionRepeaterFieldMapping[];
42
+ };
15
43
  export type ModuleSourceFilter = {
16
44
  combinator?: "and" | "or" | string;
17
45
  rules?: Array<any>;
@@ -27,6 +55,10 @@ export type WebPageTemplateSection = {
27
55
  title?: string;
28
56
  slug?: string;
29
57
  showInNav?: boolean;
58
+ layout?: Record<string, any>;
59
+ items?: Array<Record<string, any>>;
60
+ collapsed?: boolean;
61
+ order?: number;
30
62
  blocks?: WebPageTemplateBlock[];
31
63
  };
32
64
  export type WebPageTemplate = {
@@ -36,8 +68,12 @@ export type ModuleConfig = {
36
68
  sourceType?: "listingEntities" | "jobListings" | "categoryLists" | string;
37
69
  autoSetupEntries?: boolean;
38
70
  identityMapping?: ModuleIdentityMapping;
71
+ slugPrefixSourcePath?: string;
72
+ slugTemplate?: string;
39
73
  fieldMappings?: ModuleFieldMapping[];
40
74
  sourceFilter?: ModuleSourceFilter;
75
+ grouping?: ModuleGrouping;
76
+ sectionRepeaters?: ModuleSectionRepeater[];
41
77
  webPageTemplate?: WebPageTemplate;
42
78
  };
43
79
  export type ContentModuleSyncPreview = {
@@ -67,8 +67,22 @@ export interface CmsNavigationNode {
67
67
  isExternal?: boolean;
68
68
  isButton?: boolean;
69
69
  showInNav?: boolean;
70
+ autoPopulate?: CmsNavigationAutoPopulate;
70
71
  children?: CmsNavigationNode[];
71
72
  }
73
+ export interface CmsNavigationAutoPopulate {
74
+ enabled?: boolean;
75
+ modelIds?: string[];
76
+ maxItems?: number;
77
+ matchParentSlugPrefix?: boolean;
78
+ childAutoPopulate?: CmsNavigationAutoPopulateRule;
79
+ }
80
+ export interface CmsNavigationAutoPopulateRule {
81
+ enabled?: boolean;
82
+ modelIds?: string[];
83
+ maxItems?: number;
84
+ matchParentSlugPrefix?: boolean;
85
+ }
72
86
  export interface CmsNavigationConfig {
73
87
  version?: number;
74
88
  maxDepth?: number;
@@ -1,3 +1,4 @@
1
+ import ListingEntityMedia from "./listingEntityMedia";
1
2
  export type Listing = {
2
3
  id: number;
3
4
  fields?: ListingFields;
@@ -68,6 +69,8 @@ export type ListingEntity = {
68
69
  travelTime?: string;
69
70
  logoUrl?: string;
70
71
  photoUrl?: string;
72
+ logo?: ListingEntityMedia;
73
+ photo?: ListingEntityMedia;
71
74
  descriptionJson?: string;
72
75
  descriptionHtml?: string;
73
76
  descriptionPlainText?: string;
@@ -1,4 +1,5 @@
1
1
  import { Address } from './company';
2
+ import ListingEntityMedia from './listingEntityMedia';
2
3
  export type ListingEntityDto = {
3
4
  id: number;
4
5
  listingId: number;
@@ -11,6 +12,8 @@ export type ListingEntityDto = {
11
12
  staticMapUrl?: string;
12
13
  logoUrl?: string;
13
14
  photoUrl?: string;
15
+ logo?: ListingEntityMedia;
16
+ photo?: ListingEntityMedia;
14
17
  descriptionJson?: string;
15
18
  descriptionHtml?: string;
16
19
  descriptionPlainText?: string;
@@ -0,0 +1,12 @@
1
+ import FocalPoint from "./focalPoint";
2
+ export type ListingEntityMedia = {
3
+ url?: string;
4
+ alt?: string;
5
+ focalPoint?: FocalPoint;
6
+ aspectRatio?: string;
7
+ width?: number;
8
+ height?: number;
9
+ fileSize?: number;
10
+ variant?: string;
11
+ };
12
+ export default ListingEntityMedia;
@@ -1,4 +1,5 @@
1
1
  import { Address } from "./company";
2
+ import ListingEntityMedia from "./listingEntityMedia";
2
3
  export type mongoListingEntity = {
3
4
  id: string;
4
5
  listingId: number;
@@ -12,6 +13,8 @@ export type mongoListingEntity = {
12
13
  entityKey?: string;
13
14
  logoUrl?: string;
14
15
  photoUrl?: string;
16
+ logo?: ListingEntityMedia;
17
+ photo?: ListingEntityMedia;
15
18
  descriptionJson?: string;
16
19
  descriptionHtml?: string;
17
20
  descriptionPlainText?: string;
@@ -256,10 +256,33 @@ class FetchHandler {
256
256
  if (!response.ok || !response.status.toString().startsWith("2")) {
257
257
  let errorMessage = `Error: ${response.status} ${response.statusText}`;
258
258
  try {
259
- const errorData = await response.json();
260
- console.log(errorData);
261
- if (errorData && errorData.message) {
262
- errorMessage = errorData.message;
259
+ const rawErrorBody = await response.text();
260
+ if (rawErrorBody) {
261
+ try {
262
+ const errorData = JSON.parse(rawErrorBody);
263
+ console.log(errorData);
264
+ if (errorData && typeof errorData.message === "string" && errorData.message.trim()) {
265
+ errorMessage = errorData.message;
266
+ } else if (
267
+ errorData &&
268
+ typeof errorData.error === "string" &&
269
+ errorData.error.trim()
270
+ ) {
271
+ errorMessage = errorData.error;
272
+ } else if (
273
+ errorData &&
274
+ typeof errorData.title === "string" &&
275
+ errorData.title.trim()
276
+ ) {
277
+ errorMessage = errorData.title;
278
+ }
279
+ } catch {
280
+ // Prefer plain text API responses when available (e.g. "Block not found")
281
+ const trimmed = rawErrorBody.trim();
282
+ if (trimmed && !trimmed.startsWith("<")) {
283
+ errorMessage = trimmed;
284
+ }
285
+ }
263
286
  }
264
287
  } catch (error) {
265
288
  console.error("Failed to parse error response:", error);
package/index.ts CHANGED
@@ -50,7 +50,10 @@ import Event, {
50
50
  import { Listing } from "./types/listing";
51
51
  import Filters from "./types/filters/filters";
52
52
  import AppendListing from "./types/appendListing";
53
- import Form, { FormFieldMigrationRequest, FormUpdateOptions } from "./types/form";
53
+ import Form, {
54
+ FormFieldMigrationRequest,
55
+ FormUpdateOptions,
56
+ } from "./types/form";
54
57
  import FormSubmission, { FormSubmissionStatus } from "./types/formSubmission";
55
58
  import ResultsWrapper from "./types/resultsWrapper";
56
59
  import { JobListing } from "./types/JobListing";
@@ -75,7 +78,10 @@ import {
75
78
  BlockFieldMigration,
76
79
  } from "./types/content/blockUpdateImpact";
77
80
  import Blog from "./types/blog";
78
- import CategoryListDto, { AddValueRequest, CategoryListValueDto } from "./types/categoryList";
81
+ import CategoryListDto, {
82
+ AddValueRequest,
83
+ CategoryListValueDto,
84
+ } from "./types/categoryList";
79
85
  import JobFeed from "./types/jobFeed";
80
86
  import JobFeedFieldMapping, {
81
87
  MultipleFieldConfig,
@@ -88,6 +94,7 @@ import JobListingSettings, {
88
94
  import ListingEntityDto from "./types/listingEntity";
89
95
  import RecruiterDto from "./types/recruiter";
90
96
  import FocalPoint from "./types/focalPoint";
97
+ import ListingEntityMedia from "./types/listingEntityMedia";
91
98
  import CompletionRequest, {
92
99
  CompletionResponse,
93
100
  } from "./types/completionRequest";
@@ -269,6 +276,8 @@ export const jobListings = {
269
276
  getMapListing: JobListingsController.getMapListingById,
270
277
  getById: JobListingsController.getJobListingById,
271
278
  updateFieldVersionApproval: JobListingsController.updateFieldVersionApproval,
279
+ updateDescriptionVersionApproval:
280
+ JobListingsController.updateDescriptionVersionApproval,
272
281
  create: JobListingsController.createJobListing,
273
282
  update: JobListingsController.updateJobListing,
274
283
  delete: JobListingsController.deleteJobListing,
@@ -285,6 +294,7 @@ export const contentValidator = {
285
294
  export const contentEntries = {
286
295
  getAll: contentEntriesController.getContentEntries,
287
296
  getById: contentEntriesController.getContentEntry,
297
+ getBySlug: contentEntriesController.getContentEntryBySlug,
288
298
  create: contentEntriesController.createContentEntry,
289
299
  update: contentEntriesController.updateContentEntry,
290
300
  delete: contentEntriesController.deleteContentEntry,
@@ -371,6 +381,7 @@ export type {
371
381
  ListingEntityDto,
372
382
  RecruiterDto,
373
383
  FocalPoint,
384
+ ListingEntityMedia,
374
385
  CompletionRequest,
375
386
  CompletionResponse,
376
387
  SearchReadConfig,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abcagency/hire-control-sdk",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,6 +28,7 @@
28
28
  "rollup-plugin-typescript2": "^0.36.0"
29
29
  },
30
30
  "dependencies": {
31
+ "@abcagency/hire-control-sdk": "^1.1.2",
31
32
  "tslib": "^2.7.0",
32
33
  "typescript": "^5.6.2"
33
34
  }
@@ -15,6 +15,37 @@ export type ModuleFieldMapping = {
15
15
  applyOnSync?: boolean;
16
16
  };
17
17
 
18
+ export type ModuleGrouping = {
19
+ enabled?: boolean;
20
+ groupBySourcePath?: string;
21
+ displayNameSourcePath?: string;
22
+ sourceKeyPrefix?: string;
23
+ includeUngrouped?: boolean;
24
+ };
25
+
26
+ export type ModuleSectionRepeaterFieldMapping = {
27
+ targetField?: string;
28
+ sourcePath?: string;
29
+ slugifyValue?: boolean;
30
+ buildUrlPath?: boolean;
31
+ urlPathBase?: string;
32
+ };
33
+
34
+ export type ModuleSectionRepeater = {
35
+ id?: string;
36
+ sectionId?: string;
37
+ sectionIndex?: number;
38
+ blockKey?: string;
39
+ templateItemId?: string;
40
+ targetItemsPath?: string;
41
+ sourceCollectionPath?: string;
42
+ itemIdentitySourcePath?: string;
43
+ applyOnSync?: boolean;
44
+ syncOnRead?: boolean;
45
+ defaultFieldValues?: Record<string, any>;
46
+ fieldMappings?: ModuleSectionRepeaterFieldMapping[];
47
+ };
48
+
18
49
  export type ModuleSourceFilter = {
19
50
  combinator?: "and" | "or" | string;
20
51
  rules?: Array<any>;
@@ -32,6 +63,10 @@ export type WebPageTemplateSection = {
32
63
  title?: string;
33
64
  slug?: string;
34
65
  showInNav?: boolean;
66
+ layout?: Record<string, any>;
67
+ items?: Array<Record<string, any>>;
68
+ collapsed?: boolean;
69
+ order?: number;
35
70
  blocks?: WebPageTemplateBlock[];
36
71
  };
37
72
 
@@ -43,8 +78,12 @@ export type ModuleConfig = {
43
78
  sourceType?: "listingEntities" | "jobListings" | "categoryLists" | string;
44
79
  autoSetupEntries?: boolean;
45
80
  identityMapping?: ModuleIdentityMapping;
81
+ slugPrefixSourcePath?: string;
82
+ slugTemplate?: string;
46
83
  fieldMappings?: ModuleFieldMapping[];
47
84
  sourceFilter?: ModuleSourceFilter;
85
+ grouping?: ModuleGrouping;
86
+ sectionRepeaters?: ModuleSectionRepeater[];
48
87
  webPageTemplate?: WebPageTemplate;
49
88
  };
50
89
 
@@ -76,9 +76,25 @@ export interface CmsNavigationNode {
76
76
  isExternal?: boolean;
77
77
  isButton?: boolean;
78
78
  showInNav?: boolean;
79
+ autoPopulate?: CmsNavigationAutoPopulate;
79
80
  children?: CmsNavigationNode[];
80
81
  }
81
82
 
83
+ export interface CmsNavigationAutoPopulate {
84
+ enabled?: boolean;
85
+ modelIds?: string[];
86
+ maxItems?: number;
87
+ matchParentSlugPrefix?: boolean;
88
+ childAutoPopulate?: CmsNavigationAutoPopulateRule;
89
+ }
90
+
91
+ export interface CmsNavigationAutoPopulateRule {
92
+ enabled?: boolean;
93
+ modelIds?: string[];
94
+ maxItems?: number;
95
+ matchParentSlugPrefix?: boolean;
96
+ }
97
+
82
98
  export interface CmsNavigationConfig {
83
99
  version?: number;
84
100
  maxDepth?: number;
package/types/listing.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import ListingEntityMedia from "./listingEntityMedia";
2
+
1
3
  export type Listing = {
2
4
  id: number;
3
5
  fields?: ListingFields;
@@ -79,6 +81,8 @@ export type ListingEntity = {
79
81
  travelTime?: string;
80
82
  logoUrl?: string;
81
83
  photoUrl?: string;
84
+ logo?: ListingEntityMedia;
85
+ photo?: ListingEntityMedia;
82
86
  descriptionJson?: string;
83
87
  descriptionHtml?: string;
84
88
  descriptionPlainText?: string;
@@ -1,4 +1,5 @@
1
1
  import { Address } from './company';
2
+ import ListingEntityMedia from './listingEntityMedia';
2
3
 
3
4
  export type ListingEntityDto = {
4
5
  id: number;
@@ -12,6 +13,8 @@ export type ListingEntityDto = {
12
13
  staticMapUrl?: string;
13
14
  logoUrl?: string;
14
15
  photoUrl?: string;
16
+ logo?: ListingEntityMedia;
17
+ photo?: ListingEntityMedia;
15
18
  descriptionJson?: string;
16
19
  descriptionHtml?: string;
17
20
  descriptionPlainText?: string;
@@ -0,0 +1,14 @@
1
+ import FocalPoint from "./focalPoint";
2
+
3
+ export type ListingEntityMedia = {
4
+ url?: string;
5
+ alt?: string;
6
+ focalPoint?: FocalPoint;
7
+ aspectRatio?: string;
8
+ width?: number;
9
+ height?: number;
10
+ fileSize?: number;
11
+ variant?: string;
12
+ };
13
+
14
+ export default ListingEntityMedia;
@@ -1,4 +1,5 @@
1
1
  import { Address } from "./company";
2
+ import ListingEntityMedia from "./listingEntityMedia";
2
3
 
3
4
  export type mongoListingEntity = {
4
5
  id: string;
@@ -13,6 +14,8 @@ export type mongoListingEntity = {
13
14
  entityKey?: string;
14
15
  logoUrl?: string;
15
16
  photoUrl?: string;
17
+ logo?: ListingEntityMedia;
18
+ photo?: ListingEntityMedia;
16
19
  descriptionJson?: string;
17
20
  descriptionHtml?: string;
18
21
  descriptionPlainText?: string;