@takeshape/schema 8.31.0 → 8.35.2

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.
Files changed (135) hide show
  1. package/es/index.js +3 -3
  2. package/es/migration/index.js +82 -0
  3. package/es/migration/to/v3.0.0.js +245 -0
  4. package/es/migration/to/v3.1.0.js +218 -0
  5. package/es/migration/to/v3.10.0.js +56 -0
  6. package/es/migration/to/v3.11.0.js +99 -0
  7. package/es/migration/to/v3.2.0.js +10 -0
  8. package/es/migration/to/v3.3.0.js +16 -0
  9. package/es/migration/to/v3.4.0.js +10 -0
  10. package/es/migration/to/v3.5.0.js +10 -0
  11. package/es/migration/to/v3.5.1.js +10 -0
  12. package/es/migration/to/v3.6.0.js +10 -0
  13. package/es/migration/to/v3.7.0.js +10 -0
  14. package/es/migration/to/v3.8.0.js +10 -0
  15. package/es/migration/to/v3.9.0.js +83 -0
  16. package/es/migration/types.js +1 -0
  17. package/es/migration/utils.js +23 -0
  18. package/es/mocks.js +1 -0
  19. package/es/project-schema/index.js +1 -0
  20. package/es/project-schema/v3.11.0.js +1 -0
  21. package/es/schema-util.js +15 -10
  22. package/es/schemas/index.js +4 -3
  23. package/es/schemas/index.ts +4 -2
  24. package/es/schemas/project-schema/v3.11.0.json +2135 -0
  25. package/es/services.js +57 -255
  26. package/es/types/types.js +9 -0
  27. package/es/types/utils.js +19 -12
  28. package/examples/latest/blog-schema.json +2 -1
  29. package/examples/latest/brewery-schema.json +2 -1
  30. package/examples/latest/complex-project-schema.json +2 -1
  31. package/examples/latest/fabric-ecommerce.json +2 -2
  32. package/examples/latest/frank-and-fred-schema.json +2 -1
  33. package/examples/latest/massive-schema.json +2 -1
  34. package/examples/latest/mill-components-schema.json +2 -1
  35. package/examples/latest/pet-oneof-array.json +2 -1
  36. package/examples/latest/post-schema.json +2 -1
  37. package/examples/latest/pruned-shopify-product-schema.json +2 -2
  38. package/examples/latest/real-world-schema.json +2 -1
  39. package/examples/latest/recursive-repeater-schema.json +2 -1
  40. package/examples/latest/recursive-schema.json +2 -1
  41. package/examples/latest/rick-and-morty-ast.json +1 -1
  42. package/examples/latest/rick-and-morty-graphql.json +1 -1
  43. package/examples/latest/rick-and-morty-rest.json +1 -1
  44. package/examples/latest/schema-with-repeater-draftjs.json +2 -1
  45. package/examples/latest/shape-books-v3_2_0.json +2 -1
  46. package/examples/latest/shape-books.json +2 -1
  47. package/examples/latest/shopify-lookbook.json +1 -1
  48. package/examples/latest/shopify-store-with-widget.json +2 -2
  49. package/examples/latest/stripe-starter-resolved.json +2 -2
  50. package/examples/latest/user-schema-no-required.json +2 -1
  51. package/examples/latest/user-schema-with-defaults.json +2 -1
  52. package/lib/index.d.ts +3 -3
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +13 -36
  55. package/lib/migration/index.d.ts +7 -0
  56. package/lib/migration/index.d.ts.map +1 -0
  57. package/lib/migration/index.js +128 -0
  58. package/lib/migration/to/v3.0.0.d.ts +4 -0
  59. package/lib/migration/to/v3.0.0.d.ts.map +1 -0
  60. package/lib/migration/to/v3.0.0.js +260 -0
  61. package/lib/migration/to/v3.1.0.d.ts +5 -0
  62. package/lib/migration/to/v3.1.0.d.ts.map +1 -0
  63. package/lib/migration/to/v3.1.0.js +233 -0
  64. package/lib/migration/to/v3.10.0.d.ts +4 -0
  65. package/lib/migration/to/v3.10.0.d.ts.map +1 -0
  66. package/lib/migration/to/v3.10.0.js +66 -0
  67. package/lib/migration/to/v3.11.0.d.ts +5 -0
  68. package/lib/migration/to/v3.11.0.d.ts.map +1 -0
  69. package/lib/migration/to/v3.11.0.js +109 -0
  70. package/lib/migration/to/v3.2.0.d.ts +4 -0
  71. package/lib/migration/to/v3.2.0.d.ts.map +1 -0
  72. package/lib/migration/to/v3.2.0.js +18 -0
  73. package/lib/migration/to/v3.3.0.d.ts +5 -0
  74. package/lib/migration/to/v3.3.0.d.ts.map +1 -0
  75. package/lib/migration/to/v3.3.0.js +24 -0
  76. package/lib/migration/to/v3.4.0.d.ts +4 -0
  77. package/lib/migration/to/v3.4.0.d.ts.map +1 -0
  78. package/lib/migration/to/v3.4.0.js +18 -0
  79. package/lib/migration/to/v3.5.0.d.ts +4 -0
  80. package/lib/migration/to/v3.5.0.d.ts.map +1 -0
  81. package/lib/migration/to/v3.5.0.js +18 -0
  82. package/lib/migration/to/v3.5.1.d.ts +4 -0
  83. package/lib/migration/to/v3.5.1.d.ts.map +1 -0
  84. package/lib/migration/to/v3.5.1.js +18 -0
  85. package/lib/migration/to/v3.6.0.d.ts +4 -0
  86. package/lib/migration/to/v3.6.0.d.ts.map +1 -0
  87. package/lib/migration/to/v3.6.0.js +18 -0
  88. package/lib/migration/to/v3.7.0.d.ts +4 -0
  89. package/lib/migration/to/v3.7.0.d.ts.map +1 -0
  90. package/lib/migration/to/v3.7.0.js +18 -0
  91. package/lib/migration/to/v3.8.0.d.ts +4 -0
  92. package/lib/migration/to/v3.8.0.d.ts.map +1 -0
  93. package/lib/migration/to/v3.8.0.js +18 -0
  94. package/lib/migration/to/v3.9.0.d.ts +4 -0
  95. package/lib/migration/to/v3.9.0.d.ts.map +1 -0
  96. package/lib/migration/to/v3.9.0.js +91 -0
  97. package/lib/migration/types.d.ts +14 -0
  98. package/lib/migration/types.d.ts.map +1 -0
  99. package/lib/migration/types.js +5 -0
  100. package/lib/migration/utils.d.ts +5 -0
  101. package/lib/migration/utils.d.ts.map +1 -0
  102. package/lib/migration/utils.js +34 -0
  103. package/lib/mocks.d.ts.map +1 -1
  104. package/lib/mocks.js +1 -0
  105. package/lib/project-schema/index.d.ts +3 -1
  106. package/lib/project-schema/index.d.ts.map +1 -1
  107. package/lib/project-schema/index.js +26 -13
  108. package/lib/project-schema/latest.d.ts +26 -17
  109. package/lib/project-schema/latest.d.ts.map +1 -1
  110. package/lib/project-schema/v3.11.0.d.ts +1211 -0
  111. package/lib/project-schema/v3.11.0.d.ts.map +1 -0
  112. package/lib/project-schema/v3.11.0.js +5 -0
  113. package/lib/schema-util.d.ts.map +1 -1
  114. package/lib/schema-util.js +16 -10
  115. package/lib/schemas/index.d.ts +2051 -2
  116. package/lib/schemas/index.d.ts.map +1 -1
  117. package/lib/schemas/index.js +17 -15
  118. package/lib/schemas/index.ts +4 -2
  119. package/lib/schemas/project-schema/v3.11.0.json +2135 -0
  120. package/lib/services.d.ts +11 -27
  121. package/lib/services.d.ts.map +1 -1
  122. package/lib/services.js +54 -261
  123. package/lib/types/types.d.ts +16 -5
  124. package/lib/types/types.d.ts.map +1 -1
  125. package/lib/types/types.js +9 -0
  126. package/lib/types/utils.d.ts +8 -5
  127. package/lib/types/utils.d.ts.map +1 -1
  128. package/lib/types/utils.js +25 -13
  129. package/lib/validate.d.ts +1 -1
  130. package/lib/validate.d.ts.map +1 -1
  131. package/package.json +6 -5
  132. package/es/migration.js +0 -576
  133. package/lib/migration.d.ts +0 -59
  134. package/lib/migration.d.ts.map +0 -1
  135. package/lib/migration.js +0 -634
