@envoy/envoy-integrations-sdk 2.2.3 → 2.3.0

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/README.md CHANGED
@@ -183,6 +183,8 @@ const { sub: visitorId } = await jwt.decode(token);
183
183
  */
184
184
  res.send({ foo: 'bar' }); // will save foo in the installation config.
185
185
  // or
186
+ res.send({ foo: null }); // will remove foo from the installation config.
187
+ // or
186
188
  res.sendFailed('This step has failed validation.'); // prevent the installer from progressing.
187
189
 
188
190
  /**
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@ import EnvoyResponse from './sdk/EnvoyResponse';
18
18
  import EnvoyStorageItem from './sdk/EnvoyStorageItem';
19
19
  import EnvoyUserAPI from './sdk/EnvoyUserAPI';
20
20
  import EnvoyPluginAPI from './sdk/EnvoyPluginAPI';
21
+ import EnvoyValidationRouteResponseBody from './sdk/EnvoyValidationRouteResponseBody';
21
22
  import EnvoyJWT from './util/EnvoyJWT';
22
23
  import EnvoySignatureVerifier from './util/EnvoySignatureVerifier';
23
24
  import JSONAPIData from './util/json-api/JSONAPIData';
@@ -48,5 +49,5 @@ export * from './sdk/loggers';
48
49
  export * from './sdk/middleware';
49
50
  export * from './util/EnvoySignatureVerifier';
50
51
  export * from './util/axiosConstructor';
51
- export { EntryPayload, InvitePayload, EnvoyJWT, EnvoyMeta, EnvoyPluginJob, EnvoyPluginJobMock, EnvoyPluginSDK, EnvoyPluginStorage, EnvoyPluginStoragePipeline, EnvoyPluginStoragePipelineMock, EnvoyRequest, EnvoyResponse, EnvoySignatureVerifier, EnvoyStorageItem, EnvoyPluginAPI, EnvoyUserAPI, JSONAPIData, HttpStatus, entryEventBodyFactory, eventBodyFactory, inviteEventBodyFactory, routeBodyFactory, };
52
+ export { EntryPayload, InvitePayload, EnvoyJWT, EnvoyMeta, EnvoyPluginJob, EnvoyPluginJobMock, EnvoyPluginSDK, EnvoyPluginStorage, EnvoyPluginStoragePipeline, EnvoyPluginStoragePipelineMock, EnvoyRequest, EnvoyResponse, EnvoySignatureVerifier, EnvoyStorageItem, EnvoyPluginAPI, EnvoyUserAPI, EnvoyValidationRouteResponseBody, JSONAPIData, HttpStatus, entryEventBodyFactory, eventBodyFactory, inviteEventBodyFactory, routeBodyFactory, };
52
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,0BAA0B,MAAM,mCAAmC,CAAC;AAE3E,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAE5D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,8BAA8B,MAAM,wCAAwC,CAAC;AAEpF,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,sBAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAEtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AAEzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,8BAA8B,EAC9B,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,0BAA0B,MAAM,mCAAmC,CAAC;AAE3E,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAE5D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,8BAA8B,MAAM,wCAAwC,CAAC;AAEpF,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,gCAAgC,MAAM,wCAAwC,CAAC;AAEtF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,sBAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAEtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AAEzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,8BAA8B,EAC9B,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,CAAC"}
@@ -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,7 @@
1
+ import { TakeoverModel } from '../resources/TakeoverResource';
2
+ /**
3
+ * @category Event
4
+ */
5
+ declare type TakeoverPayload = TakeoverModel;
6
+ export default TakeoverPayload;
7
+ //# sourceMappingURL=TakeoverPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TakeoverPayload.d.ts","sourceRoot":"","sources":["../../src/payloads/TakeoverPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;GAEG;AACH,aAAK,eAAe,GAAG,aAAa,CAAC;AAErC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import JSONAPIModel from '../util/json-api/JSONAPIModel';
2
+ /**
3
+ * @category API Resource
4
+ */
5
+ export interface TakeoverAttributes {
6
+ metadata: {
7
+ title: string;
8
+ message: string;
9
+ created_at: string;
10
+ };
11
+ 'start-at': number;
12
+ 'end-at': number | null;
13
+ }
14
+ /**
15
+ * @category API Resource
16
+ */
17
+ export declare type TakeoverRelationships = 'location' | 'company';
18
+ /**
19
+ * @category API Resource
20
+ */
21
+ export declare type TakeoverModel = JSONAPIModel<TakeoverAttributes, TakeoverRelationships>;
22
+ //# sourceMappingURL=TakeoverResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TakeoverResource.d.ts","sourceRoot":"","sources":["../../src/resources/TakeoverResource.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,oBAAY,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D;;GAEG;AACH,oBAAY,aAAa,GAAG,YAAY,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,6 +5,7 @@ import EntryPayload from '../payloads/EntryPayload';
5
5
  import InvitePayload from '../payloads/InvitePayload';
