@envoy/envoy-integrations-sdk 2.2.1 → 2.2.5

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,6 +1,7 @@
1
1
  declare type EnvoyOption = {
2
2
  label: string;
3
3
  value: string;
4
+ isDisabled?: boolean;
4
5
  };
5
6
  export default EnvoyOption;
6
7
  //# sourceMappingURL=EnvoyOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvoyOption.d.ts","sourceRoot":"","sources":["../../src/internal/EnvoyOption.ts"],"names":[],"mappings":"AAAA,aAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"EnvoyOption.d.ts","sourceRoot":"","sources":["../../src/internal/EnvoyOption.ts"],"names":[],"mappings":"AAAA,aAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -56,9 +56,15 @@ declare type InvitePayload = {
56
56
  'agreeable-ndas'?: {
57
57
  data: Array<JSONAPIData<'agreeable-ndas'>>;
58
58
  };
59
- 'tenant'?: {
59
+ tenant?: {
60
60
  data: JSONAPIData<'tenants'>;
61
61
  };
62
+ 'invitee-employee'?: {
63
+ data: JSONAPIData<'employees'>;
64
+ };
65
+ creator?: {
66
+ data: JSONAPIData<'users'>;
67
+ };
62
68
  };
63
69
  };
64
70
  export declare function normalizeInvitePayload(payload: InvitePayload): InvitePayload;
@@ -1 +1 @@
1
- {"version":3,"file":"InvitePayload.d.ts","sourceRoot":"","sources":["../../src/payloads/InvitePayload.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD;;GAEG;AACH,aAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE;QACV,yBAAyB,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,0BAA0B,EAAE,OAAO,CAAC;QACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE;gBACT,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;SACH,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE;QACb,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;SAC9B,CAAC;QACF,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC;QACF,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC;QACF,gBAAgB,CAAC,EAAE;YACjB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC5C,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;SAC9B,CAAC;KACH,CAAA;CACF,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAU5E;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"InvitePayload.d.ts","sourceRoot":"","sources":["../../src/payloads/InvitePayload.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD;;GAEG;AACH,aAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE;QACV,yBAAyB,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,uBAAuB,EAAE,MAAM,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,0BAA0B,EAAE,OAAO,CAAC;QACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,YAAY,CAAC,EAAE,KAAK,CAAC;YACnB,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE;gBACT,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;SACH,CAAC,CAAC;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,EAAE;QACb,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;SAC9B,CAAC;QACF,QAAQ,EAAE;YACR,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC;QACF,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC;QACF,gBAAgB,CAAC,EAAE;YACjB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC5C,CAAC;QACF,MAAM,CAAC,EAAE;YACP,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;SAC9B,CAAC;QACF,kBAAkB,CAAC,EAAE;YACnB,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC,CAAC;QACF,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,CAAC;KACH,CAAA;CACF,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAU5E;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,31 @@
1
+ import JSONAPIModel from "../util/json-api/JSONAPIModel";
2
+ export interface ReservationAttributes {
3
+ 'is-partial-day': boolean;
4
+ 'updated-at': number;
5
+ 'is-assignable': boolean;
6
+ 'name': string;
7
+ 'assigned-to': string | null;
8
+ 'neighborhood-id': number;
9
+ 'created-at': number;
10
+ 'neighborhood': number | null;
11
+ 'parent-desk-id': string | null;
12
+ 'availability': string | null;
13
+ 'enabled': boolean;
14
+ 'x-pos': number | null;
15
+ 'y-pos': number | null;
16
+ }
17
+ export interface ReservationCreationAttributes {
18
+ userId: number;
19
+ deskId?: number | null;
20
+ locationId?: number | null;
21
+ inviteId?: number | null;
22
+ entryId?: number | null;
23
+ startTime?: number | null;
24
+ endTime?: number | null;
25
+ meta?: {
26
+ autoAssignDesk?: boolean;
27
+ };
28
+ }
29
+ export declare type ReservationRelationships = 'location' | 'desk' | 'company' | 'floor' | 'employee' | 'entry' | 'invite' | 'user';
30
+ export declare type ReservationModel = JSONAPIModel<ReservationAttributes, ReservationRelationships, 'reservations'>;
31
+ //# sourceMappingURL=ReservationResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReservationResource.d.ts","sourceRoot":"","sources":["../../src/resources/ReservationResource.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAE5C,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,EAAE;QACL,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAED,oBAAY,wBAAwB,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5H,oBAAY,gBAAgB,GAAG,YAAY,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -11,6 +11,7 @@ import JSONAPIPaginationParams from '../util/json-api/JSONAPIPaginationParams';
11
11
  import { InviteCreationModel, InviteFilterFields, InviteModel, InviteSortFields } from '../resources/InviteResource';
12
12
  import { UserModel } from '../resources/UserResource';
13
13
  import { EnvoyMetaAuth } from './EnvoyMeta';
14
+ import { ReservationCreationAttributes, ReservationModel } from "../resources/ReservationResource";
14
15
  export declare type EnvoyUserAPIScope = 'flows.read' | 'entries.read' | 'entries.write' | 'invites.read' | 'invites.write' | 'invites.attest' | 'locations.read' | 'companies.read' | 'agreements.read' | 'agreements.write' | 'sign-in-field-pages.read' | 'sign-in-fields.read' | 'sign-in-fields.write' | 'employees.read' | 'employees.write' | 'badges.read' | 'blacklist-filters.read' | 'blacklist-filters.write' | 'tickets.read' | 'tickets.write' | 'spaces.read' | 'reservations.read' | 'reservations.write' | string;
15
16
  /**
16
17
  * API endpoints for *user-scoped* tokens.
@@ -83,6 +84,7 @@ export default class EnvoyUserAPI extends EnvoyAPI {
83
84
  * May also require `invites.attest` scope if setting `attested: true`.
84
85
  */
85
86
  createInvite(invite: InviteCreationModel): Promise<InviteModel>;
87
+ createReservation(reservationDetails: ReservationCreationAttributes): Promise<ReservationModel>;
86
88
  /**
87
89
  * Requires `invites.write` scope.
88
90
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EnvoyUserAPI.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyUserAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvoyUserAPI.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyUserAPI.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EACL,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EACvE,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEnG,oBAAY,iBAAiB,GAC3B,YAAY,GACZ,cAAc,GACd,eAAe,GACf,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,0BAA0B,GAC1B,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,wBAAwB,GACxB,yBAAyB,GACzB,cAAc,GACd,eAAe,GACf,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,MAAM,CAAC;AAET;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ;IAChD;;;OAGG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjF;;OAEG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzE;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIvE;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI/D;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIvE;;OAEG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrF;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7E;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBjF;;OAEG;IACG,YAAY,CAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,GACzE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAKhC;;OAEG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAK7G;;OAEG;IACG,YAAY,CAChB,MAAM,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,GACzE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAKhC;;OAEG;IACG,eAAe,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAKlF;;OAEG;IACG,UAAU,CACd,MAAM,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GACrE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAKxB,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC;IAK9B;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS/D,iBAAiB,CAAC,kBAAkB,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqCrG;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAUvF;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAU9F;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,QAAQ,SAAgB,GAAG,MAAM;IAS9G;;OAEG;WACU,uBAAuB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAC/B,QAAQ,SAAgB,EACxB,YAAY,SAAoB,GAC/B,OAAO,CAAC,aAAa,CAAC;IAuBzB;;OAEG;WACU,mBAAmB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAC/B,QAAQ,SAAgB,EACxB,YAAY,SAAoB,GAC/B,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;WACU,sBAAsB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAgB,EACxB,YAAY,SAAoB,GAC/B,OAAO,CAAC,aAAa,CAAC;CAoB1B"}
@@ -303,6 +303,44 @@ var EnvoyUserAPI = /** @class */ (function (_super) {
303
303
  });
304
304
  });