package/lib/services.d.ts CHANGED
@@ -1,27 +1,18 @@
1
- import type { ServiceMap, ServiceKey, ProjectSchemaV3X, ServiceInfo, PatternGenerator } from './types/types';
2
- import type { ProjectSchema, StoredServiceMap, StoredServiceConfig, ServiceConfig, EncryptedGenericServiceConfigV3_0_0, ServiceAuthentication, StoredServiceConfigV3_1_0, ServiceConfigV3_1_0 } from './project-schema';
3
- import type { Maybe } from '@takeshape/util';
4
- import { Overwrite } from '@takeshape/util';
1
+ import type { ServiceMap, ServiceKey, ServiceInfo, PatternGenerator, ProjectSchemaV3X, ServiceConfigUpdate } from './types/types';
2
+ import type { ProjectSchema, StoredServiceMap, StoredServiceConfig, ServiceConfig, EncryptedGenericServiceConfigV3_0_0, Shape } from './project-schema';
3
+ import type { Maybe, Overwrite } from '@takeshape/util';
5
4
  import { SERVICE_OBJECT_PATTERN_NAME } from './schema-util';
6
- import { Shape } from './project-schema';
7
5
  /**
8
6
  * Decrypt an encrypted authentication JSON string
9
7
  * Throws an error if decryption fails
10
8
  */
