@stigg/node-server-sdk 0.18.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +3 -0
  3. package/dist/api/configurationApi.d.ts +8 -0
  4. package/dist/api/configurationApi.js +19 -0
  5. package/dist/api/entitlements/entitlementsApi.d.ts +16 -0
  6. package/dist/api/entitlements/entitlementsApi.js +70 -0
  7. package/dist/api/entitlements/entitlementsGql.d.ts +4 -0
  8. package/dist/api/entitlements/entitlementsGql.js +57 -0
  9. package/dist/api/generated/types.d.ts +2413 -0
  10. package/dist/api/generated/types.js +379 -0
  11. package/dist/api/initApolloClient.d.ts +12 -0
  12. package/dist/api/initApolloClient.js +75 -0
  13. package/dist/api/managementApi.d.ts +12 -0
  14. package/dist/api/managementApi.js +80 -0
  15. package/dist/client.d.ts +61 -0
  16. package/dist/client.js +166 -0
  17. package/dist/configuration.d.ts +18 -0
  18. package/dist/configuration.js +47 -0
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.js +19 -0
  21. package/dist/models.d.ts +107 -0
  22. package/dist/models.js +27 -0
  23. package/dist/services/cache/cacheService.d.ts +9 -0
  24. package/dist/services/cache/cacheService.js +3 -0
  25. package/dist/services/cache/cachedEntitlement.d.ts +18 -0
  26. package/dist/services/cache/cachedEntitlement.js +10 -0
  27. package/dist/services/cache/inMemoryCacheService.d.ts +13 -0
  28. package/dist/services/cache/inMemoryCacheService.js +33 -0
  29. package/dist/services/entitlementDecisionService.d.ts +9 -0
  30. package/dist/services/entitlementDecisionService.js +43 -0
  31. package/dist/services/entitlementsService.d.ts +22 -0
  32. package/dist/services/entitlementsService.js +80 -0
  33. package/dist/services/loggerService.d.ts +14 -0
  34. package/dist/services/loggerService.js +32 -0
  35. package/dist/utils/ModelMapper.d.ts +13 -0
  36. package/dist/utils/ModelMapper.js +109 -0
  37. package/package.json +80 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,53 @@
