skikrumb-api 2.1.10 → 2.1.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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { apiKeys, Device, Gateways, QueryDevice, RateRequest, Rates, ExternalUserRequest, ExternalUserResponse, ShareLinkRequest, ShareLinkResponse, SharePreviewResponse, ShareAcceptRequest, ShareAcceptResponse } from './models';
1
+ import { apiKeys, Device, Gateways, QueryDevice, RateRequest, Rates, ExternalUserRequest, ExternalUserResponse, ShareLinkRequest, ShareLinkResponse, SharePreviewResponse, ShareAcceptRequest, ShareAcceptResponse, Data } from './models';
2
2
  type RealtimeEndpointType = 'user' | 'organization';
3
3
  declare class SkiKrumbRealtimeClient {
4
4
  private websocket;
@@ -38,6 +38,7 @@ export declare const skiKrumb: (options?: {
38
38
  readDeviceDailyDistance: (deviceSerialNumber: string) => Promise<unknown>;
39
39
  readDeviceData: (deviceSerialNumber: string, limit?: number) => Promise<unknown>;
40
40
  readDataForDevices: (query: QueryDevice) => Promise<Device[]>;
41
+ readOrganizationData: () => Promise<Data[]>;
41
42
  readGateways: () => Promise<Gateways>;
42
43
  readShippingRates: (rateRequest: RateRequest) => Promise<Rates>;
43
44
  sendMobileLocation: (payload: {
package/dist/index.js CHANGED
@@ -219,7 +219,8 @@ class SkiKrumbRealtimeClient {
219
219
  try {
220
220
  callback(data);
221
221
  }
222
- catch (error) { }
222
+ catch (error) {
223
+ }
223
224
  });
224
225
  }
225
226
  isConnected() {
@@ -240,6 +241,22 @@ export const skiKrumb = (options = {
240
241
  'x-client': options.requestedWith,
241
242
  },
242
243
  });
244
+ const requestWithTimeZone = request.extend({
245
+ hooks: {
246
+ beforeRequest: [
247
+ (request) => {
248
+ // Get the client's timezone
249
+ const clientTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
250
+ // Add the TimeZone header
251
+ request.headers.set('TimeZone', clientTimeZone);
252
+ // Add the supabase token if it exists
253
+ if (options.supabaseToken) {
254
+ request.headers.set('supabase-auth-token', options.supabaseToken);
255
+ }
256
+ },
257
+ ],
258
+ },
259
+ });
243
260
  // Device API endpoints
244
261
  const createDevice = async (device) => {
245
262
  const response = await request
@@ -293,12 +310,17 @@ export const skiKrumb = (options = {
293
310
  const readDataForDevices = async (query) => {
294
311
  if (!query.serial_numbers)
295
312
  throw new Error('Serial number is required');
296
- return request
313
+ return requestWithTimeZone
297
314
  .get('devices/data', {
298
315
  searchParams: new URLSearchParams({ ...query }),
299
316
  })
300
317
  .json();
301
318
  };
319
+ const readOrganizationData = async () => {
320
+ return requestWithTimeZone
321
+ .get('devices/data/organization')
322
+ .json();
323
+ };
302
324
  const readGateways = async () => {
303
325
  try {
304
326
  const response = await request.get('gateways').json();
@@ -558,6 +580,7 @@ export const skiKrumb = (options = {
558
580
  readDeviceDailyDistance,
559
581
  readDeviceData,
560
582
  readDataForDevices,
583
+ readOrganizationData,
561
584
  readGateways,
562
585
  readShippingRates,
563
586
  sendMobileLocation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skikrumb-api",
3
- "version": "2.1.10",
3
+ "version": "2.1.11",
4
4
  "description": "Wrapper for the skiKrumb API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",