305
305
  };
306
+ EnvoyUserAPI.prototype.createReservation = function (reservationDetails) {
307
+ return __awaiter(this, void 0, void 0, function () {
308
+ var createReservationBody, data;
309
+ return __generator(this, function (_a) {
310
+ switch (_a.label) {
311
+ case 0:
312
+ createReservationBody = {
313
+ data: {
314
+ relationships: __assign({ user: {
315
+ data: {
316
+ type: 'users',
317
+ id: reservationDetails.userId
318
+ }
319
+ } }, (reservationDetails.locationId && {
320
+ location: {
321
+ data: {
322
+ type: 'locations',
323
+ id: reservationDetails.locationId
324
+ }
325
+ }
326
+ })),
327
+ attributes: __assign(__assign({ 'start-time': reservationDetails.startTime }, (reservationDetails.endTime && {
328
+ 'end-time': reservationDetails.endTime
329
+ })), { 'booking-source': 'EXTERNAL_API', 'booking-type': 'visitor' })
330
+ }
331
+ };
332
+ return [4 /*yield*/, this.axios({
333
+ method: 'POST',
334
+ url: '/a/rms/reservations',
335
+ data: createReservationBody,
336
+ })];
337
+ case 1:
338
+ data = (_a.sent()).data;
339
+ return [2 /*return*/, data.data];
340
+ }
341
+ });
342
+ });
343
+ };
306
344
  /**
307
345
  * Requires `invites.write` scope.
308
346
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envoy/envoy-integrations-sdk",
3
- "version": "2.2.1",
3
+ "version": "2.2.5",
4
4
  "description": "SDK for building Envoy integrations.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "src"
16
16
  ],
17
17
  "scripts": {
18
- "test": "echo \"Error: no test specified\" && exit 1",
18
+ "test": "jest",
19
19
  "docs:generate": "typedoc",
20
20
  "prepublishOnly": "tsc",
21
21
  "compile": "tsc"
@@ -59,8 +59,9 @@
59
59
  "eslint": "^7.27.0",
60
60
  "eslint-config-airbnb-typescript": "^12.3.1",
61
61
  "eslint-plugin-import": "^2.23.4",
62
+ "jest": "^29.5.0",
62
63
  "jsdoc-to-markdown": "^5.0.0",
63
- "mocha": "^6.1.4",
64
+ "mocha": "^10.2.0",
64
65
  "proxyquire": "^2.1.0",
65
66
  "sinon": "^7.3.2",
66
67
  "typedoc": "^0.20.36",
@@ -1,6 +1,7 @@
1
1
  type EnvoyOption = {
2
2
  label: string,
3
3
  value: string,
4
+ isDisabled?: boolean,
4
5
  };
5
6
 
6
7
  export default EnvoyOption;
@@ -58,9 +58,15 @@ type InvitePayload = {
58
58
  'agreeable-ndas'?: {
59
59
  data: Array<JSONAPIData<'agreeable-ndas'>>,
60
60
  },
61
- 'tenant'?: {
61
+ tenant?: {
62
62
  data: JSONAPIData<'tenants'>,
63
63
  },
64
+ 'invitee-employee'?: {
65
+ data: JSONAPIData<'employees'>,
66
+ },
67
+ creator?: {
68
+ data: JSONAPIData<'users'>,
69
+ },
64
70
  }
65
71
  };
66
72
 
@@ -0,0 +1,40 @@
1
+ import JSONAPIModel from "../util/json-api/JSONAPIModel";
2
+
3
+ export interface ReservationAttributes {
4
+ 'is-partial-day': boolean;
5
+ 'updated-at': number;
6
+ 'is-assignable': boolean;
7
+ 'name': string;
8
+ 'assigned-to': string | null;
9
+ 'neighborhood-id': number;
10
+ 'created-at': number;
11
+ 'neighborhood': number | null;
12
+ 'parent-desk-id': string | null;
13
+ 'availability': string | null;
14
+ 'enabled': boolean;
15
+ 'x-pos': number | null;
16
+ 'y-pos': number | null;
17
+ }
18
+
19
+ export interface ReservationCreationAttributes {
20
+ // Required fields
21
+ userId: number;
22
+
23
+ // Optional fields
24
+ deskId?: number | null;
25
+ locationId?: number | null;
26
+ inviteId?: number | null;
27
+ entryId?: number | null;
28
+ startTime?: number | null; // Unix timestamp
29
+ endTime?: number | null; // Unix timestamp
30
+
31
+ meta?: {
32
+ autoAssignDesk?: boolean;
33
+ };
34
+ }
35
+
36
+ export type ReservationRelationships = 'location' | 'desk' | 'company' | 'floor' | 'employee' | 'entry' | 'invite' | 'user';
37
+
38
+ export type ReservationModel = JSONAPIModel<ReservationAttributes, ReservationRelationships, 'reservations'>
39
+
40
+
@@ -17,6 +17,7 @@ import { UserModel } from '../resources/UserResource';
17
17
  import { envoyBaseURL, envoyClientId, envoyClientSecret } from '../constants';
18
18
  import { EnvoyMetaAuth } from './EnvoyMeta';
19
19
  import { sanitizeAxiosError } from '../util/axiosConstructor';
20
+ import { ReservationCreationAttributes, ReservationModel } from "../resources/ReservationResource";
20
21
 
21
22
  export type EnvoyUserAPIScope =
22
23
  'flows.read' |
@@ -195,6 +196,43 @@ export default class EnvoyUserAPI extends EnvoyAPI {
195
196
  return data.data;
196
197
  }
197
198
 
199
+ async createReservation(reservationDetails: ReservationCreationAttributes): Promise<ReservationModel> {
200
+ let createReservationBody = {
201
+ data: {
202
+ relationships: {
203
+ user: {
204
+ data: {
205
+ type: 'users',
206
+ id: reservationDetails.userId
207
+ }},
208
+ ...(reservationDetails.locationId && {
209
+ location: {
210
+ data: {
211
+ type: 'locations',
212
+ id: reservationDetails.locationId
213
+ }
214
+ }
215
+ }
216
+ )
217
+ },
218
+ attributes: {
219
+ 'start-time': reservationDetails.startTime,
220
+ ...(reservationDetails.endTime && {
221
+ 'end-time': reservationDetails.endTime
222
+ }),
223
+ 'booking-source': 'EXTERNAL_API',
224
+ 'booking-type': 'visitor'
225
+ }
226
+ }
227
+ }
228
+ const { data } = await this.axios({
229
+ method: 'POST',
230
+ url: '/a/rms/reservations',
231
+ data: createReservationBody,
232
+ });
233
+ return data.data;
234
+ }
235
+
198
236
  /**
199
237
  * Requires `invites.write` scope.
200
238
  */
@@ -305,7 +343,7 @@ export default class EnvoyUserAPI extends EnvoyAPI {
305
343
  });
306
344
  return data;
307
345
  } catch (error) {
308
- throw sanitizeAxiosError(error);
346
+ throw sanitizeAxiosError(error);
309
347
  }
310
348
  }
311
349
 
@@ -333,7 +371,7 @@ export default class EnvoyUserAPI extends EnvoyAPI {
333
371
  });
334
372
  return data;
335
373
  } catch (error) {
336
- throw sanitizeAxiosError(error);
374
+ throw sanitizeAxiosError(error);
337
375
  }
338
376
  }
339
377
  }