1
+ ## [0.18.1](https://github.com/stiggio/node-server-sdk/compare/0.18.0...0.18.1) (2022-03-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * better initialization func ([d8fb398](https://github.com/stiggio/node-server-sdk/commit/d8fb398edd3135df111dd91d5a2b03967996f7ca))
7
+ * use prod as default, nicer wssUri building ([9c6b450](https://github.com/stiggio/node-server-sdk/commit/9c6b450d40c5a93ec588639942871f7920a1bea2))
8
+
9
+
10
+
11
+ # [0.18.0](https://github.com/stiggio/node-server-sdk/compare/0.17.0...0.18.0) (2022-03-14)
12
+
13
+
14
+ ### Features
15
+
16
+ * added logger service ([9e48cb5](https://github.com/stiggio/node-server-sdk/commit/9e48cb5c6516e018efe4fdda83204085213871ac))
17
+
18
+
19
+
20
+ # [0.17.0](https://github.com/stiggio/node-server-sdk/compare/0.16.1...0.17.0) (2022-03-14)
21
+
22
+
23
+ ### Features
24
+
25
+ * add trials support on subscription creation ([0d53eb6](https://github.com/stiggio/node-server-sdk/commit/0d53eb66d6cb34c747d062da0926ed44616a4dd7))
26
+
27
+
28
+
29
+ ## [0.16.1](https://github.com/stiggio/node-server-sdk/compare/0.16.0...0.16.1) (2022-02-23)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * add billing period parameter to stripe checkout ([9a5b02d](https://github.com/stiggio/node-server-sdk/commit/9a5b02d9757585bc4940ff7b845fb8bc53b4e48f))
35
+
36
+
37
+
38
+ # [0.16.0](https://github.com/stiggio/node-server-sdk/compare/0.15.2...0.16.0) (2022-02-23)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * billing period type ([ccc25dd](https://github.com/stiggio/node-server-sdk/commit/ccc25dd10f1dc9027a064464fead5fb1d335a87c))
44
+ * import path ([e155a94](https://github.com/stiggio/node-server-sdk/commit/e155a941c036d73a9b9010e6f55847286abd8b8b))
45
+
46
+
47
+ ### Features
48
+
49
+ * add billing period to create subscription ([47fc464](https://github.com/stiggio/node-server-sdk/commit/47fc464f320b92d311ad85ae4b91f4bd7da93c48))
50
+ * add prict unit amount to create subscription ([a8525d5](https://github.com/stiggio/node-server-sdk/commit/a8525d5019540baf73ec04021e4b23ca6600b8bc))
51
+
52
+
53
+
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # node-server-sdk
2
+
3
+ Stigg server-side SDK
@@ -0,0 +1,8 @@
1
+ import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';
2
+ import { GetEnvironmentQuery } from './generated/types';
3
+ declare class ConfigurationApi {
4
+ private readonly client;
5
+ constructor(client: ApolloClient<NormalizedCacheObject>);
6
+ getEnvironment(): Promise<import("@apollo/client/core").ApolloQueryResult<GetEnvironmentQuery>>;
7
+ }
8
+ export default ConfigurationApi;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@apollo/client/core");
4
+ class ConfigurationApi {
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async getEnvironment() {
9
+ return await this.client.query({
10
+ query: (0, core_1.gql) `
11
+ query GetEnvironment {
12
+ currentEnvironment
13
+ }
14
+ `,
15
+ });
16
+ }
17
+ }
18
+ exports.default = ConfigurationApi;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbkFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY29uZmlndXJhdGlvbkFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUErRTtBQUcvRSxNQUFNLGdCQUFnQjtJQUNwQixZQUE2QixNQUEyQztRQUEzQyxXQUFNLEdBQU4sTUFBTSxDQUFxQztJQUFHLENBQUM7SUFFNUUsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFvRDtZQUNoRixLQUFLLEVBQUUsSUFBQSxVQUFHLEVBQUE7Ozs7T0FJVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELGtCQUFlLGdCQUFnQixDQUFDIn0=
@@ -0,0 +1,16 @@
1
+ import { ApolloClient, NormalizedCacheObject, FetchResult } from '@apollo/client/core';
2
+ import { CreateUsageMeasurementMutation, EntitlementsUpdatedSubscription, UsageUpdatedSubscription } from '../generated/types';
3
+ import { CreateUsageMeasurement, FetchEntitlement, FetchEntitlements } from '../../models';
4
+ declare class EntitlementsApi {
5
+ private readonly client;
6
+ constructor(client: ApolloClient<NormalizedCacheObject>);
7
+ getEntitlement(query: FetchEntitlement): Promise<{
8
+ __typename?: "Entitlement" | undefined;
9
+ } & import("../generated/types").EntitlementFragment>;
10
+ getEntitlements(query: FetchEntitlements): Promise<({
11
+ __typename?: "Entitlement" | undefined;
12
+ } & import("../generated/types").EntitlementFragment)[]>;
13
+ createUsageMeasurement(data: CreateUsageMeasurement): Promise<FetchResult<CreateUsageMeasurementMutation, Record<string, any>, Record<string, any>>>;
14
+ subscribeEntitlementsChanges(onEntitlementUpdated: (value: FetchResult<EntitlementsUpdatedSubscription>) => void, onUsageUpdated: (data: FetchResult<UsageUpdatedSubscription>) => void): void;
15
+ }
16
+ export default EntitlementsApi;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@apollo/client/core");
4
+ const entitlementsGql_1 = require("./entitlementsGql");
5
+ class EntitlementsApi {
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async getEntitlement(query) {
10
+ const { data: { entitlement }, } = await this.client.query({
11
+ query: (0, core_1.gql) `
12
+ query Entitlement($query: FetchEntitlementQuery!) {
13
+ entitlement(query: $query) {
14
+ ...EntitlementFragment
15
+ }
16
+ }
17
+ ${entitlementsGql_1.ENTITLEMENT_FRAGMENT}
18
+ `,
19
+ variables: { query },
20
+ fetchPolicy: 'network-only',
21
+ });
22
+ return entitlement;
23
+ }
24
+ async getEntitlements(query) {
25
+ const { data: { cachedEntitlements: entitlements }, } = await this.client.query({
26
+ query: (0, core_1.gql) `
27
+ query CachedEntitlements($query: FetchEntitlementsQuery!) {
28
+ cachedEntitlements(query: $query) {
29
+ ...EntitlementFragment
30
+ }
31
+ }
32
+ ${entitlementsGql_1.ENTITLEMENT_FRAGMENT}
33
+ `,
34
+ variables: { query },
35
+ fetchPolicy: 'network-only',
36
+ });
37
+ return entitlements;
38
+ }
39
+ async createUsageMeasurement(data) {
40
+ return this.client.mutate({
41
+ mutation: (0, core_1.gql) `
42
+ mutation CreateUsageMeasurement($usageMeasurement: UsageMeasurementCreateInput!) {
43
+ createUsageMeasurement(usageMeasurement: $usageMeasurement) {
44
+ id
45
+ }
46
+ }
47
+ `,
48
+ variables: { usageMeasurement: data },
49
+ fetchPolicy: 'network-only',
50
+ });
51
+ }
52
+ subscribeEntitlementsChanges(onEntitlementUpdated, onUsageUpdated) {
53
+ this.client
54
+ .subscribe({
55
+ query: entitlementsGql_1.ENTITLEMENTS_UPDATED,
56
+ })
57
+ .subscribe((value) => {
58
+ onEntitlementUpdated(value);
59
+ });
60
+ this.client
61
+ .subscribe({
62
+ query: entitlementsGql_1.USAGE_UPDATED,
63
+ })
64
+ .subscribe((data) => {
65
+ onUsageUpdated(data);
66
+ });
67
+ }
68
+ }
69
+ exports.default = EntitlementsApi;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9lbnRpdGxlbWVudHMvZW50aXRsZW1lbnRzQXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQTRGO0FBYzVGLHVEQUE4RjtBQUU5RixNQUFNLGVBQWU7SUFDbkIsWUFBNkIsTUFBMkM7UUFBM0MsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7SUFBRyxDQUFDO0lBRTVFLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBdUI7UUFDMUMsTUFBTSxFQUNKLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUN0QixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQThDO1lBQ3ZFLEtBQUssRUFBRSxJQUFBLFVBQUcsRUFBQTs7Ozs7O1VBTU4sc0NBQW9CO09BQ3ZCO1lBQ0QsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFO1lBQ3BCLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzVDLE1BQU0sRUFDSixJQUFJLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsR0FDM0MsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUE0RDtZQUNyRixLQUFLLEVBQUUsSUFBQSxVQUFHLEVBQUE7Ozs7OztVQU1OLHNDQUFvQjtPQUN2QjtZQUNELFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUNwQixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLElBQTRCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQTBFO1lBQ2pHLFFBQVEsRUFBRSxJQUFBLFVBQUcsRUFBQTs7Ozs7O09BTVo7WUFDRCxTQUFTLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUU7WUFDckMsV0FBVyxFQUFFLGNBQWM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDRCQUE0QixDQUMxQixvQkFBbUYsRUFDbkYsY0FBcUU7UUFFckUsSUFBSSxDQUFDLE1BQU07YUFDUixTQUFTLENBQTRFO1lBQ3BGLEtBQUssRUFBRSxzQ0FBb0I7U0FDNUIsQ0FBQzthQUNELFNBQVMsQ0FBQyxDQUFDLEtBQW1ELEVBQUUsRUFBRTtZQUNqRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxNQUFNO2FBQ1IsU0FBUyxDQUE4RDtZQUN0RSxLQUFLLEVBQUUsK0JBQWE7U0FDckIsQ0FBQzthQUNELFNBQVMsQ0FBQyxDQUFDLElBQTJDLEVBQUUsRUFBRTtZQUN6RCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxlQUFlLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ export declare const FEATURE_FRAGMENT: import("graphql/language/ast").DocumentNode;
2
+ export declare const ENTITLEMENT_FRAGMENT: import("graphql/language/ast").DocumentNode;
3
+ export declare const ENTITLEMENTS_UPDATED: import("graphql/language/ast").DocumentNode;
4
+ export declare const USAGE_UPDATED: import("graphql/language/ast").DocumentNode;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USAGE_UPDATED = exports.ENTITLEMENTS_UPDATED = exports.ENTITLEMENT_FRAGMENT = exports.FEATURE_FRAGMENT = void 0;
4
+ const core_1 = require("@apollo/client/core");
5
+ exports.FEATURE_FRAGMENT = (0, core_1.gql) `
6
+ fragment FeatureFragment on EntitlementFeature {
7
+ featureType
8
+ meterType
9
+ featureUnits
10
+ featureUnitsPlural
11
+ refId
12
+ }
13
+ `;
14
+ exports.ENTITLEMENT_FRAGMENT = (0, core_1.gql) `
15
+ fragment EntitlementFragment on Entitlement {
16
+ isGranted
17
+ accessDeniedReason
18
+ customerId
19
+ usageLimit
20
+ hasUnlimitedUsage
21
+ currentUsage
22
+ requestedUsage
23
+ nextResetDate
24
+ feature {
25
+ ...FeatureFragment
26
+ }
27
+ }
28
+ ${exports.FEATURE_FRAGMENT}
29
+ `;
30
+ exports.ENTITLEMENTS_UPDATED = (0, core_1.gql) `
31
+ subscription EntitlementsUpdated {
32
+ entitlementsUpdated {
33
+ customerId
34
+ entitlements {
35
+ ...EntitlementFragment
36
+ }
37
+ }
38
+ }
39
+ ${exports.ENTITLEMENT_FRAGMENT}
40
+ `;
41
+ exports.USAGE_UPDATED = (0, core_1.gql) `
42
+ subscription UsageUpdated {
43
+ usageUpdated {
44
+ usage {
45
+ customerId
46
+ featureId
47
+ currentUsage
48
+ nextResetDate
49
+ }
50
+ entitlement {
51
+ ...EntitlementFragment
52
+ }
53
+ }
54
+ }
55
+ ${exports.ENTITLEMENT_FRAGMENT}
56
+ `;
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzR3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9lbnRpdGxlbWVudHMvZW50aXRsZW1lbnRzR3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUEwQztBQUU3QixRQUFBLGdCQUFnQixHQUFHLElBQUEsVUFBRyxFQUFBOzs7Ozs7OztDQVFsQyxDQUFDO0FBRVcsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLFVBQUcsRUFBQTs7Ozs7Ozs7Ozs7Ozs7SUFjbkMsd0JBQWdCO0NBQ25CLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLElBQUEsVUFBRyxFQUFBOzs7Ozs7Ozs7SUFTbkMsNEJBQW9CO0NBQ3ZCLENBQUM7QUFFVyxRQUFBLGFBQWEsR0FBRyxJQUFBLFVBQUcsRUFBQTs7Ozs7Ozs7Ozs7Ozs7SUFjNUIsNEJBQW9CO0NBQ3ZCLENBQUMifQ==