6
6
  import LocationPayload from '../payloads/LocationPayload';
7
7
  import NotificationPayload from '../payloads/NotificationPayload';
8
+ import TakeoverPayload from '../payloads/TakeoverPayload';
8
9
  import EnvoyEntryEvent from '../internal/EnvoyEntryEvent';
9
10
  import EnvoyInviteEvent from '../internal/EnvoyInviteEvent';
10
11
  import EnvoyLocationEvent from '../internal/EnvoyLocationEvent';
@@ -72,7 +73,7 @@ export declare type EnvoyRemoteValueRouteRequest<Config = Record<string, unknown
72
73
  export declare type EnvoyValidationRouteRequest<Payload = Record<string, unknown>, Config = Record<string, unknown>> = EnvoyRouteRequest<Payload, Config, never>;
73
74
  /**
74
75
  * Base type for event requests.
75
- * You should use {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}.
76
+ * You should prefer specific types such as {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}.
76
77
  *
77
78
  * @category Request
78
79
  */
@@ -104,6 +105,12 @@ export declare type EnvoyLocationEventRequest<Config = Record<string, unknown>>
104
105
  * @category Request
105
106
  */
106
107
  export declare type EnvoyNotificationEventRequest<Config = Record<string, unknown>> = EnvoyEventRequest<string, NotificationPayload, Config>;
108
+ /**
109
+ * Use to type your `req` object in your takeover event handler.
110
+ *
111
+ * @category Request
112
+ */
113
+ export declare type EnvoyTakeoverEventRequest<Config = Record<string, unknown>> = EnvoyEventRequest<string, TakeoverPayload, Config>;
107
114
  /**
108
115
  * You probably won't need to use this type directly.
109
116
  * For routes, use {@link EnvoyRouteRequest},
@@ -1 +1 @@
1
- {"version":3,"file":"EnvoyRequest.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvoyRequest.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyRequest.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import EnvoyPluginJobAttachment from './EnvoyPluginJobAttachment';
3
3
  import EnvoyOptionsRouteResponseBody from '../internal/EnvoyOptionsRouteResponseBody';
4
4
  import EnvoySelectedValuesRouteResponseBody from '../internal/EnvoySelectedValuesRouteResponseBody';
5
5
  import EnvoyRemoteValueRouteResponseBody from '../internal/EnvoyRemoteValueRouteResponseBody';
6
+ import EnvoyValidationRouteResponseBody from './EnvoyValidationRouteResponseBody';
6
7
  /**
7
8
  * Use to type your `res` object in Envoy event handlers.
8
9
  * @category Response
@@ -39,4 +40,11 @@ export declare type EnvoyRemoteValueRouteResponse = EnvoyResponse<EnvoyRemoteVal
39
40
  * @category Response
40
41
  */
41
42
  export declare type EnvoySelectedValuesRouteResponse = EnvoyResponse<EnvoySelectedValuesRouteResponseBody>;
