@envoy/envoy-integrations-sdk 2.2.0 → 2.2.1

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,3 +1,4 @@
1
+ import JSONAPIData from '../util/json-api/JSONAPIData';
1
2
  import JSONAPIModel from '../util/json-api/JSONAPIModel';
2
3
  /**
3
4
  * @category API Resource
@@ -82,5 +83,25 @@ export declare type InviteModel = JSONAPIModel<InviteAttributes, InviteRelations
82
83
  /**
83
84
  * @category API Resource
84
85
  */
85
- export declare type InviteCreationModel = JSONAPIModel<InviteCreationAttributes, InviteRelationships, 'invites', undefined>;
86
+ declare type InviteCreationRequiredRelationships = 'location';
87
+ declare type InviteCreationProhibitedRelationships = 'creator';
88
+ declare type InviteCreationOptionalRelationships = Exclude<InviteRelationships, InviteCreationRequiredRelationships | InviteCreationProhibitedRelationships>;
89
+ /**
90
+ * Here we are going to do a little surgery on JSONAPIModel to allow us to specify required and optional relationships.
91
+ * We do this by first omitting the relationships field from JSONAPIModel, then adding it back in with modified type.
92
+ */
93
+ export declare type InviteCreationModel = Omit<JSONAPIModel<InviteCreationAttributes, InviteRelationships, 'invites', undefined>, 'relationships'> & {
94
+ relationships: {
95
+ [key in InviteCreationRequiredRelationships]: {
96
+ data: JSONAPIData | Array<JSONAPIData>;
97
+ };
98
+ } & {
99
+ [key in InviteCreationOptionalRelationships]?: {
100
+ data: JSONAPIData | Array<JSONAPIData> | null;
101
+ };
102
+ } & {
103
+ [key in InviteCreationProhibitedRelationships]?: never;
104
+ };
105
+ };
106
+ export {};
86
107
  //# sourceMappingURL=InviteResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InviteResource.d.ts","sourceRoot":"","sources":["../../src/resources/InviteResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InviteResource.d.ts","sourceRoot":"","sources":["../../src/resources/InviteResource.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,eAAe,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE;QAClB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QACrD,aAAa,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;YACpC,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE;gBACR,OAAO,CAAC,EAAE;oBACR,IAAI,EAAE,MAAM,CAAC;oBACb,MAAM,EAAE,MAAM,CAAC;iBAChB,CAAC;aACH,CAAC;SACH,CAAC,CAAC;KACJ,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtG;;GAEG;AACH,oBAAY,WAAW,GAAG,YAAY,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;AAEzF;;GAEG;AACH,aAAK,mCAAmC,GAAG,UAAU,CAAC;AACtD,aAAK,qCAAqC,GAAG,SAAS,CAAC;AACvD,aAAK,mCAAmC,GAAG,OAAO,CAChD,mBAAmB,EACnB,mCAAmC,GAAG,qCAAqC,CAC5E,CAAC;AAEF;;;GAGG;AACH,oBAAY,mBAAmB,GAAG,IAAI,CACpC,YAAY,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,CAAC,EACjF,eAAe,CAChB,GAAG;IACF,aAAa,EAAE;SACZ,GAAG,IAAI,mCAAmC,GAAG;YAC5C,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;SACxC;KACF,GAAG;SACD,GAAG,IAAI,mCAAmC,CAAC,CAAC,EAAE;YAC7C,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SAC/C;KACF,GAAG;SACD,GAAG,IAAI,qCAAqC,CAAC,CAAC,EAAE,KAAK;KACvD,CAAC;CACH,CAAC"}
@@ -3,7 +3,7 @@ export default interface JSONAPIModel<Attributes, Relationships extends string,
3
3
  attributes: Attributes;
