@abcagency/hire-control-sdk 1.0.10 → 1.0.11

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.
@@ -1 +1 @@
1
- export const API_URL = "https://api.myhirecontrol.com";
1
+ export const API_URL = "https://api.hirecontrol.com";
@@ -30,7 +30,7 @@ class EventsController {
30
30
  * @returns {Promise<Event>} - The newly created event data.
31
31
  */
32
32
  async createEvent(Event: any, authToken: string | null = null): Promise<any> {
33
- return fetchHandler.post<any, any>("/events", Event, true, authToken, true);
33
+ return fetchHandler.post<any, any>("/events", Event, true, authToken);
34
34
  }
35
35
 
36
36
  /**
@@ -49,8 +49,7 @@ class EventsController {
49
49
  `/events/${id}`,
50
50
  Event,
51
51
  true,
52
- authToken,
53
- true
52
+ authToken
54
53
  );
55
54
  }
56
55
 
@@ -0,0 +1,82 @@
1
+ import FetchHandler from "../handlers/fetchHandler";
2
+ import { API_URL } from "../constants/config";
3
+ import FiltersDto from "../types/filters/filters";
4
+
5
+ const fetchHandler = new FetchHandler(API_URL);
6
+
7
+ class FiltersController {
8
+ /**
9
+ * Get all filters for the authenticated user’s company.
10
+ * @param {string | null} authToken - Optional auth token.
11
+ * @returns {Promise<FiltersDto[]>} - A list of filters.
12
+ */
13
+ async getFilters(authToken: string | null = null): Promise<FiltersDto[]> {
14
+ return fetchHandler.get<FiltersDto[]>("/filters", true, authToken);
15
+ }
16
+
17
+ /**
18
+ * Get a specific filter by ID.
19
+ * @param {string} id - The filter ID.
20
+ * @param {string | null} authToken - Optional auth token.
21
+ * @returns {Promise<FiltersDto>} - The filter data.
22
+ */
23
+ async getFilter(
24
+ id: string,
25
+ authToken: string | null = null
26
+ ): Promise<FiltersDto> {
27
+ return fetchHandler.get<FiltersDto>(`/filters/${id}`, true, authToken);
28
+ }
29
+
30
+ /**
31
+ * Create a new filter.
32
+ * @param {FiltersDto} filtersDto - The filter data to create.
33
+ * @param {string | null} authToken - Optional auth token.
34
+ * @returns {Promise<FiltersDto>} - The newly created filter data.
35
+ */
36
+ async createFilter(
37
+ filtersDto: FiltersDto,
38
+ authToken: string | null = null
39
+ ): Promise<FiltersDto> {
40
+ return fetchHandler.post<FiltersDto, FiltersDto>(
41
+ "/filters",
42
+ filtersDto,
43
+ true,
44
+ authToken
45
+ );
46
+ }
47
+
48
+ /**
49
+ * Update an existing filter.
50
+ * @param {string} id - The filter ID to update.
51
+ * @param {FiltersDto} filtersDto - The updated filter data.
52
+ * @param {string | null} authToken - Optional auth token.
53
+ * @returns {Promise<void>} - No return value.
54
+ */
55
+ async updateFilter(
56
+ id: string,
57
+ filtersDto: FiltersDto,
58
+ authToken: string | null = null
59
+ ): Promise<void> {
60
+ return fetchHandler.put<FiltersDto, void>(
61
+ `/filters/${id}`,
62
+ filtersDto,
63
+ true,
64
+ authToken
65
+ );
66
+ }
67
+
68
+ /**
69
+ * Delete an existing filter.
70
+ * @param {string} id - The filter ID to delete.
71
+ * @param {string | null} authToken - Optional auth token.
72
+ * @returns {Promise<void>} - No return value.
73
+ */
74
+ async deleteFilter(
75
+ id: string,
76
+ authToken: string | null = null
77
+ ): Promise<void> {
78
+ return fetchHandler.delete(`/filters/${id}`, true, authToken);
79
+ }
80
+ }
81
+
82
+ export default new FiltersController();
@@ -0,0 +1,64 @@
1
+ import FetchHandler from "../handlers/fetchHandler";
2
+ import { API_URL } from "../constants/config";
3
+ import Media from "../types/media/media";
4
+
5
+ const fetchHandler = new FetchHandler(API_URL);
6
+
7
+ class MediaController {
8
+ /**
9
+ * Upload a new media file.
10
+ * @param {Media} media - The media file to upload.
11
+ * @param {string | null} authToken - Optional auth token.
12
+ * @returns {Promise<{ Url: string }>} - The uploaded media URL.
13
+ */
14
+ async uploadMedia(
15
+ media: Media,
16
+ authToken: string | null = null
17
+ ): Promise<{ Url: string }> {
18
+ return fetchHandler.post<any, any>(
19
+ "/media/upload",
20
+ media,
21
+ true,
22
+ authToken,
23
+ true
24
+ );
25
+ }
26
+
27
+ /**
28
+ * List all media in a folder.
29
+ * @param {string} folderKey - The folder key to retrieve media from.
30
+ * @param {string | null} authToken - Optional auth token.
31
+ * @returns {Promise<Media[]>} - A list of media files.
32
+ */
33
+ async listMedia(
34
+ folderKey: string,
35
+ authToken: string | null = null
36
+ ): Promise<Media[]> {
37
+ const params = new URLSearchParams({ folderKey });
38
+ return fetchHandler.get<Media[]>(
39
+ `/media/list?${params.toString()}`,
40
+ true,
41
+ authToken
42
+ );
43
+ }
44
+
45
+ /**
46
+ * Delete a media file.
47
+ * @param {string} key - The S3 key of the media to delete.
48
+ * @param {string | null} authToken - Optional auth token.
49
+ * @returns {Promise<void>} - No return value.
50
+ */
51
+ async deleteMedia(
52
+ key: string,
53
+ authToken: string | null = null
54
+ ): Promise<void> {
55
+ const params = new URLSearchParams({ key });
56
+ return fetchHandler.delete<void>(
57
+ `/media/delete?${params.toString()}`,
58
+ true,
59
+ authToken
60
+ );
61
+ }
62
+ }
63
+
64
+ export default new MediaController();
@@ -1 +1 @@
1
- export declare const API_URL = "https://api.myhirecontrol.com";
1
+ export declare const API_URL = "https://api.hirecontrol.com";
@@ -0,0 +1,40 @@
1
+ import FiltersDto from "../types/filters/filters";
2
+ declare class FiltersController {
3
+ /**
4
+ * Get all filters for the authenticated user’s company.
5
+ * @param {string | null} authToken - Optional auth token.
6
+ * @returns {Promise<FiltersDto[]>} - A list of filters.
7
+ */
8
+ getFilters(authToken?: string | null): Promise<FiltersDto[]>;
9
+ /**
10
+ * Get a specific filter by ID.
11
+ * @param {string} id - The filter ID.
12
+ * @param {string | null} authToken - Optional auth token.
13
+ * @returns {Promise<FiltersDto>} - The filter data.
14
+ */
15
+ getFilter(id: string, authToken?: string | null): Promise<FiltersDto>;
16
+ /**
17
+ * Create a new filter.
18
+ * @param {FiltersDto} filtersDto - The filter data to create.
19
+ * @param {string | null} authToken - Optional auth token.
20
+ * @returns {Promise<FiltersDto>} - The newly created filter data.
21
+ */
22
+ createFilter(filtersDto: FiltersDto, authToken?: string | null): Promise<FiltersDto>;
23
+ /**
24
+ * Update an existing filter.
25
+ * @param {string} id - The filter ID to update.
26
+ * @param {FiltersDto} filtersDto - The updated filter data.
27
+ * @param {string | null} authToken - Optional auth token.
28
+ * @returns {Promise<void>} - No return value.
29
+ */
30
+ updateFilter(id: string, filtersDto: FiltersDto, authToken?: string | null): Promise<void>;
31
+ /**
32
+ * Delete an existing filter.
33
+ * @param {string} id - The filter ID to delete.
34
+ * @param {string | null} authToken - Optional auth token.
35
+ * @returns {Promise<void>} - No return value.
36
+ */
37
+ deleteFilter(id: string, authToken?: string | null): Promise<void>;
38
+ }
39
+ declare const _default: FiltersController;
40
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import Media from "../types/media/media";
2
+ declare class MediaController {
3
+ /**
4
+ * Upload a new media file.
5
+ * @param {Media} media - The media file to upload.
6
+ * @param {string | null} authToken - Optional auth token.
7
+ * @returns {Promise<{ Url: string }>} - The uploaded media URL.
8
+ */
9
+ uploadMedia(media: Media, authToken?: string | null): Promise<{
10
+ Url: string;
11
+ }>;
12
+ /**
13
+ * List all media in a folder.
14
+ * @param {string} folderKey - The folder key to retrieve media from.
15
+ * @param {string | null} authToken - Optional auth token.
16
+ * @returns {Promise<Media[]>} - A list of media files.
17
+ */
18
+ listMedia(folderKey: string, authToken?: string | null): Promise<Media[]>;
19
+ /**
20
+ * Delete a media file.
21
+ * @param {string} key - The S3 key of the media to delete.
22
+ * @param {string | null} authToken - Optional auth token.
23
+ * @returns {Promise<void>} - No return value.
24
+ */
25
+ deleteMedia(key: string, authToken?: string | null): Promise<void>;
26
+ }
27
+ declare const _default: MediaController;
28
+ export default _default;
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}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,r=null){const n={method:"GET",credentials:"include"};return e?this.fetchWithAuth(t,n,r):this.fetchWithoutAuth(t,n)}))}post(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=!1,n=null,i=!1){const o={method:"POST",credentials:"include"};return i?o.body=this.convertToFormData(e):(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(e)),r?this.fetchWithAuth(t,o,n):this.fetchWithoutAuth(t,o)}))}put(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=!1,n=null,i=!1){const o={method:"PUT",credentials:"include"};return i?o.body=this.convertToFormData(e):(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(e)),r?this.fetchWithAuth(t,o,n):this.fetchWithoutAuth(t,o)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,r=null){const n={method:"DELETE",credentials:"include"};return e?this.fetchWithAuth(t,n,r):this.fetchWithoutAuth(t,n)}))}convertToFormData(t,e=new FormData,r=""){return t instanceof File||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.append(r,t):t instanceof Array?t.forEach(((t,n)=>{this.convertToFormData(t,e,`${r}[${n}]`)})):t instanceof Object&&Object.keys(t).forEach((n=>{const i=t[n],o=r?`${r}[${n}]`:n;this.convertToFormData(i,e,o)})),e}fetchWithoutAuth(e,r){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield fetch(`${this.apiUrl}${e}`,r);return this.handleResponse(t)}))}fetchWithAuth(e,r,n){return t.__awaiter(this,void 0,void 0,(function*(){n&&(r.headers=Object.assign(Object.assign({},r.headers),{Authorization:`Bearer ${n}`}));let t=yield fetch(`${this.apiUrl}${e}`,r);if(401===t.status){if(!(yield this.refreshToken()))throw new Error("Token refresh failed");t=yield fetch(`${this.apiUrl}${e}`,r)}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 r=yield e.json();console.log(r),r&&r.message&&(t=r.message)}catch(t){console.error("Failed to parse error response:",t)}throw{statusCode:e.status,errorMessage:t}}return 200===e.status?e.json():null}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){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 r="https://api.myhirecontrol.com",n=new e(r);var i=new class{login(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/login",e,!1)}))}nextLogin(e){return t.__awaiter(this,void 0,void 0,(function*(){return yield n.post("/auth/nextLogin",e,!1)}))}refreshToken(e){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield n.post("/auth/refresh",e,!1);return t&&(sessionStorage.setItem("token",t.token),sessionStorage.setItem("refreshToken",t.refreshToken),sessionStorage.setItem("expiration",t.expiration)),t}))}changeCompany(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/changeCompany",e,!0)}))}register(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/register",e,!1)}))}getCompanies(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/companies",!0)}))}getCompany(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/company",!0)}))}getRoles(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/roles",!0)}))}isAuthenticated(){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield n.get("/auth/authenticated",!0)}catch(t){return!1}}))}getUser(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield n.get("/auth/user",!0,t)}catch(t){throw t}}))}logout(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield n.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 n.get("/auth/permissions",!0,t)}catch(t){throw t}}))}};const o=new e(r);var s=new class{getEvents(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return o.get("/events",!0,t)}))}getEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.get(`/events/${t}`,!0,e)}))}createEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.post("/events",t,!0,e,!0)}))}updateEvent(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return o.put(`/events/${t}`,e,!0,r,!0)}))}deleteEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.delete(`/events/${t}`,!0,e)}))}};const a=new e(r);var u=new class{getAllRolesWithClaims(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return a.get("/roles",!0,t)}))}addRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return a.post("/roles",t,!0,e)}))}updateRole(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return a.put(`/roles/${t}`,e,!0,r)}))}deleteRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return a.delete(`/roles/${t}`,!0,e)}))}};const l=new e(r);var h=new class{getAllUsers(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield l.get("/users",!0,t)}catch(t){throw t}}))}getUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield l.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 l.post("/users",t,!0,e)}catch(t){throw t}}))}updateUser(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){try{yield l.put(`/users/${t}`,e,!0,r)}catch(t){throw t}}))}updateLoggedInUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield l.put("/users",t,!0,e)}catch(t){throw t}}))}deleteUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield l.delete(`/users/${t}`,!0,e)}catch(t){throw t}}))}};const c=new e(r);var d=new class{forgotPassword(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield c.post("/account/forgotPassword",e,!1)}catch(t){throw t}}))}resetPasswordWithToken(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield c.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 c.post("/account/resetPassword",t,!0,e)}catch(t){throw t}}))}};const g=new e(r);var f=new class{getMapConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield g.get("/mapconfig",!0,t)}catch(t){throw t}}))}updateMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return g.put("/mapconfig",t,!0,e)}))}createMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return g.post("/mapconfig",t,!0,e)}))}};const p=new e(r);var v=new class{getAllPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return p.get("/permissions",!0,t)}))}};const w=new e(r);var _=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,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return w.put(`/clientAuthConfig/${t}`,e,!0,r)}))}deleteClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.delete(`/clientAuthConfig/${t}`,!0,e)}))}};const y=new e(r);var m=new class{getListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield y.get("/listings",!0,t)}catch(t){throw t}}))}getListingDetails(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield y.get(`/listings/${t}`,!0,e)}catch(t){throw t}}))}};const C={login:i.login,nextLogin:i.nextLogin,refreshToken:i.refreshToken,changeCompany:i.changeCompany,register:i.register,isAuthenticated:i.isAuthenticated,getCompany:i.getCompany,getCompanies:i.getCompanies,getRoles:i.getRoles,getPermissions:i.getPermissions,logout:i.logout,getUser:i.getUser},A={getAll:s.getEvents,get:s.getEvent,create:s.createEvent,update:s.updateEvent,delete:s.deleteEvent},T={get:u.getAllRolesWithClaims,create:u.addRole,update:u.updateRole,delete:u.deleteRole},$=h,P=m,k={resetPassword:d.resetPassword,resetPasswordWithToken:d.resetPasswordWithToken,forgotPassword:d.forgotPassword},x={get:f.getMapConfig,update:f.updateMapConfig,create:f.createMapConfig},E={get:_.getClientAuthConfigById,getAll:_.getAllClientAuthConfigs,update:_.updateClientAuthConfig,create:_.createClientAuthConfig,delete:_.deleteClientAuthConfig},W={get:v.getAllPermissions},U={auth:C,events:A,roles:T,users:$,account:k,mapConfig:x,permissions:W,clientAuthConfig:E,listings:P};exports.account=k,exports.auth=C,exports.clientAuthConfig=E,exports.default=U,exports.events=A,exports.listings=P,exports.mapConfig=x,exports.permissions=W,exports.roles=T,exports.users=$;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib");class e{constructor(t){this.apiUrl=t}get(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,r=null){const n={method:"GET",credentials:"include"};return e?this.fetchWithAuth(t,n,r):this.fetchWithoutAuth(t,n)}))}post(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=!1,n=null,i=!1){const o={method:"POST",credentials:"include"};return i?o.body=this.convertToFormData(e):(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(e)),r?this.fetchWithAuth(t,o,n):this.fetchWithoutAuth(t,o)}))}put(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=!1,n=null,i=!1){const o={method:"PUT",credentials:"include"};return i?o.body=this.convertToFormData(e):(o.headers={"Content-Type":"application/json"},o.body=JSON.stringify(e)),r?this.fetchWithAuth(t,o,n):this.fetchWithoutAuth(t,o)}))}delete(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=!1,r=null){const n={method:"DELETE",credentials:"include"};return e?this.fetchWithAuth(t,n,r):this.fetchWithoutAuth(t,n)}))}convertToFormData(t,e=new FormData,r=""){return t instanceof File||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?e.append(r,t):t instanceof Array?t.forEach(((t,n)=>{this.convertToFormData(t,e,`${r}[${n}]`)})):t instanceof Object&&Object.keys(t).forEach((n=>{const i=t[n],o=r?`${r}[${n}]`:n;this.convertToFormData(i,e,o)})),e}fetchWithoutAuth(e,r){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield fetch(`${this.apiUrl}${e}`,r);return this.handleResponse(t)}))}fetchWithAuth(e,r,n){return t.__awaiter(this,void 0,void 0,(function*(){n&&(r.headers=Object.assign(Object.assign({},r.headers),{Authorization:`Bearer ${n}`}));let t=yield fetch(`${this.apiUrl}${e}`,r);if(401===t.status){if(!(yield this.refreshToken()))throw new Error("Token refresh failed");t=yield fetch(`${this.apiUrl}${e}`,r)}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 r=yield e.json();console.log(r),r&&r.message&&(t=r.message)}catch(t){console.error("Failed to parse error response:",t)}throw{statusCode:e.status,errorMessage:t}}return 200===e.status?e.json():null}))}refreshToken(){return t.__awaiter(this,void 0,void 0,(function*(){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 r="https://api.hirecontrol.com",n=new e(r);var i=new class{login(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/login",e,!1)}))}nextLogin(e){return t.__awaiter(this,void 0,void 0,(function*(){return yield n.post("/auth/nextLogin",e,!1)}))}refreshToken(e){return t.__awaiter(this,void 0,void 0,(function*(){const t=yield n.post("/auth/refresh",e,!1);return t&&(sessionStorage.setItem("token",t.token),sessionStorage.setItem("refreshToken",t.refreshToken),sessionStorage.setItem("expiration",t.expiration)),t}))}changeCompany(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/changeCompany",e,!0)}))}register(e){return t.__awaiter(this,void 0,void 0,(function*(){return n.post("/auth/register",e,!1)}))}getCompanies(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/companies",!0)}))}getCompany(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/company",!0)}))}getRoles(){return t.__awaiter(this,void 0,void 0,(function*(){return n.get("/auth/roles",!0)}))}isAuthenticated(){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield n.get("/auth/authenticated",!0)}catch(t){return!1}}))}getUser(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield n.get("/auth/user",!0,t)}catch(t){throw t}}))}logout(){return t.__awaiter(this,void 0,void 0,(function*(){try{const t=yield n.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 n.get("/auth/permissions",!0,t)}catch(t){throw t}}))}};const o=new e(r);var s=new class{getEvents(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return o.get("/events",!0,t)}))}getEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.get(`/events/${t}`,!0,e)}))}createEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.post("/events",t,!0,e)}))}updateEvent(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return o.put(`/events/${t}`,e,!0,r)}))}deleteEvent(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return o.delete(`/events/${t}`,!0,e)}))}};const a=new e(r);var u=new class{getAllRolesWithClaims(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return a.get("/roles",!0,t)}))}addRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return a.post("/roles",t,!0,e)}))}updateRole(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return a.put(`/roles/${t}`,e,!0,r)}))}deleteRole(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return a.delete(`/roles/${t}`,!0,e)}))}};const l=new e(r);var h=new class{getAllUsers(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield l.get("/users",!0,t)}catch(t){throw t}}))}getUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield l.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 l.post("/users",t,!0,e)}catch(t){throw t}}))}updateUser(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){try{yield l.put(`/users/${t}`,e,!0,r)}catch(t){throw t}}))}updateLoggedInUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield l.put("/users",t,!0,e)}catch(t){throw t}}))}deleteUser(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{yield l.delete(`/users/${t}`,!0,e)}catch(t){throw t}}))}};const c=new e(r);var d=new class{forgotPassword(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield c.post("/account/forgotPassword",e,!1)}catch(t){throw t}}))}resetPasswordWithToken(e){return t.__awaiter(this,void 0,void 0,(function*(){try{return yield c.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 c.post("/account/resetPassword",t,!0,e)}catch(t){throw t}}))}};const g=new e(r);var f=new class{getMapConfig(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield g.get("/mapconfig",!0,t)}catch(t){throw t}}))}updateMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return g.put("/mapconfig",t,!0,e)}))}createMapConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return g.post("/mapconfig",t,!0,e)}))}};const p=new e(r);var _=new class{getAllPermissions(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return p.get("/permissions",!0,t)}))}};const w=new e(r);var v=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,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return w.put(`/clientAuthConfig/${t}`,e,!0,r)}))}deleteClientAuthConfig(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return w.delete(`/clientAuthConfig/${t}`,!0,e)}))}};const y=new e(r);var m=new class{getListings(){return t.__awaiter(this,arguments,void 0,(function*(t=null){try{return yield y.get("/listings",!0,t)}catch(t){throw t}}))}getListingDetails(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){try{return yield y.get(`/listings/${t}`,!0,e)}catch(t){throw t}}))}};const C=new e(r);var A=new class{uploadMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return C.post("/media/upload",t,!0,e,!0)}))}listMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const r=new URLSearchParams({folderKey:t});return C.get(`/media/list?${r.toString()}`,!0,e)}))}deleteMedia(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){const r=new URLSearchParams({key:t});return C.delete(`/media/delete?${r.toString()}`,!0,e)}))}};const $=new e(r);var T=new class{getFilters(){return t.__awaiter(this,arguments,void 0,(function*(t=null){return $.get("/filters",!0,t)}))}getFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.get(`/filters/${t}`,!0,e)}))}createFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.post("/filters",t,!0,e)}))}updateFilter(e,r){return t.__awaiter(this,arguments,void 0,(function*(t,e,r=null){return $.put(`/filters/${t}`,e,!0,r)}))}deleteFilter(e){return t.__awaiter(this,arguments,void 0,(function*(t,e=null){return $.delete(`/filters/${t}`,!0,e)}))}};const P={login:i.login,nextLogin:i.nextLogin,refreshToken:i.refreshToken,changeCompany:i.changeCompany,register:i.register,isAuthenticated:i.isAuthenticated,getCompany:i.getCompany,getCompanies:i.getCompanies,getRoles:i.getRoles,getPermissions:i.getPermissions,logout:i.logout,getUser:i.getUser},k={getAll:s.getEvents,get:s.getEvent,create:s.createEvent,update:s.updateEvent,delete:s.deleteEvent},x={get:u.getAllRolesWithClaims,create:u.addRole,update:u.updateRole,delete:u.deleteRole},F=h,E=m,U={resetPassword:d.resetPassword,resetPasswordWithToken:d.resetPasswordWithToken,forgotPassword:d.forgotPassword},W={get:f.getMapConfig,update:f.updateMapConfig,create:f.createMapConfig},R={get:v.getClientAuthConfigById,getAll:v.getAllClientAuthConfigs,update:v.updateClientAuthConfig,create:v.createClientAuthConfig,delete:v.deleteClientAuthConfig},S={upload:A.uploadMedia,get:A.listMedia,delete:A.deleteMedia},M={getList:T.getFilters,get:T.getFilter,update:T.updateFilter,create:T.createFilter,delete:T.deleteFilter},b={get:_.getAllPermissions},L={auth:P,events:k,roles:x,users:F,account:U,mapConfig:W,permissions:b,clientAuthConfig:R,filters:M,listings:E,media:S};exports.account=U,exports.auth=P,exports.clientAuthConfig=R,exports.default=L,exports.events=k,exports.filters=M,exports.listings=E,exports.mapConfig=W,exports.media=S,exports.permissions=b,exports.roles=x,exports.users=F;
2
2
  //# sourceMappingURL=index.cjs.js.map