43
+ /**
44
+ * Use to type your `res` object in Envoy "validation URL" route handlers.
45
+ * The response body should likely include validated values from the request payload
46
+ * and optionally additional config values.
47
+ * @category Response
48
+ */
49
+ export declare type EnvoyValidationRouteResponse<Config> = EnvoyResponse<EnvoyValidationRouteResponseBody<Config>>;
42
50
  //# sourceMappingURL=EnvoyResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvoyResponse.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,oCAAoC,MAAM,kDAAkD,CAAC;AACpG,OAAO,iCAAiC,MAAM,+CAA+C,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,QAAQ;IACrE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;IAE7G;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;CAC7G;AAED;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,aAAa,CAAC,6BAA6B,CAAC,CAAC;AAErF;;;GAGG;AACH,oBAAY,6BAA6B,GAAG,aAAa,CAAC,iCAAiC,CAAC,CAAC;AAE7F;;;GAGG;AACH,oBAAY,gCAAgC,GAAG,aAAa,CAAC,oCAAoC,CAAC,CAAC"}
1
+ {"version":3,"file":"EnvoyResponse.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,oCAAoC,MAAM,kDAAkD,CAAC;AACpG,OAAO,iCAAiC,MAAM,+CAA+C,CAAC;AAC9F,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAElF;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,QAAQ;IACrE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;IAE7G;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,IAAI,CAAC;CAC7G;AAED;;;GAGG;AACH,oBAAY,yBAAyB,GAAG,aAAa,CAAC,6BAA6B,CAAC,CAAC;AAErF;;;GAGG;AACH,oBAAY,6BAA6B,GAAG,aAAa,CAAC,iCAAiC,CAAC,CAAC;AAE7F;;;GAGG;AACH,oBAAY,gCAAgC,GAAG,aAAa,CAAC,oCAAoC,CAAC,CAAC;AAEnG;;;;;GAKG;AACH,oBAAY,4BAA4B,CAAC,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ declare type Nullable<T> = {
2
+ [P in keyof T]: T[P] | null;
3
+ };
4
+ /**
5
+ * Config to merge with existing config.
6
+ * It should likely include validated values from the request payload and optionally additional config values.
7
+ *
8
+ * @category Response Body
9
+ */
10
+ declare type EnvoyValidationRouteResponseBody<Config> = Nullable<Partial<Config>>;
11
+ export default EnvoyValidationRouteResponseBody;
12
+ //# sourceMappingURL=EnvoyValidationRouteResponseBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvoyValidationRouteResponseBody.d.ts","sourceRoot":"","sources":["../../src/sdk/EnvoyValidationRouteResponseBody.ts"],"names":[],"mappings":"AAAA,aAAK,QAAQ,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,aAAK,gCAAgC,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,eAAe,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  /// <reference types="qs" />
2
2
  import { RequestHandler, Request, Response } from 'express';
3
- import { EnvoyEntryEventRequest, EnvoyEventRequest, EnvoyInviteEventRequest, EnvoyLocationEventRequest, EnvoyMigrationRouteRequest, EnvoyNotificationEventRequest, EnvoyOptionsRouteRequest, EnvoyRemoteValueRouteRequest, EnvoySelectedValuesRouteRequest, EnvoyValidationRouteRequest } from './EnvoyRequest';
4
- import EnvoyResponse, { EnvoyOptionsRouteResponse, EnvoyRemoteValueRouteResponse, EnvoySelectedValuesRouteResponse } from './EnvoyResponse';
3
+ import { EnvoyEntryEventRequest, EnvoyEventRequest, EnvoyInviteEventRequest, EnvoyLocationEventRequest, EnvoyMigrationRouteRequest, EnvoyNotificationEventRequest, EnvoyOptionsRouteRequest, EnvoyRemoteValueRouteRequest, EnvoySelectedValuesRouteRequest, EnvoyTakeoverEventRequest, EnvoyValidationRouteRequest } from './EnvoyRequest';
4
+ import EnvoyResponse, { EnvoyOptionsRouteResponse, EnvoyRemoteValueRouteResponse, EnvoySelectedValuesRouteResponse, EnvoyValidationRouteResponse } from './EnvoyResponse';
5
5
  declare type SomeObject = Record<string, unknown>;
6
6
  declare type Result = Promise<void> | void;
7
7
  /**
@@ -24,6 +24,11 @@ export declare type LocationEventHandler<Config = SomeObject, Additions = SomeOb
24
24
  * @category Handler
25
25
  */