11
- export declare type DecryptFn = (authentication: string) => ServiceAuthentication;
9
+ export declare type DecryptFn = (authentication: string) => object;
12
10
  /**
13
11
  * Decrypt an encrypted authentication JSON string
14
12
  * Returns undefined if decryption fails
15
13
  */
16
- export declare type SafeDecryptFn = (authentication: string) => ServiceAuthentication | undefined;
17
- export declare type EncryptFn = (authentication: ServiceAuthentication) => string;
18
- /**
19
- * `graphql:my-key` `my-key`
20
- */
21
- export declare function parseV3ServiceStr(service: string): {
22
- provider?: string;
23
- id: string;
24
- };
14
+ export declare type SafeDecryptFn = (authentication: string) => object | undefined;
15
+ export declare type EncryptFn = (authentication: object) => string;
25
16
  /**
26
17
  * Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
27
18
  * authentication object decrypted.
@@ -32,26 +23,19 @@ export declare function decryptServiceConfig(decryptFn: DecryptFn, storedService
32
23
  * authentication objects decrypted.
33
24
  */
34
25
  export declare function decryptServiceMap(decryptFn: DecryptFn, storedServiceMap: StoredServiceMap): Promise<ServiceMap>;
26
+ /**
27
+ * Validates a `ServiceConfig` validator based on the JSON-schema.
28
+ */
29
+ export declare function validateServiceConfig(maybeServiceConfig: unknown): ServiceConfig;
35
30
  /**
36
31
  * Prepare a `ServiceConfig` object update, validating the overall structure
37
32
  * and encrypting the `ServiceAuthentication` object.
38
33
  */
39
- export declare function prepareServiceUpdate(encryptFn: EncryptFn, decryptFn: DecryptFn, projectSchema: ProjectSchema, partialServiceConfig: Partial<ServiceConfig>, serviceKey: string): StoredServiceConfig;
34
+ export declare function prepareServiceUpdate(encryptFn: EncryptFn, decryptFn: DecryptFn, projectSchema: ProjectSchema, serviceConfigUpdate: ServiceConfigUpdate, serviceKey: string): StoredServiceConfig;
40
35
  /**
41
36
  * Get a service config from a project schema.
42
37
  */
43
38
  export declare function getStoredServiceConfig(projectSchema: ProjectSchema, serviceKey: ServiceKey): Maybe<StoredServiceConfig>;
44
- /**
45
- * Migration-related Functions
46
- *
47
- * All the following code is used in the migration process. At some point
48
- * migraton code should live outside the standard runtime code.
49
- */
50
- /**
51
- * Ensures a consistent service config, inluding updating the service
52
- * authentication object.
53
- */
54
- export declare function updateServiceConfigV3ToV3_1(serviceConfig: Record<string, unknown>, serviceKey: ServiceKey): StoredServiceConfigV3_1_0 | ServiceConfigV3_1_0;
55
39
  export declare function getServiceNamespace(serviceConfig: StoredServiceConfig | EncryptedGenericServiceConfigV3_0_0): string | undefined;
