pi-kiosk-shared 2.1.5 → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.d.ts CHANGED
@@ -31,12 +31,14 @@ export declare const API_ENDPOINTS: {
31
31
  export declare class APIClient {
32
32
  private baseUrl;
33
33
  private kioskSecret?;
34
- constructor(baseUrl: string, kioskSecret?: string);
34
+ private tenantCode?;
35
+ constructor(baseUrl: string, kioskSecret?: string, tenantCode?: string);
36
+ private injectTenantIntoEndpoint;
35
37
  private request;
36
38
  get<T>(endpoint: string): Promise<T>;
37
39
  post<T>(endpoint: string, data?: any): Promise<T>;
38
40
  put<T>(endpoint: string, data?: any): Promise<T>;
39
41
  delete<T>(endpoint: string): Promise<T>;
40
42
  }
41
- export declare const createAPIClient: (baseUrl?: string, kioskSecret?: string) => APIClient;
43
+ export declare const createAPIClient: (baseUrl?: string, kioskSecret?: string, tenantCode?: string) => APIClient;
42
44
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsChB,CAAC;AAEX,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;YAQnC,OAAO;IAuCf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAOhD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,cAKrE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsChB,CAAC;AAEX,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAStE,OAAO,CAAC,wBAAwB;YAalB,OAAO;IAyCf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAOhD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,EAAE,aAAa,MAAM,cAK1F,CAAC"}
package/dist/api.js CHANGED
@@ -37,18 +37,34 @@ export const API_ENDPOINTS = {
37
37
  export class APIClient {
38
38
  baseUrl;
39
39
  kioskSecret;
40
- constructor(baseUrl, kioskSecret) {
40
+ tenantCode;
41
+ constructor(baseUrl, kioskSecret, tenantCode) {
41
42
  if (!baseUrl || typeof baseUrl !== 'string') {
42
43
  throw new Error('APIClient: baseUrl is required and must be a string');
43
44
  }
44
45
  this.baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
45
46
  this.kioskSecret = kioskSecret;
47
+ this.tenantCode = tenantCode;
48
+ }
49
+ injectTenantIntoEndpoint(endpoint) {
50
+ if (!this.tenantCode) {
51
+ return endpoint;
52
+ }
53
+ if (endpoint.startsWith('/api/')) {
54
+ // Handle query strings - split endpoint and query, inject tenant into path only
55
+ const [path, query] = endpoint.split('?');
56
+ const tenantPath = `/api/${this.tenantCode}${path.slice(4)}`;
57
+ return query ? `${tenantPath}?${query}` : tenantPath;
58
+ }
59
+ return endpoint;
46
60
  }
47
61
  async request(endpoint, options = {}) {
48
62
  if (!endpoint || typeof endpoint !== 'string') {
49
63
  throw new Error(`APIClient: endpoint is required and must be a string, got: ${typeof endpoint}`);
50
64
  }
51
- const url = `${this.baseUrl}${endpoint}`;
65
+ // Inject tenant into endpoint path if tenant is configured
66
+ const tenantEndpoint = this.injectTenantIntoEndpoint(endpoint);
67
+ const url = `${this.baseUrl}${tenantEndpoint}`;
52
68
  // Validate URL before making request
53
69
  try {
54
70
  new URL(url);
@@ -92,9 +108,9 @@ export class APIClient {
92
108
  return this.request(endpoint, { method: 'DELETE' });
93
109
  }
94
110
  }
95
- export const createAPIClient = (baseUrl, kioskSecret) => {
111
+ export const createAPIClient = (baseUrl, kioskSecret, tenantCode) => {
96
112
  // Fallback to default if not provided
97
113
  const url = baseUrl || 'http://localhost:3015';
98
- return new APIClient(url, kioskSecret);
114
+ return new APIClient(url, kioskSecret, tenantCode);
99
115
  };
100
116
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-kiosk-shared",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "private": false,
5
5
  "description": "Shared types, API contracts, and error classes for Pi Kiosk system",
6
6
  "keywords": [
@@ -34,8 +34,8 @@
34
34
  "clean": "rimraf dist",
35
35
  "publish:local": "npm run build && npm pack --pack-destination ../",
36
36
  "prepublishOnly": "npm run build",
37
- "preversion": "npm run test",
38
- "postversion": "git push && git push --tags"
37
+ "preversion": "npm run test -- --passWithNoTests",
38
+ "postversion": "echo 'Version updated. Run git push && git push --tags manually if needed.'"
39
39
  },
40
40
  "files": [
41
41
  "dist",