26
26
  export declare type NotificationEventHandler<Config = SomeObject, Additions = SomeObject> = (req: EnvoyNotificationEventRequest<Config> & Additions, res: EnvoyResponse) => Result;
27
+ /**
28
+ * Handle a takeover event.
29
+ * @category Handler
30
+ */
31
+ export declare type TakeoverEventHandler<Config = SomeObject, Additions = SomeObject> = (req: EnvoyTakeoverEventRequest<Config> & Additions, res: EnvoyResponse) => Result;
27
32
  /**
28
33
  * Handle a `plugin_uninstalled` event for cleaning up.
29
34
  * @category Handler
@@ -53,7 +58,7 @@ export declare type SelectedValuesRouteHandler<Config = SomeObject, Additions =
53
58
  * Handle a "validation" route.
54
59
  * @category Handler
55
60
  */
56
- export declare type ValidationRouteHandler<Config = SomeObject, Payload = SomeObject, Additions = SomeObject> = (req: EnvoyValidationRouteRequest<Payload, Config> & Additions, res: EnvoyResponse<Partial<Config>>) => Result;
61
+ export declare type ValidationRouteHandler<Config = SomeObject, Payload = SomeObject, Additions = SomeObject> = (req: EnvoyValidationRouteRequest<Payload, Config> & Additions, res: EnvoyValidationRouteResponse<Config>) => Result;
57
62
  /**
58
63
  * Wraps any express.js-based handlers
59
64
  * to catch Promise-based errors.
@@ -91,6 +96,12 @@ export declare function migrationRouteHandler<OldConfig, NewConfig, Additions =
91
96
  * @category Handler
92
97
  */
93
98
  export declare function notificationEventHandler<Config = SomeObject, Additions = SomeObject>(handler: NotificationEventHandler<Config, Additions>): RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
99
+ /**
100
+ * Handler for takeover events.
101
+ *
102
+ * @category Handler
103
+ */
104
+ export declare function takeoverEventHandler<Config = SomeObject, Additions = SomeObject>(handler: TakeoverEventHandler<Config, Additions>): RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
94
105
  /**
95
106
  * Handler for options URL routes.
96
107
  *
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/sdk/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/sdk/handlers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validationRouteHandler = exports.selectedValuesRouteHandler = exports.remoteValueRouteHandler = exports.pluginUninstalledEventHandler = exports.optionsRouteHandler = exports.notificationEventHandler = exports.migrationRouteHandler = exports.locationEventHandler = exports.inviteEventHandler = exports.entryEventHandler = exports.asyncHandler = void 0;
3
+ exports.validationRouteHandler = exports.selectedValuesRouteHandler = exports.remoteValueRouteHandler = exports.pluginUninstalledEventHandler = exports.optionsRouteHandler = exports.takeoverEventHandler = exports.notificationEventHandler = exports.migrationRouteHandler = exports.locationEventHandler = exports.inviteEventHandler = exports.entryEventHandler = exports.asyncHandler = void 0;
4
4
  /**
5
5
  * Wraps any express.js-based handlers
6
6
  * to catch Promise-based errors.
@@ -61,6 +61,15 @@ function notificationEventHandler(handler) {
61
61
  return asyncHandler(handler);
62
62
  }
63
63
  exports.notificationEventHandler = notificationEventHandler;
64
+ /**
65
+ * Handler for takeover events.
66
+ *
67
+ * @category Handler
68
+ */
69
+ function takeoverEventHandler(handler) {
70
+ return asyncHandler(handler);
71
+ }
72
+ exports.takeoverEventHandler = takeoverEventHandler;
64
73
  /**
65
74
  * Handler for options URL routes.
66
75
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envoy/envoy-integrations-sdk",
3
- "version": "2.2.3",
3
+ "version": "2.3.0",
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",
package/src/index.ts CHANGED
@@ -24,6 +24,7 @@ import EnvoyResponse from './sdk/EnvoyResponse';
24
24
  import EnvoyStorageItem from './sdk/EnvoyStorageItem';
25
25
  import EnvoyUserAPI from './sdk/EnvoyUserAPI';
26
26
  import EnvoyPluginAPI from './sdk/EnvoyPluginAPI';
27
+ import EnvoyValidationRouteResponseBody from './sdk/EnvoyValidationRouteResponseBody';
27
28
 
28
29
  import EnvoyJWT from './util/EnvoyJWT';
29
30
  import EnvoySignatureVerifier from './util/EnvoySignatureVerifier';
@@ -77,6 +78,7 @@ export {
77
78
  EnvoyStorageItem,
78
79
  EnvoyPluginAPI,
79
80
  EnvoyUserAPI,
81
+ EnvoyValidationRouteResponseBody,
80
82
  JSONAPIData,
81
83
  HttpStatus,
82
84
  entryEventBodyFactory,
@@ -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,8 @@
1
+ import { TakeoverModel } from '../resources/TakeoverResource';
2
+
3
+ /**
4
+ * @category Event
5
+ */
6
+ type TakeoverPayload = TakeoverModel;
7
+
8
+ export default TakeoverPayload;
@@ -0,0 +1,24 @@
1
+ import JSONAPIModel from '../util/json-api/JSONAPIModel';
2
+
3
+ /**
4
+ * @category API Resource
5
+ */
6
+ export interface TakeoverAttributes {
7
+ metadata: {
8
+ title: string;
9
+ message: string;
10
+ created_at: string;
11
+ };
12
+ 'start-at': number;
13
+ 'end-at': number | null;
14
+ }
15
+
16
+ /**
17
+ * @category API Resource
18
+ */
19
+ export type TakeoverRelationships = 'location' | 'company';
20
+
21
+ /**
22
+ * @category API Resource
23
+ */
24
+ export type TakeoverModel = JSONAPIModel<TakeoverAttributes, TakeoverRelationships>;
@@ -5,6 +5,7 @@ import EntryPayload from '../payloads/EntryPayload';
5
5
  import InvitePayload from '../payloads/InvitePayload';