56
40
  /**
57
41
  * Get a `Map` keyed with all the service namespaces.
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAEV,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,mCAAmC,EACnC,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAwB,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAOtF,OAAO,EAAiB,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAEvC;;;GAGG;AACH,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,qBAAqB,CAAC;AAC1E;;;GAGG;AACH,oBAAY,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,qBAAqB,GAAG,SAAS,CAAC;AAC1F,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,qBAAqB,KAAK,MAAM,CAAC;AAE1E;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAGlF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,CAWlH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAIrH;AAsCD;;;GAGG;AAEH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,OAAO,CAAC,aAAa,CAAC,EAC5C,UAAU,EAAE,MAAM,GACjB,mBAAmB,CA6CrB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,GACrB,KAAK,CAAC,mBAAmB,CAAC,CAE5B;AAED;;;;;GAKG;AAEH;;;GAGG;AAEH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,UAAU,EAAE,UAAU,GACrB,yBAAyB,GAAG,mBAAmB,CAkGjD;AAuED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,mBAAmB,GAAG,mCAAmC,GACvE,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrG;AAED,oBAAY,4BAA4B,GAAG,SAAS,CAClD,WAAW,EACX;IAAC,UAAU,EAAE;QAAC,CAAC,2BAA2B,CAAC,EAAE,gBAAgB,CAAA;KAAC,CAAA;CAAC,CAChE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,4BAA4B,EAAE,CAIhC"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,mCAAmC,EAEnC,KAAK,EACN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAMtD,OAAO,EAAiB,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAI1E;;;GAGG;AAEH,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;AAC3D;;;GAGG;AAEH,oBAAY,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3E,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,CAclH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAIrH;AAcD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,GAAG,aAAa,CAMhF;AAED;;;GAGG;AAEH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,MAAM,GACjB,mBAAmB,CAqCrB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,GACrB,KAAK,CAAC,mBAAmB,CAAC,CAE5B;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,mBAAmB,GAAG,mCAAmC,GACvE,MAAM,GAAG,SAAS,CAYpB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrG;AAED,oBAAY,4BAA4B,GAAG,SAAS,CAClD,WAAW,EACX;IAAC,UAAU,EAAE;QAAC,CAAC,2BAA2B,CAAC,EAAE,gBAAgB,CAAA;KAAC,CAAA;CAAC,CAChE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,4BAA4B,EAAE,CAIhC"}
package/lib/services.js CHANGED
@@ -9,51 +9,40 @@ exports.getServiceNamespace = getServiceNamespace;
9
9
  exports.getServiceNamespaces = getServiceNamespaces;
10
10
  exports.getServiceObjectFields = getServiceObjectFields;
11
11
  exports.getStoredServiceConfig = getStoredServiceConfig;
12
- exports.parseV3ServiceStr = parseV3ServiceStr;
13
12
  exports.prepareServiceUpdate = prepareServiceUpdate;
14
- exports.updateServiceConfigV3ToV3_1 = updateServiceConfigV3ToV3_1;
15
-
16
- var _utils = require("./types/utils");
13
+ exports.validateServiceConfig = validateServiceConfig;
17
14
 
18
15
  var _util = require("@takeshape/util");
19
16
 
20
- var _v = _interopRequireDefault(require("./schemas/project-schema/v3.1.0.json"));
21
-
22
17
  var _jsonSchema = require("@takeshape/json-schema");
23
18
 
24
- var _isObject = _interopRequireDefault(require("lodash/isObject"));
19
+ var _errors = require("@takeshape/errors");
25
20
 
26
21
  var _isNull = _interopRequireDefault(require("lodash/isNull"));
27
22
 
28
- var _isString = _interopRequireDefault(require("lodash/isString"));
29
-
30
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
23
+ var _utils = require("./types/utils");
31
24
 
32
25
  var _schemaUtil = require("./schema-util");
33
26
 
27
+ var _schemas = require("./schemas");
28
+
29
+ var _validate = require("./validate");
30
+
34
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
32
 
36
- /**
37
- * `graphql:my-key` `my-key`
38
- */
39
- function parseV3ServiceStr(service) {
40
- const parts = service.split(':');
41
- return {
42
- provider: parts.length > 1 ? parts[0] : undefined,
43
- id: parts.length > 1 ? parts[1] : parts[0]
44
- };
45
- }
46
33
  /**
47
34
  * Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
48
35
  * authentication object decrypted.
49
36
  */
50
-
51
-
52
37
  function decryptServiceConfig(decryptFn, storedServiceConfig) {
53
38
  let authentication;
54
39
 
55
40
  if ((0, _utils.isEncryptedServiceConfig)(storedServiceConfig)) {
56
- authentication = decryptFn(storedServiceConfig.authentication);
41
+ const decrypted = decryptFn(storedServiceConfig.authentication);
42
+
43
+ if ((0, _utils.isServiceAuthentication)(decrypted)) {
44
+ authentication = decrypted;
45
+ }
57
46
  }
58
47
 
59
48
  return { ...storedServiceConfig,
@@ -71,96 +60,71 @@ async function decryptServiceMap(decryptFn, storedServiceMap) {
71
60
  return result.set(serviceKey, decryptServiceConfig(decryptFn, serviceConfig));
72
61
  }, new Map());
73
62
  }
74
- /**
75
- * Provides a `ServiceConfig` validator based on the JSON-schema.
76
- */
77
-
78
63
 
79
64
  function createServiceConfigValidator() {
65
+ const validator = (0, _jsonSchema.createAjv)();
80
66
  const {
81
- serviceConfig: schema,
67
+ serviceConfig,
82
68
  ...definitions
83
- } = _v.default.definitions;
84
- const validationSchema = {
85
- $id: '#serviceConfig',
69
+ } = _schemas.latestSchemaJson.definitions;
70
+ return validator.compile({
71
+ $id: 'ServiceConfig',
86
72
  definitions,
87
- ...schema
88
- };
89
- return (0, _jsonSchema.createSchemaValidator)(validationSchema);
73
+ ...serviceConfig
74
+ });
90
75
  }
76
+
77
+ const serviceConfigValidator = createServiceConfigValidator();
91
78
  /**
92
- * Provides a `ServiceAuthentication` validator. Due to a behavior of `oneOf` and
93
- * the `removeAdditional` setting, where valid properties are being stripped,
94
- * this is validated separate from the overall config. May have something to do with
95
- * JSON Schema's lack of handling for discriminated unions?
79
+ * Validates a `ServiceConfig` validator based on the JSON-schema.
96
80
  */