4
4
  relationships: {
5
5
  [key in Relationships]: {
6
- data: JSONAPIData & Array<JSONAPIData>;
6
+ data: JSONAPIData | Array<JSONAPIData> | null;
7
7
  };
8
8
  };
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JSONAPIModel.d.ts","sourceRoot":"","sources":["../../../src/util/json-api/JSONAPIModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,UAAU,EAAE,aAAa,SAAS,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAE,SAAQ,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;IACvI,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE;SACZ,GAAG,IAAI,aAAa,GAAG;YACtB,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;SACvC;KACF,CAAA;CACF"}
1
+ {"version":3,"file":"JSONAPIModel.d.ts","sourceRoot":"","sources":["../../../src/util/json-api/JSONAPIModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,UAAU,EAAE,aAAa,SAAS,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CACxG,SAAQ,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE;SACZ,GAAG,IAAI,aAAa,GAAG;YACtB,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;SAC/C;KACF,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@envoy/envoy-integrations-sdk",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "SDK for building Envoy integrations.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,3 +1,4 @@
1
+ import JSONAPIData from '../util/json-api/JSONAPIData';
1
2
  import JSONAPIModel from '../util/json-api/JSONAPIModel';
2
3
 
3
4
  /**
@@ -32,15 +33,15 @@ export interface InviteAttributes {
32
33
  auto_approved: boolean;
33
34
  report: Array<{
34
35
  reason: string;
35
- result: 'pass' | 'fail' | 'pending',
36
- source: string,
36
+ result: 'pass' | 'fail' | 'pending';
37
+ source: string;
37
38
  messages: {
38
39
  failure?: {
39
- text: string,
40
- header: string,
41
- }
42
- }
43
- }>
40
+ text: string;
41
+ header: string;
42
+ };
43
+ };
44
+ }>;
44
45
  };
45
46
  email?: string;
46
47
  'expected-arrival-time'?: string;
@@ -89,4 +90,30 @@ export type InviteModel = JSONAPIModel<InviteAttributes, InviteRelationships, 'i
89
90
  /**
90
91
  * @category API Resource
91
92
  */
92
- export type InviteCreationModel = JSONAPIModel<InviteCreationAttributes, InviteRelationships, 'invites', undefined>;
93
+ type InviteCreationRequiredRelationships = 'location'; // surprising, but flow is not required. if not provided, it will be defaulted
94
+ type InviteCreationProhibitedRelationships = 'creator';
95
+ type InviteCreationOptionalRelationships = Exclude<
96
+ InviteRelationships,
97
+ InviteCreationRequiredRelationships | InviteCreationProhibitedRelationships
98
+ >;
99
+
100
+ /**
101
+ * Here we are going to do a little surgery on JSONAPIModel to allow us to specify required and optional relationships.
102
+ * We do this by first omitting the relationships field from JSONAPIModel, then adding it back in with modified type.
103
+ */
104
+ export type InviteCreationModel = Omit<
105
+ JSONAPIModel<InviteCreationAttributes, InviteRelationships, 'invites', undefined>,
106
+ 'relationships'
107
+ > & {
108
+ relationships: {
109
+ [key in InviteCreationRequiredRelationships]: {
110
+ data: JSONAPIData | Array<JSONAPIData>;
111
+ };
112
+ } & {
113
+ [key in InviteCreationOptionalRelationships]?: {
114
+ data: JSONAPIData | Array<JSONAPIData> | null;
115
+ };
116
+ } & {
117
+ [key in InviteCreationProhibitedRelationships]?: never;
118
+ };
119
+ };
@@ -1,10 +1,11 @@
1
1
  import JSONAPIData from './JSONAPIData';
2
2
 
3
- export default interface JSONAPIModel<Attributes, Relationships extends string, Type = string, ID = string> extends JSONAPIData<Type, ID> {
3
+ export default interface JSONAPIModel<Attributes, Relationships extends string, Type = string, ID = string>
4
+ extends JSONAPIData<Type, ID> {
4
5
  attributes: Attributes;
5
6
  relationships: {
6
7
  [key in Relationships]: {
7
- data: JSONAPIData & Array<JSONAPIData>
8
+ data: JSONAPIData | Array<JSONAPIData> | null;
8
9
  };
9
- }
10
+ };
10
11
  }