6
6
  import LocationPayload from '../payloads/LocationPayload';
7
7
  import NotificationPayload from '../payloads/NotificationPayload';
8
+ import TakeoverPayload from '../payloads/TakeoverPayload';
8
9
  import EnvoyEntryEvent from '../internal/EnvoyEntryEvent';
9
10
  import EnvoyInviteEvent from '../internal/EnvoyInviteEvent';
10
11
  import EnvoyLocationEvent from '../internal/EnvoyLocationEvent';
@@ -91,7 +92,7 @@ export type EnvoyValidationRouteRequest<Payload = Record<string, unknown>, Confi
91
92
 
92
93
  /**
93
94
  * Base type for event requests.
94
- * You should use {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}.
95
+ * You should prefer specific types such as {@link EnvoyEntryEventRequest} or {@link EnvoyInviteEventRequest}.
95
96
  *
96
97
  * @category Request
97
98
  */
@@ -133,6 +134,14 @@ export type EnvoyLocationEventRequest<Config = Record<string, unknown>> =
133
134
  export type EnvoyNotificationEventRequest<Config = Record<string, unknown>> =
134
135
  EnvoyEventRequest<string, NotificationPayload, Config>;
135
136
 
137
+ /**
138
+ * Use to type your `req` object in your takeover event handler.
139
+ *
140
+ * @category Request
141
+ */
142
+ export type EnvoyTakeoverEventRequest<Config = Record<string, unknown>> =
143
+ EnvoyEventRequest<string, TakeoverPayload, Config>;
144
+
136
145
  /**
137
146
  * You probably won't need to use this type directly.
138
147
  * For routes, use {@link EnvoyRouteRequest},
@@ -3,6 +3,7 @@ import EnvoyPluginJobAttachment from './EnvoyPluginJobAttachment';
3
3
  import EnvoyOptionsRouteResponseBody from '../internal/EnvoyOptionsRouteResponseBody';
4
4
  import EnvoySelectedValuesRouteResponseBody from '../internal/EnvoySelectedValuesRouteResponseBody';
5
5
  import EnvoyRemoteValueRouteResponseBody from '../internal/EnvoyRemoteValueRouteResponseBody';
6
+ import EnvoyValidationRouteResponseBody from './EnvoyValidationRouteResponseBody';
6
7
 
7
8
  /**
8
9
  * Use to type your `res` object in Envoy event handlers.
@@ -44,3 +45,11 @@ export type EnvoyRemoteValueRouteResponse = EnvoyResponse<EnvoyRemoteValueRouteR
44
45
  * @category Response
45
46
  */