97
81
 
82
+ function validateServiceConfig(maybeServiceConfig) {
83
+ var _serviceConfigValidat;
98
84
 
99
- function createServiceAuthenticationValidator() {
100
- const {
101
- serviceAuthentication: schema,
102
- ...definitions
103
- } = _v.default.definitions;
104
- const validationSchema = {
105
- $id: '#serviceAuthentication',
106
- definitions,
107
- ...schema
108
- };
109
- return (0, _jsonSchema.createSchemaValidator)(validationSchema, [], {
110
- removeAdditional: false
111
- });
112
- }
85
+ if (serviceConfigValidator(maybeServiceConfig)) {
86
+ return maybeServiceConfig;
87
+ }
113
88
 
114
- const serviceConfigValidator = createServiceConfigValidator();
115
- const serviceAuthenticationValidator = createServiceAuthenticationValidator();
89
+ throw new _errors.SchemaValidationError('ServiceConfig was invalid', (_serviceConfigValidat = serviceConfigValidator.errors) === null || _serviceConfigValidat === void 0 ? void 0 : _serviceConfigValidat.map(_validate.formatError));
90
+ }
116
91
  /**
117
92
  * Prepare a `ServiceConfig` object update, validating the overall structure
118
93
  * and encrypting the `ServiceAuthentication` object.
119
94
  */
120
95
  // eslint-disable-next-line max-params
121
96
 
122
- function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, partialServiceConfig, serviceKey) {
123
- var _projectSchema$servic;
124
97
 
125
- const storedServiceConfig = (_projectSchema$servic = projectSchema.services) === null || _projectSchema$servic === void 0 ? void 0 : _projectSchema$servic[serviceKey];
126
- let newServiceConfig = partialServiceConfig;
98
+ function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, serviceConfigUpdate, serviceKey) {
99
+ const storedServiceConfig = getStoredServiceConfig(projectSchema, serviceKey);
100
+ let newServiceConfig = serviceConfigUpdate;
127
101
 
128
102
  if (storedServiceConfig) {
129
103
  const existingServiceConfig = decryptServiceConfig(decryptFn, storedServiceConfig);
130
- newServiceConfig = (0, _util.mergeWithArrayMerge)(existingServiceConfig, partialServiceConfig);
131
- }
132
-
133
- if ((0, _isNull.default)(newServiceConfig.authentication)) {
134
- delete newServiceConfig.authentication;
135
- }
136
-
137
- let authentication;
138
-
139
- if (newServiceConfig.authentication) {
140
- // Copy authentication, to ensure validation doesn't remove any properties
141
- authentication = (0, _util.deepClone)(newServiceConfig.authentication);
142
- const {
143
- errorsText: authenticationErrors
144
- } = serviceAuthenticationValidator(authentication);
145
-
146
- if (authenticationErrors) {
147
- throw new Error(authenticationErrors);
148
- }
104
+ newServiceConfig = (0, _util.mergeWithArrayMerge)(existingServiceConfig, serviceConfigUpdate);
149
105
  }
150
106
 
151
107
  const {
152
- errorsText: configErrors
153
- } = serviceConfigValidator(newServiceConfig);
108
+ authentication,
109
+ authenticationType
110
+ } = newServiceConfig;
154
111
 