package/dist/index.d.ts CHANGED
@@ -6,8 +6,10 @@ import Role from "./types/role";
6
6
  import Company from "./types/company";
7
7
  import HireControlConfig from "./types/hireControlConfig";
8
8
  import ClientAuthConfig from "./types/clientAuthConfig";
9
+ import MediaType from "./types/media/media";
9
10
  import Event, { EventDates, EventDateType, EventInstance } from "./types/event";
10
11
  import { Listing } from "./types/listing";
12
+ import Filters from "./types/filters/filters";
11
13
  export declare const auth: {
12
14
  login: (clientLogInRequest: import("./types/clientLoginRequest").default) => Promise<any>;
13
15
  nextLogin: (credentials: import("./types/credentials").default) => Promise<any>;
@@ -54,10 +56,24 @@ export declare const clientAuthConfig: {
54
56
  create: (clientAuthConfig: ClientAuthConfig, authToken?: string | null) => Promise<void>;
55
57
  delete: (id: string, authToken?: string | null) => Promise<void>;
56
58
  };
59
+ export declare const media: {
60
+ upload: (media: MediaType, authToken?: string | null) => Promise<{
61
+ Url: string;
62
+ }>;
63
+ get: (folderKey: string, authToken?: string | null) => Promise<MediaType[]>;
64
+ delete: (key: string, authToken?: string | null) => Promise<void>;
65
+ };
66
+ export declare const filters: {
67
+ getList: (authToken?: string | null) => Promise<Filters[]>;
68
+ get: (id: string, authToken?: string | null) => Promise<Filters>;
69
+ update: (id: string, filtersDto: Filters, authToken?: string | null) => Promise<void>;
70
+ create: (filtersDto: Filters, authToken?: string | null) => Promise<Filters>;
71
+ delete: (id: string, authToken?: string | null) => Promise<void>;
72
+ };
57
73
  export declare const permissions: {
58
74
  get: (authToken?: string | null) => Promise<string[]>;
59
75
  };
60
- export type { Register, User, Company, Role, HireControlConfig, ClientAuthConfig, Event, Listing, EventDates, EventDateType, EventInstance, };
76
+ export type { Register, User, Company, Role, HireControlConfig, ClientAuthConfig, Event, Listing, EventDates, EventDateType, EventInstance, MediaType, Filters, };
61
77
  declare const hcApi: {
62
78
  auth: {
63
79
  login: (clientLogInRequest: import("./types/clientLoginRequest").default) => Promise<any>;
@@ -107,6 +123,20 @@ declare const hcApi: {
107
123
  create: (clientAuthConfig: ClientAuthConfig, authToken?: string | null) => Promise<void>;
108
124
  delete: (id: string, authToken?: string | null) => Promise<void>;
109
125
  };
126
+ filters: {
127
+ getList: (authToken?: string | null) => Promise<Filters[]>;
128
+ get: (id: string, authToken?: string | null) => Promise<Filters>;
129
+ update: (id: string, filtersDto: Filters, authToken?: string | null) => Promise<void>;
130
+ create: (filtersDto: Filters, authToken?: string | null) => Promise<Filters>;
131
+ delete: (id: string, authToken?: string | null) => Promise<void>;
132
+ };
110
133
  listings: ListingsControllerType;
134
+ media: {
135
+ upload: (media: MediaType, authToken?: string | null) => Promise<{
136
+ Url: string;
137
+ }>;
138
+ get: (folderKey: string, authToken?: string | null) => Promise<MediaType[]>;
139
+ delete: (key: string, authToken?: string | null) => Promise<void>;
140
+ };
111
141
  };
112
142
  export default hcApi;
@@ -1,3 +1,4 @@
1
- export default interface ForgotPasswordRequest {
1
+ type ForgotPasswordRequest = {
2
2
  email: string;
3
- }
3
+ };
4
+ export default ForgotPasswordRequest;
@@ -1,3 +1,4 @@
1
+ import FiltersDto from "./filters/filters";
1
2
  type Event = {
2
3
  id?: string;
3
4
  title?: string;
@@ -29,7 +30,8 @@ type Event = {
29
30
  registrationUrl?: string;
30
31
  markupContent?: string;
31
32
  companyId?: string;
32
- filters?: any;
33
+ filters?: FiltersDto;
34
+ filtersId?: string;
33
35
  };
34
36
  export type EventDates = {
35
37
  type: EventDateType;
@@ -0,0 +1,19 @@
1
+ type FiltersDto = {
2
+ id?: string;
3
+ title: string;
4
+ filters: string;
5
+ companyId: number;
6
+ createdBy: {
7
+ userId: string;
8
+ firstName: string;
9
+ lastName: string;
10
+ dateTime: string;
11
+ };
12
+ lastUpdatedBy: {
13
+ userId: string;
14
+ firstName: string;
15
+ lastName: string;
16
+ dateTime: string;
17
+ };
18
+ };
19
+ export default FiltersDto;
@@ -0,0 +1,7 @@
1
+ type MediaType = {
2
+ fileName: string;
3
+ fileUrl: string;
4
+ fileSize: number;
5
+ createdDate: string;
6
+ };
7
+ export default MediaType;
package/index.ts CHANGED
@@ -10,6 +10,8 @@ import UsersControllerType from "./types/controllers/usersControllerType";
10
10
  import ListingsControllerType from "./types/controllers/listingsControllerType";
11
11
  import clientAuthConfigController from "./controllers/clientAuthConfigController";
12
12
  import listingscontroller from "./controllers/listingsController";
13
+ import mediaController from "./controllers/mediaController";
14
+ import filtersController from "./controllers/filtersController";
13
15
 
14
16
  import Register from "./types/register";
15
17
  import User from "./types/user";
@@ -17,8 +19,10 @@ import Role from "./types/role";
17
19
  import Company from "./types/company";
18
20
  import HireControlConfig from "./types/hireControlConfig";
19
21
  import ClientAuthConfig from "./types/clientAuthConfig";
22
+ import MediaType from "./types/media/media";
20
23
  import Event, { EventDates, EventDateType, EventInstance } from "./types/event";
21
24
  import { Listing } from "./types/listing";
25
+ import Filters from "./types/filters/filters";
22
26
 
23
27
  export const auth = {
24
28
  login: authController.login,
@@ -73,6 +77,20 @@ export const clientAuthConfig = {
73
77
  delete: clientAuthConfigController.deleteClientAuthConfig,
74
78
  };
75
79
 
80
+ export const media = {
81
+ upload: mediaController.uploadMedia,
82
+ get: mediaController.listMedia,
83
+ delete: mediaController.deleteMedia,
84
+ };
85
+
86
+ export const filters = {
87
+ getList: filtersController.getFilters,
88
+ get: filtersController.getFilter,
89
+ update: filtersController.updateFilter,
90
+ create: filtersController.createFilter,
91
+ delete: filtersController.deleteFilter,
92
+ };
93
+
76
94
  export const permissions = {
77
95
  get: permissionsController.getAllPermissions,
78
96
  };
@@ -90,6 +108,8 @@ export type {
90
108
  EventDates,
91
109
  EventDateType,
92
110
  EventInstance,
111
+ MediaType,
112
+ Filters,
93
113
  };
94
114
 
95
115
  const hcApi = {
@@ -101,7 +121,9 @@ const hcApi = {
101
121
  mapConfig,
102
122
  permissions,
103
123
  clientAuthConfig,
124
+ filters,
104
125
  listings,
126
+ media,
105
127
  };
106
128
 
107
129
  export default hcApi;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abcagency/hire-control-sdk",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
package/tsconfig.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES6", // Use ES6 or higher if you're using "ESNext" modules
4
- "module": "ESNext", // Keep module as ESNext for Rollup to handle tree-shaking
5
- "importHelpers": true, // Enables using tslib helpers
6
- "declaration": true, // Generate .d.ts files for TypeScript types
7
- "outDir": "./dist", // Output directory for compiled files and types
8
- "strict": true, // Enable strict type-checking options
9
- "esModuleInterop": true, // Interoperability between CommonJS and ES modules
10
- "skipLibCheck": true, // Skip type checking for library files (faster builds)
11
- "moduleResolution": "node", // Ensure proper resolution of node modules
12
- "sourceMap": true, // Generate source maps for debugging
13
- "noImplicitAny": true, // Prevent implicit 'any' types
14
- "declarationDir": "./dist", // Store .d.ts files in a separate folder
3
+ "target": "ES6", // Use ES6 or higher if you're using "ESNext" modules
4
+ "module": "ESNext", // Keep module as ESNext for Rollup to handle tree-shaking
5
+ "importHelpers": true, // Enables using tslib helpers
6
+ "declaration": true, // Generate .d.ts files for TypeScript types
7
+ "outDir": "./dist", // Output directory for compiled files and types
8
+ "strict": true, // Enable strict type-checking options
9
+ "esModuleInterop": true, // Interoperability between CommonJS and ES modules
10
+ "skipLibCheck": true, // Skip type checking for library files (faster builds)
11
+ "moduleResolution": "node", // Ensure proper resolution of node modules
12
+ "sourceMap": true, // Generate source maps for debugging
13
+ "noImplicitAny": true, // Prevent implicit 'any' types
14
+ "declarationDir": "./dist", // Store .d.ts files in a separate folder
15
15
  "forceConsistentCasingInFileNames": true // Ensure file name casing consistency
16
16
  },
17
- "include": ["*.ts"],
17
+ "include": ["*.ts"],
18
18
  "exclude": [
19
- "node_modules", // Exclude node_modules to avoid re-compiling dependencies
20
- "dist" // Exclude the dist folder to avoid re-compiling built files
19
+ "node_modules", // Exclude node_modules to avoid re-compiling dependencies
20
+ "dist" // Exclude the dist folder to avoid re-compiling built files
21
21
  ]
22
22
  }
@@ -1,3 +1,5 @@
1
- export default interface ForgotPasswordRequest {
1
+ type ForgotPasswordRequest = {
2
2
  email: string;
3
- }
3
+ };
4
+
5
+ export default ForgotPasswordRequest;
package/types/event.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import FiltersDto from "./filters/filters";
2
+
1
3
  type Event = {
2
4
  id?: string;
3
5
  title?: string;
@@ -29,7 +31,8 @@ type Event = {
29
31
  registrationUrl?: string; // Optional, for "link" type
30
32
  markupContent?: string;
31
33
  companyId?: string;
32
- filters?: any;
34
+ filters?: FiltersDto;
35
+ filtersId?: string;
33
36
  };
34
37
 
35
38
  export type EventDates = {
@@ -0,0 +1,20 @@
1
+ type FiltersDto = {
2
+ id?: string;
3
+ title: string;
4
+ filters: string;
5
+ companyId: number;
6
+ createdBy: {
7
+ userId: string;
8
+ firstName: string;
9
+ lastName: string;
10
+ dateTime: string;
11
+ };
12
+ lastUpdatedBy: {
13
+ userId: string;
14
+ firstName: string;
15
+ lastName: string;
16
+ dateTime: string;
17
+ };
18
+ };
19
+
20
+ export default FiltersDto;
@@ -0,0 +1,8 @@
1
+ type MediaType = {
2
+ fileName: string;
3
+ fileUrl: string;
4
+ fileSize: number;
5
+ createdDate: string;
6
+ };
7
+
8
+ export default MediaType;