46
47
  export type EnvoySelectedValuesRouteResponse = EnvoyResponse<EnvoySelectedValuesRouteResponseBody>;
48
+
49
+ /**
50
+ * Use to type your `res` object in Envoy "validation URL" route handlers.
51
+ * The response body should likely include validated values from the request payload
52
+ * and optionally additional config values.
53
+ * @category Response
54
+ */
55
+ export type EnvoyValidationRouteResponse<Config> = EnvoyResponse<EnvoyValidationRouteResponseBody<Config>>;
@@ -0,0 +1,12 @@
1
+ type Nullable<T> = {
2
+ [P in keyof T]: T[P] | null;
3
+ };
4
+
5
+ /**
6
+ * Config to merge with existing config.
7
+ * It should likely include validated values from the request payload and optionally additional config values.
8
+ *
9
+ * @category Response Body
10
+ */
11
+ type EnvoyValidationRouteResponseBody<Config> = Nullable<Partial<Config>>;
12
+ export default EnvoyValidationRouteResponseBody;
@@ -14,12 +14,14 @@ import {
14
14
  EnvoyOptionsRouteRequest,
15
15
  EnvoyRemoteValueRouteRequest,
16
16
  EnvoySelectedValuesRouteRequest,
17
+ EnvoyTakeoverEventRequest,
17
18
  EnvoyValidationRouteRequest,
18
19
  } from './EnvoyRequest';
19
20
  import EnvoyResponse, {
20
21
  EnvoyOptionsRouteResponse,
21
22
  EnvoyRemoteValueRouteResponse,
22
23
  EnvoySelectedValuesRouteResponse,
24
+ EnvoyValidationRouteResponse,
23
25
  } from './EnvoyResponse';
24
26
 
25
27
  type SomeObject = Record<string, unknown>;
@@ -54,6 +56,13 @@ export type LocationEventHandler<Config = SomeObject, Additions = SomeObject> =
54
56
  export type NotificationEventHandler<Config = SomeObject, Additions = SomeObject> =
55
57
  (req: EnvoyNotificationEventRequest<Config> & Additions, res: EnvoyResponse) => Result;
56
58
 
59
+ /**
60
+ * Handle a takeover event.
61
+ * @category Handler
62
+ */
63
+ export type TakeoverEventHandler<Config = SomeObject, Additions = SomeObject> =
64
+ (req: EnvoyTakeoverEventRequest<Config> & Additions, res: EnvoyResponse) => Result;
65
+
57
66
  /**
58
67
  * Handle a `plugin_uninstalled` event for cleaning up.
59
68
  * @category Handler
@@ -94,7 +103,7 @@ export type SelectedValuesRouteHandler<Config = SomeObject, Additions = SomeObje
94
103
  * @category Handler
95
104
  */
96
105
  export type ValidationRouteHandler<Config = SomeObject, Payload = SomeObject, Additions = SomeObject> =
97
- (req: EnvoyValidationRouteRequest<Payload, Config> & Additions, res: EnvoyResponse<Partial<Config>>) => Result;
106
+ (req: EnvoyValidationRouteRequest<Payload, Config> & Additions, res: EnvoyValidationRouteResponse<Config>) => Result;
98
107
 
99
108
  /**
100
109
  * Wraps any express.js-based handlers
@@ -172,6 +181,18 @@ export function notificationEventHandler<
172
181
  return asyncHandler(handler);
173
182
  }
174
183
 
184
+ /**
185
+ * Handler for takeover events.
186
+ *
187
+ * @category Handler
188
+ */
189
+ export function takeoverEventHandler<
190
+ Config = SomeObject,
191
+ Additions = SomeObject,
192
+ >(handler: TakeoverEventHandler<Config, Additions>) {
193
+ return asyncHandler(handler);
194
+ }
195
+
175
196
  /**
176
197
  * Handler for options URL routes.
177
198
  *