155
- if (configErrors) {
156
- throw new Error(configErrors);
112
+ if (authenticationType === 'none' || (0, _isNull.default)(authentication)) {
113
+ delete newServiceConfig.authentication;
114
+ } else if (authentication !== undefined) {
115
+ // Add the discriminator to the authentication object, set authenticationType
116
+ // to ensure the update is correct for the auth type.
117
+ newServiceConfig.authentication = { ...authentication,
118
+ type: authenticationType
119
+ };
157
120
  }
158
121
 
122
+ validateServiceConfig(newServiceConfig);
159
123
  let serviceConfig;
160
124
 
161
- if (authentication) {
125
+ if (newServiceConfig.authentication) {
162
126
  serviceConfig = { ...newServiceConfig,
163
- authentication: encryptFn(authentication)
127
+ authentication: encryptFn(newServiceConfig.authentication)
164
128
  };
165
129
  } else {
166
130
  serviceConfig = newServiceConfig;
@@ -174,185 +138,9 @@ function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, partialServic
174
138
 
175
139
 
176
140
  function getStoredServiceConfig(projectSchema, serviceKey) {
177
- var _projectSchema$servic2;
178
-
179
- return (_projectSchema$servic2 = projectSchema.services) === null || _projectSchema$servic2 === void 0 ? void 0 : _projectSchema$servic2[serviceKey];
180
- }
181
- /**
182
- * Migration-related Functions
183
- *
184
- * All the following code is used in the migration process. At some point
185
- * migraton code should live outside the standard runtime code.
186
- */
187
-
188
- /**
189
- * Ensures a consistent service config, inluding updating the service
190
- * authentication object.
191
- */
192
- // eslint-disable-next-line complexity
193
-
194
-
195
- function updateServiceConfigV3ToV3_1(serviceConfig, serviceKey) {
196
- if ((0, _utils.isAnyServiceConfig)(serviceConfig)) {
197
- if ((0, _isString.default)(serviceConfig.authentication) || (0, _isUndefined.default)(serviceConfig.authentication)) {
198
- return serviceConfig;
199
- }
200
-
201
- return serviceConfig;
202
- }
203
-
204
- const {
205
- auth
206
- } = serviceConfig;
207
- const serviceParams = serviceConfig.params || {};
208
- let {
209
- provider: serviceKeyProvider,
210
- id: serviceKeyId
211
- } = parseV3ServiceStr(serviceKey);
212
- const authType = serviceParams.authType || undefined;
213
- const title = serviceParams.name || serviceKeyId;
214
-
215
- if (serviceKeyId === 'vercel') {
216
- serviceKeyProvider = 'vercel';
217
- } else if (serviceKeyId === 'netlify') {
218
- serviceKeyProvider = 'netlify';
219
- } // Example schemas had this in params, which are untyped, so adding here just in case
220
-
221
-
222
- if (serviceParams.type === 'rest') {
223
- serviceKeyProvider = 'rest';
224
- } else if (serviceParams.type === 'graphql' && serviceKeyProvider !== 'shopify') {
225
- serviceKeyProvider = 'graphql';
226
- }
227
-
228
- let provider;
229
- let authenticationType;
230
- let serviceType;
231
- let namespace;
232
-
233
- if (serviceKeyProvider === 'shopify') {
234
- provider = 'shopify';
235
- authenticationType = 'oauth2Bearer';
236
- serviceType = 'graphql';
237
- namespace = serviceParams.namespace ?? 'Shopify';
238
- } else if (serviceKeyProvider === 'takeshape') {
239
- provider = 'takeshape';
240
- authenticationType = 'none';
241
- serviceType = 'takeshape';
242
- namespace = serviceParams.namespace ?? 'TakeShape';
243
- } else if (serviceKeyProvider === 'bigcommerce') {
244
- provider = 'bigcommerce';
245
- authenticationType = 'bearer';
246
- serviceType = 'graphql';
247
- namespace = serviceParams.namespace ?? 'BigCommerce';
248
- } else if (serviceKeyProvider === 'rest') {
249
- provider = 'generic';
250
- authenticationType = mapAuthType(authType, auth);
251
- serviceType = 'rest';
252
- namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
253
- } else if (serviceKeyProvider === 'graphql') {
254
- provider = 'generic';
255
- authenticationType = mapAuthType(authType, auth);
256
- serviceType = 'graphql';
257
- namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
258
- } else if (serviceKeyProvider === 'vercel') {
259
- provider = 'vercel';
260
- authenticationType = 'oauth2Bearer';
261
- serviceType = 'deployment';
262
- } else if (serviceKeyProvider === 'netlify') {
263
- provider = 'netlify';
264
- authenticationType = 'oauth2Bearer';
265
- serviceType = 'deployment';
266
- } else {
267
- provider = 'generic';
268
- authenticationType = mapAuthType(authType, auth);
269
- serviceType = 'unknown';
270
- namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
271
- }
272
-
273
- const updatedServiceConfig = {
274
- title,
275
- id: serviceKey,
276
- provider,
277
- namespace,
278
- serviceType,
279
- authenticationType,
280
- options: { ...serviceParams
281
- }
282
- };
283
-
284
- if (serviceConfig.auth && (0, _isObject.default)(serviceConfig.auth)) {
285
- const authentication = updateServiceAuthentication(updatedServiceConfig.authenticationType, serviceConfig.auth, serviceParams);
286
- return { ...updatedServiceConfig,
287
- authentication
288
- };
289
- }
290
-
291
- return updatedServiceConfig;
292
- }
293
- /**
294
- * V1/V3 unencrypted `auth` -> V3.1 `authentication
295
- */
296
-
297
-
298
- function updateServiceAuthentication(authenticationType, legacyAuth, legacyParams) {
299
- if (authenticationType === 'oauth2Bearer') {
300
- return {
301
- token: legacyAuth.accessToken,
302
- scope: legacyAuth.scope,
303
- header: legacyParams.authHeader
304
- };
305
- }
306
-
307
- if (authenticationType === 'searchParams' && legacyParams.authProp) {
308
- return [{
309
- name: legacyParams.authProp,
310
- value: legacyAuth.accessToken
311
- }];
312
- }
313
-
314
- if (authenticationType === 'basic') {
315
- const [username, password] = Buffer.from(legacyAuth.accessToken, 'base64').toString('utf-8').split(':');
316
- return {
317
- username,
318
- password
319
- };
320
- }
321
-
322
- if (authenticationType === 'bearer') {
323
- return {
324
- token: legacyAuth.accessToken,
325
- header: legacyParams.authHeader
326
- };
327
- }
328
- }
329
-
330
- function mapAuthType(authType, auth) {
331
- if (authType === 'none') {
332
- return 'none';
333
- }
334
-
335
- if (authType === 'searchParams') {
336
- return 'searchParams';
337
- }
338
-
339
- if (authType === 'bearer') {
340
- return 'bearer';
341
- }
342
-
343
- if (authType === 'bearer') {
344
- return 'basic';
345
- }
346
-
347
- if (!auth) {
348
- return 'none';
349
- }
350
-
351
- if (auth) {
352
- return 'bearer';
353
- }
141
+ var _projectSchema$servic;
354
142
 
355
- return 'unknown';
143
+ return (_projectSchema$servic = projectSchema.services) === null || _projectSchema$servic === void 0 ? void 0 : _projectSchema$servic[serviceKey];
356
144
  }
357
145
 
358
146
  function getServiceNamespace(serviceConfig) {
@@ -361,6 +149,11 @@ function getServiceNamespace(serviceConfig) {
361
149
  if ('namespace' in serviceConfig && serviceConfig.namespace) {
362
150
  return serviceConfig.namespace;
363
151
  }
152
+ /**
153
+ * TODO This is only necessary if this fn gets called on a schema before migration.
154
+ * Figure that out and remove if possible.
155
+ **/
156
+
364
157
 
365
158
  if ('params' in serviceConfig && (_serviceConfig$params = serviceConfig.params) !== null && _serviceConfig$params !== void 0 && _serviceConfig$params.namespace) {
366
159
  return serviceConfig.params.namespace;
@@ -1,13 +1,13 @@
1
- import type { Merge } from 'type-fest';
2
- import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication } from '../project-schema';
3
- import { Overwrite } from '@takeshape/util';
1
+ import type { SetRequired, Merge, PartialDeep } from 'type-fest';
2
+ import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication } from '../project-schema';
3
+ import type { Overwrite } from '@takeshape/util';
4
4
  import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
5
5
  /**
6
6
  * An alias for the latest version of the project schema. This should be the
7
7
  * only type used in most runtime code. Updating this to a new version should
8
8
  * trigger type errors that clue you in to code that needs review.
9
9
  */
10
- export declare type ProjectSchemaV3X = ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
10
+ export declare type ProjectSchemaV3X = ProjectSchemaV3_11_0 | ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
11
11
  export interface Content {
12
12
  [name: string]: any;
13
13
  _id: string;
@@ -68,7 +68,7 @@ export declare type GraphQLServiceConfig = Overwrite<ServiceConfig, {
68
68
  timeout?: number;
69
69
  };
70
70
  }>;
71
- export declare type OpenAPIServiceConfig = Overwrite<ServiceConfig, {
71
+ export declare type OpenAPIServiceConfig = Merge<ServiceConfig, {
72
72
  serviceType: 'openapi';
73
73
  options: {
74
74
  endpoint: string;
@@ -88,6 +88,17 @@ export declare type ServiceConfigWithOAuth2Authentication = Merge<ServiceConfig,
88
88
  export declare type ServiceConfigWithCustomAuthentication = Merge<ServiceConfig, {
89
89
  authentication: CustomAuthentication;
90
90
  }>;
91
+ /**
92
+ * Support null sentinels for authentication
93
+ */
94
+ export declare type ServiceConfigWithNullSentinelAuthentication = Overwrite<ServiceConfig, {
95
+ authentication?: ServiceAuthentication | null;
96
+ }>;
97
+ /**
98
+ * A type suitable for service object updates, mostly concerns authentication
99
+ * requirements.
100
+ */
101
+ export declare type ServiceConfigUpdate = SetRequired<PartialDeep<ServiceConfigWithNullSentinelAuthentication>, 'authenticationType'>;
91
102
  export interface LatestProjectSchemaWithServices extends ProjectSchema {
92
103
  dataKey: string;
93
104
  services: StoredServiceMap;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ exports.RefType = exports.ArgsType = void 0;
20
20
  * @deprecated
21
21
  */
22
22
 
23
+ /**
24
+ * Support null sentinels for authentication
25
+ */
26
+
27
+ /**
28
+ * A type suitable for service object updates, mostly concerns authentication
29
+ * requirements.
30
+ */
31
+
23
32
  /**
24
33
  * Types of refs
25
34
  */
@@ -1,4 +1,4 @@
1
- import type { AnyProjectSchema, ProjectSchema, ProjectSchemaV1_0_0, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, DirectiveMappingArray, DirectiveMappingMap, DirectiveConfig, ParameterSerializeOptions, ParameterSerializeContentOptions, ParameterSerializeStyleOptions, BasicResolver, ComposeResolver, GraphqlResolver, TakeshapeResolver, RestResolver, AwsLambdaResolver, UtilResolver, ObjectSchema, ReturnShapeArraySchema, ShapeSchemaEnum, RefSchema, RefSchemaLegacy, PropertySchema, AnyServiceConfig, ServiceAuthentication, BearerAuthentication, BasicAuthentication, OAuth2Authentication, SearchParamsAuthentication, ParameterOp, ParameterOpNested, ParameterOpMapping, ParameterOpValue, ParameterOpOp, ParameterSerializeStyleOptionsForSearchParams, ParameterSerializeStyleOptionsForPathParams, OneOfSchema, AllOfSchema } from '../project-schema';
1
+ import type { AnyProjectSchema, ProjectSchema, ProjectSchemaV1_0_0, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, DirectiveMappingArray, DirectiveMappingMap, DirectiveConfig, ParameterSerializeOptions, ParameterSerializeContentOptions, ParameterSerializeStyleOptions, BasicResolver, ComposeResolver, GraphqlResolver, TakeshapeResolver, RestResolver, AwsLambdaResolver, UtilResolver, ObjectSchema, ReturnShapeArraySchema, ShapeSchemaEnum, RefSchema, RefSchemaLegacy, PropertySchema, AnyServiceConfig, ServiceAuthentication, BearerAuthentication, BasicAuthentication, OAuth2Authentication, OAuth2BearerAuthentication, SearchParamsAuthentication, CustomAuthentication, ParameterOp, ParameterOpNested, ParameterOpMapping, ParameterOpValue, ParameterOpOp, ParameterSerializeStyleOptionsForSearchParams, ParameterSerializeStyleOptionsForPathParams, OneOfSchema, AllOfSchema } from '../project-schema';
2
2
  import type { Maybe } from '@takeshape/util';
3
3
  import type { ShopifyServiceConfig, RESTServiceConfig, GraphQLServiceConfig, OpenAPIServiceConfig, EncryptedServiceConfig, SchemaWithArgs, SchemaWithRef, ServiceConfigWithOAuth2Authentication, ServiceConfigWithCustomAuthentication, LatestProjectSchemaWithServices, ProjectSchemaV3X } from './types';
4
4
  import { ArgsType, RefType } from './types';
@@ -27,6 +27,7 @@ export declare const isProjectSchemaV3_7: (projectSchema: AnyProjectSchema) => p
27
27
  export declare const isProjectSchemaV3_8: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_8_0;
28
28
  export declare const isProjectSchemaV3_9: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_9_0;
29
29
  export declare const isProjectSchemaV3_10: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_10_0;
30
+ export declare const isProjectSchemaV3_11: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_11_0;
30
31
  export declare const isLatestProjectSchema: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchema;
31
32
  export declare function isV3XSchema(maybeSchema: unknown): maybeSchema is ProjectSchemaV3X;
32
33
  /**
@@ -100,10 +101,12 @@ export declare function isServiceConfigWithOAuth2Authentication(maybeServiceConf
100
101
  export declare function isServiceConfigWithCustomAuthentication(maybeServiceConfig: any): maybeServiceConfig is ServiceConfigWithCustomAuthentication;
101
102
  /** Authentication Utils **/
102
103
  export declare function isServiceAuthentication(maybeAuthentication: any): maybeAuthentication is ServiceAuthentication;
103
- export declare function isBearerAuthentication(maybeAuthentication: any): maybeAuthentication is BearerAuthentication;
104
- export declare function isBasicAuthentication(maybeAuthentication: any): maybeAuthentication is BasicAuthentication;
105
- export declare function isSearchParamsAuthentication(maybeAuthentication: any): maybeAuthentication is SearchParamsAuthentication;
106
- export declare function isOAuth2Authentication(maybeAuthentication: any): maybeAuthentication is OAuth2Authentication;
104
+ export declare function isBearerAuthentication(authentication: ServiceAuthentication): authentication is BearerAuthentication;
105
+ export declare function isBasicAuthentication(authentication: ServiceAuthentication): authentication is BasicAuthentication;
106
+ export declare function isSearchParamsAuthentication(authentication: ServiceAuthentication): authentication is SearchParamsAuthentication;
107
+ export declare function isOAuth2Authentication(authentication: ServiceAuthentication): authentication is OAuth2Authentication;
108
+ export declare function isOAuth2BearerAuthentication(authentication: ServiceAuthentication): authentication is OAuth2BearerAuthentication;
109
+ export declare function isCustomAuthentication(authentication: ServiceAuthentication): authentication is CustomAuthentication;
107
110
  /** Miscellaneous Utils **/
108
111
  /**
109
112
  * A utility to return the type of args present on a schema.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"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"}