@purpleschool/multisite 0.0.7 → 0.0.8

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 (77) hide show
  1. package/api/controller/http/product.ts +1 -0
  2. package/api/controller/http/subscription.ts +3 -0
  3. package/api/controller/http/unregistered-user.ts +4 -0
  4. package/api/controller/http/user.ts +1 -0
  5. package/api/routes.ts +7 -0
  6. package/build/api/controller/http/product.d.ts +1 -0
  7. package/build/api/controller/http/product.d.ts.map +1 -1
  8. package/build/api/controller/http/product.js +1 -0
  9. package/build/api/controller/http/subscription.d.ts +3 -0
  10. package/build/api/controller/http/subscription.d.ts.map +1 -1
  11. package/build/api/controller/http/subscription.js +3 -0
  12. package/build/api/controller/http/unregistered-user.d.ts +3 -0
  13. package/build/api/controller/http/unregistered-user.d.ts.map +1 -1
  14. package/build/api/controller/http/unregistered-user.js +4 -1
  15. package/build/api/controller/http/user.d.ts +1 -0
  16. package/build/api/controller/http/user.d.ts.map +1 -1
  17. package/build/api/controller/http/user.js +1 -0
  18. package/build/api/routes.d.ts +6 -0
  19. package/build/api/routes.d.ts.map +1 -1
  20. package/build/api/routes.js +6 -0
  21. package/build/commands/subscription/cancel-subscription.command.d.ts +22 -0
  22. package/build/commands/subscription/cancel-subscription.command.d.ts.map +1 -0
  23. package/build/commands/subscription/cancel-subscription.command.js +14 -0
  24. package/build/commands/subscription/index.d.ts +1 -0
  25. package/build/commands/subscription/index.d.ts.map +1 -1
  26. package/build/commands/subscription/index.js +1 -0
  27. package/build/constants/cloud-payments/index.d.ts +2 -0
  28. package/build/constants/cloud-payments/index.d.ts.map +1 -0
  29. package/build/constants/cloud-payments/index.js +4 -0
  30. package/build/constants/errors/errors.d.ts +5 -0
  31. package/build/constants/errors/errors.d.ts.map +1 -1
  32. package/build/constants/errors/errors.js +5 -0
  33. package/build/constants/index.d.ts +1 -0
  34. package/build/constants/index.d.ts.map +1 -1
  35. package/build/constants/index.js +1 -0
  36. package/build/queries/image-editor/find-image-editor-jobs.command.d.ts +3 -0
  37. package/build/queries/image-editor/find-image-editor-jobs.command.d.ts.map +1 -1
  38. package/build/queries/image-editor/find-image-editor-jobs.command.js +1 -0
  39. package/build/queries/image-generation/find-image-generation-jobs.command.d.ts +3 -0
  40. package/build/queries/image-generation/find-image-generation-jobs.command.d.ts.map +1 -1
  41. package/build/queries/image-generation/find-image-generation-jobs.command.js +1 -0
  42. package/build/queries/index.d.ts +1 -0
  43. package/build/queries/index.d.ts.map +1 -1
  44. package/build/queries/index.js +1 -0
  45. package/build/queries/subscription/get-subscriptions-summary.command.d.ts +308 -0
  46. package/build/queries/subscription/get-subscriptions-summary.command.d.ts.map +1 -0
  47. package/build/queries/subscription/get-subscriptions-summary.command.js +36 -0
  48. package/build/queries/subscription/index.d.ts +1 -0
  49. package/build/queries/subscription/index.d.ts.map +1 -1
  50. package/build/queries/subscription/index.js +1 -0
  51. package/build/queries/unregistered-user/get-unregistered-user-balance.command.d.ts +37 -0
  52. package/build/queries/unregistered-user/get-unregistered-user-balance.command.d.ts.map +1 -0
  53. package/build/queries/unregistered-user/get-unregistered-user-balance.command.js +15 -0
  54. package/build/queries/unregistered-user/index.d.ts +2 -0
  55. package/build/queries/unregistered-user/index.d.ts.map +1 -0
  56. package/build/queries/unregistered-user/index.js +17 -0
  57. package/build/queries/user/get-user-balance.command.d.ts +37 -0
  58. package/build/queries/user/get-user-balance.command.d.ts.map +1 -0
  59. package/build/queries/user/get-user-balance.command.js +15 -0
  60. package/build/queries/user/index.d.ts +1 -0
  61. package/build/queries/user/index.d.ts.map +1 -1
  62. package/build/queries/user/index.js +1 -0
  63. package/commands/subscription/cancel-subscription.command.ts +16 -0
  64. package/commands/subscription/index.ts +1 -0
  65. package/constants/cloud-payments/index.ts +1 -0
  66. package/constants/errors/errors.ts +5 -0
  67. package/constants/index.ts +1 -0
  68. package/package.json +1 -1
  69. package/queries/image-editor/find-image-editor-jobs.command.ts +1 -0
  70. package/queries/image-generation/find-image-generation-jobs.command.ts +1 -0
  71. package/queries/index.ts +1 -0
  72. package/queries/subscription/get-subscriptions-summary.command.ts +38 -0
  73. package/queries/subscription/index.ts +1 -0
  74. package/queries/unregistered-user/get-unregistered-user-balance.command.ts +14 -0
  75. package/queries/unregistered-user/index.ts +1 -0
  76. package/queries/user/get-user-balance.command.ts +14 -0
  77. package/queries/user/index.ts +1 -0
@@ -4,4 +4,5 @@ export const PRODUCT_PUBLIC_CONTROLLER = 'product/public' as const;
4
4
  export const PRODUCT_ROUTES = {
5
5
  GET_ALL: 'all',
6
6
  BUY: 'buy',
7
+ MY: 'my',
7
8
  } as const;
@@ -4,4 +4,7 @@ export const SUBSCRIPTION_PUBLIC_CONTROLLER = 'subscription/public' as const;
4
4
  export const SUBSCRIPTION_ROUTES = {
5
5
  GET_ALL: 'all',
6
6
  BUY: 'buy',
7
+ SUMMARY: 'summary',
8
+ GET_MY: 'my',
9
+ CANCEL: 'cancel',
7
10
  } as const;
@@ -1 +1,5 @@
1
1
  export const UNREGISTERED_USER_CONTROLLER = 'unregistered-user' as const;
2
+
3
+ export const UNREGISTERED_USER_ROUTES = {
4
+ BALANCE: 'balance',
5
+ } as const;
@@ -2,4 +2,5 @@ export const USER_CONTROLLER = 'users' as const;
2
2
 
3
3
  export const USER_ROUTES = {
4
4
  GET: 'me',
5
+ BALANCE: 'balance',
5
6
  } as const;
package/api/routes.ts CHANGED
@@ -20,9 +20,11 @@ export const REST_API = {
20
20
  },
21
21
  UNREGISTERED_USER: {
22
22
  UPSERT: `${ROOT}/${CONTROLLERS.UNREGISTERED_USER_CONTROLLER}`,
23
+ BALANCE: `${ROOT}/${CONTROLLERS.UNREGISTERED_USER_CONTROLLER}/${CONTROLLERS.UNREGISTERED_USER_ROUTES.BALANCE}`,
23
24
  },
24
25
  USERS: {
25
26
  GET: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
27
+ BALANCE: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.BALANCE}`,
26
28
  },
27
29
  PRODUCT_PUBLIC: {
28
30
  GET: `${ROOT}/${CONTROLLERS.PRODUCT_PUBLIC_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
@@ -31,6 +33,7 @@ export const REST_API = {
31
33
  GET: `${ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
32
34
  BUY: (uuid: string) =>
33
35
  `${ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.PRODUCT_ROUTES.BUY}`,
36
+ MY: `${ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.MY}`,
34
37
  },
35
38
  SUBSCRIPTION_PUBLIC: {
36
39
  GET: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
@@ -39,6 +42,10 @@ export const REST_API = {
39
42
  GET: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
40
43
  BUY: (uuid: string) =>
41
44
  `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.BUY}`,
45
+ SUMMARY: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
46
+ GET_MY: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_MY}`,
47
+ CANCEL: (uuid: string) =>
48
+ `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CANCEL}`,
42
49
  },
43
50
  PAYMENT: {
44
51
  HISTORY: `${ROOT}/${CONTROLLERS.PAYMENT_CONTROLLER}/${CONTROLLERS.PAYMENT_ROUTES.HISTORY}`,
@@ -3,5 +3,6 @@ export declare const PRODUCT_PUBLIC_CONTROLLER: "product/public";
3
3
  export declare const PRODUCT_ROUTES: {
4
4
  readonly GET_ALL: "all";
5
5
  readonly BUY: "buy";
6
+ readonly MY: "my";
6
7
  };
7
8
  //# sourceMappingURL=product.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/product.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,EAAG,iBAA0B,CAAC;AACrE,eAAO,MAAM,yBAAyB,EAAG,gBAAyB,CAAC;AAEnE,eAAO,MAAM,cAAc;;;CAGjB,CAAC"}
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/product.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,EAAG,iBAA0B,CAAC;AACrE,eAAO,MAAM,yBAAyB,EAAG,gBAAyB,CAAC;AAEnE,eAAO,MAAM,cAAc;;;;CAIjB,CAAC"}
@@ -6,4 +6,5 @@ exports.PRODUCT_PUBLIC_CONTROLLER = 'product/public';
6
6
  exports.PRODUCT_ROUTES = {
7
7
  GET_ALL: 'all',
8
8
  BUY: 'buy',
9
+ MY: 'my',
9
10
  };
@@ -3,5 +3,8 @@ export declare const SUBSCRIPTION_PUBLIC_CONTROLLER: "subscription/public";
3
3
  export declare const SUBSCRIPTION_ROUTES: {
4
4
  readonly GET_ALL: "all";
5
5
  readonly BUY: "buy";
6
+ readonly SUMMARY: "summary";
7
+ readonly GET_MY: "my";
8
+ readonly CANCEL: "cancel";
6
9
  };
7
10
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/subscription.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,EAAG,sBAA+B,CAAC;AAC/E,eAAO,MAAM,8BAA8B,EAAG,qBAA8B,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/subscription.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,EAAG,sBAA+B,CAAC;AAC/E,eAAO,MAAM,8BAA8B,EAAG,qBAA8B,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC"}
@@ -6,4 +6,7 @@ exports.SUBSCRIPTION_PUBLIC_CONTROLLER = 'subscription/public';
6
6
  exports.SUBSCRIPTION_ROUTES = {
7
7
  GET_ALL: 'all',
8
8
  BUY: 'buy',
9
+ SUMMARY: 'summary',
10
+ GET_MY: 'my',
11
+ CANCEL: 'cancel',
9
12
  };
@@ -1,2 +1,5 @@
1
1
  export declare const UNREGISTERED_USER_CONTROLLER: "unregistered-user";
2
+ export declare const UNREGISTERED_USER_ROUTES: {
3
+ readonly BALANCE: "balance";
4
+ };
2
5
  //# sourceMappingURL=unregistered-user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unregistered-user.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/unregistered-user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,EAAG,mBAA4B,CAAC"}
1
+ {"version":3,"file":"unregistered-user.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/unregistered-user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,EAAG,mBAA4B,CAAC;AAEzE,eAAO,MAAM,wBAAwB;;CAE3B,CAAC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNREGISTERED_USER_CONTROLLER = void 0;
3
+ exports.UNREGISTERED_USER_ROUTES = exports.UNREGISTERED_USER_CONTROLLER = void 0;
4
4
  exports.UNREGISTERED_USER_CONTROLLER = 'unregistered-user';
5
+ exports.UNREGISTERED_USER_ROUTES = {
6
+ BALANCE: 'balance',
7
+ };
@@ -1,5 +1,6 @@
1
1
  export declare const USER_CONTROLLER: "users";
2
2
  export declare const USER_ROUTES: {
3
3
  readonly GET: "me";
4
+ readonly BALANCE: "balance";
4
5
  };
5
6
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAG,OAAgB,CAAC;AAEhD,eAAO,MAAM,WAAW;;CAEd,CAAC"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../api/controller/http/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAG,OAAgB,CAAC;AAEhD,eAAO,MAAM,WAAW;;;CAGd,CAAC"}
@@ -4,4 +4,5 @@ exports.USER_ROUTES = exports.USER_CONTROLLER = void 0;
4
4
  exports.USER_CONTROLLER = 'users';
5
5
  exports.USER_ROUTES = {
6
6
  GET: 'me',
7
+ BALANCE: 'balance',
7
8
  };
@@ -17,9 +17,11 @@ export declare const REST_API: {
17
17
  };
18
18
  readonly UNREGISTERED_USER: {
19
19
  readonly UPSERT: "/api/unregistered-user";
20
+ readonly BALANCE: "/api/unregistered-user/balance";
20
21
  };
21
22
  readonly USERS: {
22
23
  readonly GET: "/api/users/me";
24
+ readonly BALANCE: "/api/users/balance";
23
25
  };
24
26
  readonly PRODUCT_PUBLIC: {
25
27
  readonly GET: "/api/product/public/all";
@@ -27,6 +29,7 @@ export declare const REST_API: {
27
29
  readonly PRODUCT_PRIVATE: {
28
30
  readonly GET: "/api/product/private/all";
29
31
  readonly BUY: (uuid: string) => string;
32
+ readonly MY: "/api/product/private/my";
30
33
  };
31
34
  readonly SUBSCRIPTION_PUBLIC: {
32
35
  readonly GET: "/api/subscription/public/all";
@@ -34,6 +37,9 @@ export declare const REST_API: {
34
37
  readonly SUBSCRIPTION_PRIVATE: {
35
38
  readonly GET: "/api/subscription/private/all";
36
39
  readonly BUY: (uuid: string) => string;
40
+ readonly SUMMARY: "/api/subscription/private/summary";
41
+ readonly GET_MY: "/api/subscription/private/my";
42
+ readonly CANCEL: (uuid: string) => string;
37
43
  };
38
44
  readonly PAYMENT: {
39
45
  readonly HISTORY: "/api/payments/history";
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AAEpC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA2BD,MAAM;;;;;;;6BAQN,MAAM;;;;;;kCAOD,MAAM;;;;;;iCAOP,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;iCAOJ,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;;iCAQJ,MAAM;+BAER,MAAM;sCAEC,MAAM;gCAEZ,MAAM;gCAEN,MAAM;;;;;;;;iCASL,MAAM;+BAER,MAAM;sCAEC,MAAM;gCAEZ,MAAM;gCAEN,MAAM;;;;;;;;;;;iCAYL,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;iCAOJ,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;6BAMR,MAAM;;;;;6BAKN,MAAM;;;;;;;;sCAQG,MAAM;wCAEJ,MAAM;;gCAGd,MAAM;gCAEN,MAAM;iDAEW,MAAM;;;;sCAKjB,MAAM;;gCAGZ,MAAM;gCAEN,MAAM;;CAGnB,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AAEpC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA6BD,MAAM;;;;;;;;6BASN,MAAM;;;gCAIH,MAAM;;;;;;kCAOJ,MAAM;;;;;;iCAOP,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;iCAOJ,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;;iCAQJ,MAAM;+BAER,MAAM;sCAEC,MAAM;gCAEZ,MAAM;gCAEN,MAAM;;;;;;;;iCASL,MAAM;+BAER,MAAM;sCAEC,MAAM;gCAEZ,MAAM;gCAEN,MAAM;;;;;;;;;;;iCAYL,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;;iCAOJ,MAAM;gCAEP,MAAM;sCAEA,MAAM;gCAEZ,MAAM;;+BAGP,MAAM;;;;;6BAMR,MAAM;;;;;6BAKN,MAAM;;;;;;;;sCAQG,MAAM;wCAEJ,MAAM;;gCAGd,MAAM;gCAEN,MAAM;iDAEW,MAAM;;;;sCAKjB,MAAM;;gCAGZ,MAAM;gCAEN,MAAM;;CAGnB,CAAC"}
@@ -54,9 +54,11 @@ exports.REST_API = {
54
54
  },
55
55
  UNREGISTERED_USER: {
56
56
  UPSERT: `${exports.ROOT}/${CONTROLLERS.UNREGISTERED_USER_CONTROLLER}`,
57
+ BALANCE: `${exports.ROOT}/${CONTROLLERS.UNREGISTERED_USER_CONTROLLER}/${CONTROLLERS.UNREGISTERED_USER_ROUTES.BALANCE}`,
57
58
  },
58
59
  USERS: {
59
60
  GET: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
61
+ BALANCE: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.BALANCE}`,
60
62
  },
61
63
  PRODUCT_PUBLIC: {
62
64
  GET: `${exports.ROOT}/${CONTROLLERS.PRODUCT_PUBLIC_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
@@ -64,6 +66,7 @@ exports.REST_API = {
64
66
  PRODUCT_PRIVATE: {
65
67
  GET: `${exports.ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
66
68
  BUY: (uuid) => `${exports.ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.PRODUCT_ROUTES.BUY}`,
69
+ MY: `${exports.ROOT}/${CONTROLLERS.PRODUCT_PRIVATE_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.MY}`,
67
70
  },
68
71
  SUBSCRIPTION_PUBLIC: {
69
72
  GET: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PUBLIC_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
@@ -71,6 +74,9 @@ exports.REST_API = {
71
74
  SUBSCRIPTION_PRIVATE: {
72
75
  GET: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_ALL}`,
73
76
  BUY: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.BUY}`,
77
+ SUMMARY: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
78
+ GET_MY: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_MY}`,
79
+ CANCEL: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CANCEL}`,
74
80
  },
75
81
  PAYMENT: {
76
82
  HISTORY: `${exports.ROOT}/${CONTROLLERS.PAYMENT_CONTROLLER}/${CONTROLLERS.PAYMENT_ROUTES.HISTORY}`,
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare namespace CancelSubscriptionCommand {
3
+ const RequestParamSchema: z.ZodObject<{
4
+ uuidSiteUserToSubscription: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ uuidSiteUserToSubscription: string;
7
+ }, {
8
+ uuidSiteUserToSubscription: string;
9
+ }>;
10
+ type RequestParam = z.infer<typeof RequestParamSchema>;
11
+ const RequestSchema: z.ZodObject<{
12
+ text: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ text: string;
15
+ }, {
16
+ text: string;
17
+ }>;
18
+ type Request = z.infer<typeof RequestSchema>;
19
+ const ResponseSchema: z.ZodVoid;
20
+ type Response = z.infer<typeof ResponseSchema>;
21
+ }
22
+ //# sourceMappingURL=cancel-subscription.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel-subscription.command.d.ts","sourceRoot":"","sources":["../../../commands/subscription/cancel-subscription.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yBAAiB,yBAAyB,CAAC;IAChC,MAAM,kBAAkB;;;;;;MAE7B,CAAC;IACH,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAEvD,MAAM,aAAa;;;;;;MAExB,CAAC;IACH,KAAY,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc,WAAW,CAAC;IACvC,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelSubscriptionCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var CancelSubscriptionCommand;
6
+ (function (CancelSubscriptionCommand) {
7
+ CancelSubscriptionCommand.RequestParamSchema = zod_1.z.object({
8
+ uuidSiteUserToSubscription: zod_1.z.string().uuid(),
9
+ });
10
+ CancelSubscriptionCommand.RequestSchema = zod_1.z.object({
11
+ text: zod_1.z.string().min(1).max(500),
12
+ });
13
+ CancelSubscriptionCommand.ResponseSchema = zod_1.z.void();
14
+ })(CancelSubscriptionCommand || (exports.CancelSubscriptionCommand = CancelSubscriptionCommand = {}));
@@ -1,2 +1,3 @@
1
1
  export * from './buy-subscription.command';
2
+ export * from './cancel-subscription.command';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../commands/subscription/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../commands/subscription/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./buy-subscription.command"), exports);
18
+ __exportStar(require("./cancel-subscription.command"), exports);
@@ -0,0 +1,2 @@
1
+ export declare const CLOUD_PAYMENTS_CANCEL = "https://api.cloudpayments.ru/subscriptions/cancel";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/cloud-payments/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,sDAAsD,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLOUD_PAYMENTS_CANCEL = void 0;
4
+ exports.CLOUD_PAYMENTS_CANCEL = 'https://api.cloudpayments.ru/subscriptions/cancel';
@@ -189,6 +189,11 @@ export declare const ERRORS: {
189
189
  readonly code: "SUBSCRIPTION_005";
190
190
  readonly httpCode: 409;
191
191
  };
192
+ readonly SUBSCRIPTION_CANCEL_ERROR: {
193
+ readonly message: "Ошибка при отмене подписки";
194
+ readonly code: "SUBSCRIPTION_006";
195
+ readonly httpCode: 500;
196
+ };
192
197
  readonly ORDER_NOT_FOUND: {
193
198
  readonly message: "Заказ не найден";
194
199
  readonly code: "ORDER_001";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyqBT,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8qBT,CAAC"}
@@ -198,6 +198,11 @@ exports.ERRORS = {
198
198
  code: 'SUBSCRIPTION_005',
199
199
  httpCode: 409,
200
200
  },
201
+ SUBSCRIPTION_CANCEL_ERROR: {
202
+ message: 'Ошибка при отмене подписки',
203
+ code: 'SUBSCRIPTION_006',
204
+ httpCode: 500,
205
+ },
201
206
  // ORDER
202
207
  ORDER_NOT_FOUND: {
203
208
  message: 'Заказ не найден',
@@ -1,5 +1,6 @@
1
1
  export * from './errors';
2
2
  export * from './common';
3
+ export * from './cloud-payments';
3
4
  export * from './user';
4
5
  export * from './payment';
5
6
  export * from './transaction';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./errors"), exports);
18
18
  __exportStar(require("./common"), exports);
19
+ __exportStar(require("./cloud-payments"), exports);
19
20
  __exportStar(require("./user"), exports);
20
21
  __exportStar(require("./payment"), exports);
21
22
  __exportStar(require("./transaction"), exports);
@@ -3,10 +3,13 @@ export declare namespace FindImageEditorJobsCommand {
3
3
  const RequestQuerySchema: z.ZodObject<{
4
4
  limit: z.ZodDefault<z.ZodNumber>;
5
5
  offset: z.ZodDefault<z.ZodNumber>;
6
+ title: z.ZodOptional<z.ZodString>;
6
7
  }, "strip", z.ZodTypeAny, {
7
8
  limit: number;
8
9
  offset: number;
10
+ title?: string | undefined;
9
11
  }, {
12
+ title?: string | undefined;
10
13
  limit?: number | undefined;
11
14
  offset?: number | undefined;
12
15
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"find-image-editor-jobs.command.d.ts","sourceRoot":"","sources":["../../../queries/image-editor/find-image-editor-jobs.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,yBAAiB,0BAA0B,CAAC;IACjC,MAAM,kBAAkB;;;;;;;;;MAG7B,CAAC;IACH,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAEvD,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IACH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"find-image-editor-jobs.command.d.ts","sourceRoot":"","sources":["../../../queries/image-editor/find-image-editor-jobs.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,yBAAiB,0BAA0B,CAAC;IACjC,MAAM,kBAAkB;;;;;;;;;;;;MAI7B,CAAC;IACH,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAEvD,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IACH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -8,6 +8,7 @@ var FindImageEditorJobsCommand;
8
8
  FindImageEditorJobsCommand.RequestQuerySchema = zod_1.z.object({
9
9
  limit: zod_1.z.coerce.number().int().min(1).max(100).default(20),
10
10
  offset: zod_1.z.coerce.number().int().min(0).default(0),
11
+ title: zod_1.z.string().trim().min(1).max(200).optional(),
11
12
  });
12
13
  FindImageEditorJobsCommand.ResponseSchema = zod_1.z.object({
13
14
  data: zod_1.z.array(models_1.ImageEditorJobSchema),
@@ -3,10 +3,13 @@ export declare namespace FindImageGenerationJobsCommand {
3
3
  const RequestQuerySchema: z.ZodObject<{
4
4
  limit: z.ZodDefault<z.ZodNumber>;
5
5
  offset: z.ZodDefault<z.ZodNumber>;
6
+ title: z.ZodOptional<z.ZodString>;
6
7
  }, "strip", z.ZodTypeAny, {
7
8
  limit: number;
8
9
  offset: number;
10
+ title?: string | undefined;
9
11
  }, {
12
+ title?: string | undefined;
10
13
  limit?: number | undefined;
11
14
  offset?: number | undefined;
12
15
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"find-image-generation-jobs.command.d.ts","sourceRoot":"","sources":["../../../queries/image-generation/find-image-generation-jobs.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,yBAAiB,8BAA8B,CAAC;IACrC,MAAM,kBAAkB;;;;;;;;;MAG7B,CAAC;IACH,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAEvD,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IACH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"find-image-generation-jobs.command.d.ts","sourceRoot":"","sources":["../../../queries/image-generation/find-image-generation-jobs.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,yBAAiB,8BAA8B,CAAC;IACrC,MAAM,kBAAkB;;;;;;;;;;;;MAI7B,CAAC;IACH,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAEvD,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IACH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -8,6 +8,7 @@ var FindImageGenerationJobsCommand;
8
8
  FindImageGenerationJobsCommand.RequestQuerySchema = zod_1.z.object({
9
9
  limit: zod_1.z.coerce.number().int().min(1).max(100).default(20),
10
10
  offset: zod_1.z.coerce.number().int().min(0).default(0),
11
+ title: zod_1.z.string().trim().min(1).max(200).optional(),
11
12
  });
12
13
  FindImageGenerationJobsCommand.ResponseSchema = zod_1.z.object({
13
14
  data: zod_1.z.array(models_1.ImageGenerationJobSchema),
@@ -3,6 +3,7 @@ export * from './subscription';
3
3
  export * from './payment';
4
4
  export * from './file';
5
5
  export * from './user';
6
+ export * from './unregistered-user';
6
7
  export * from './image-generation';
7
8
  export * from './image-editor';
8
9
  export * from './page';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC"}
@@ -19,6 +19,7 @@ __exportStar(require("./subscription"), exports);
19
19
  __exportStar(require("./payment"), exports);
20
20
  __exportStar(require("./file"), exports);
21
21
  __exportStar(require("./user"), exports);
22
+ __exportStar(require("./unregistered-user"), exports);
22
23
  __exportStar(require("./image-generation"), exports);
23
24
  __exportStar(require("./image-editor"), exports);
24
25
  __exportStar(require("./page"), exports);
@@ -0,0 +1,308 @@
1
+ import { z } from 'zod';
2
+ import { USER_TO_SUBSCRIPTION_STATUS, USER_TO_PRODUCT_STATUS } from '../../constants';
3
+ export declare namespace GetSubscriptionsSummaryCommand {
4
+ const ResponseSchema: z.ZodObject<{
5
+ subscriptions: z.ZodArray<z.ZodObject<{
6
+ uuid: z.ZodString;
7
+ initTokenBalance: z.ZodNumber;
8
+ tokenBalance: z.ZodNumber;
9
+ carriedOverTokenBalance: z.ZodNumber;
10
+ status: z.ZodNativeEnum<typeof USER_TO_SUBSCRIPTION_STATUS>;
11
+ active: z.ZodBoolean;
12
+ createdAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
13
+ subscription: z.ZodObject<{
14
+ uuid: z.ZodString;
15
+ siteId: z.ZodString;
16
+ name: z.ZodString;
17
+ description: z.ZodString;
18
+ price: z.ZodNumber;
19
+ interval: z.ZodString;
20
+ period: z.ZodNumber;
21
+ tokens: z.ZodNumber;
22
+ discount: z.ZodNumber;
23
+ features: z.ZodArray<z.ZodObject<{
24
+ type: z.ZodString;
25
+ name: z.ZodString;
26
+ }, "strip", z.ZodTypeAny, {
27
+ type: string;
28
+ name: string;
29
+ }, {
30
+ type: string;
31
+ name: string;
32
+ }>, "many">;
33
+ carryoverPercent: z.ZodNumber;
34
+ }, "strip", z.ZodTypeAny, {
35
+ price: number;
36
+ uuid: string;
37
+ siteId: string;
38
+ name: string;
39
+ description: string;
40
+ tokens: number;
41
+ features: {
42
+ type: string;
43
+ name: string;
44
+ }[];
45
+ interval: string;
46
+ period: number;
47
+ discount: number;
48
+ carryoverPercent: number;
49
+ }, {
50
+ price: number;
51
+ uuid: string;
52
+ siteId: string;
53
+ name: string;
54
+ description: string;
55
+ tokens: number;
56
+ features: {
57
+ type: string;
58
+ name: string;
59
+ }[];
60
+ interval: string;
61
+ period: number;
62
+ discount: number;
63
+ carryoverPercent: number;
64
+ }>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ active: boolean;
67
+ uuid: string;
68
+ status: USER_TO_SUBSCRIPTION_STATUS;
69
+ createdAt: string | Date;
70
+ tokenBalance: number;
71
+ initTokenBalance: number;
72
+ carriedOverTokenBalance: number;
73
+ subscription: {
74
+ price: number;
75
+ uuid: string;
76
+ siteId: string;
77
+ name: string;
78
+ description: string;
79
+ tokens: number;
80
+ features: {
81
+ type: string;
82
+ name: string;
83
+ }[];
84
+ interval: string;
85
+ period: number;
86
+ discount: number;
87
+ carryoverPercent: number;
88
+ };
89
+ }, {
90
+ active: boolean;
91
+ uuid: string;
92
+ status: USER_TO_SUBSCRIPTION_STATUS;
93
+ createdAt: string | Date;
94
+ tokenBalance: number;
95
+ initTokenBalance: number;
96
+ carriedOverTokenBalance: number;
97
+ subscription: {
98
+ price: number;
99
+ uuid: string;
100
+ siteId: string;
101
+ name: string;
102
+ description: string;
103
+ tokens: number;
104
+ features: {
105
+ type: string;
106
+ name: string;
107
+ }[];
108
+ interval: string;
109
+ period: number;
110
+ discount: number;
111
+ carryoverPercent: number;
112
+ };
113
+ }>, "many">;
114
+ products: z.ZodArray<z.ZodObject<{
115
+ uuid: z.ZodString;
116
+ initTokenBalance: z.ZodNumber;
117
+ tokenBalance: z.ZodNumber;
118
+ status: z.ZodNativeEnum<typeof USER_TO_PRODUCT_STATUS>;
119
+ createdAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
120
+ product: z.ZodObject<{
121
+ uuid: z.ZodString;
122
+ siteId: z.ZodString;
123
+ name: z.ZodString;
124
+ description: z.ZodString;
125
+ tokens: z.ZodNumber;
126
+ price: z.ZodNumber;
127
+ features: z.ZodArray<z.ZodObject<{
128
+ type: z.ZodString;
129
+ name: z.ZodString;
130
+ }, "strip", z.ZodTypeAny, {
131
+ type: string;
132
+ name: string;
133
+ }, {
134
+ type: string;
135
+ name: string;
136
+ }>, "many">;
137
+ }, "strip", z.ZodTypeAny, {
138
+ price: number;
139
+ uuid: string;
140
+ siteId: string;
141
+ name: string;
142
+ description: string;
143
+ tokens: number;
144
+ features: {
145
+ type: string;
146
+ name: string;
147
+ }[];
148
+ }, {
149
+ price: number;
150
+ uuid: string;
151
+ siteId: string;
152
+ name: string;
153
+ description: string;
154
+ tokens: number;
155
+ features: {
156
+ type: string;
157
+ name: string;
158
+ }[];
159
+ }>;
160
+ }, "strip", z.ZodTypeAny, {
161
+ uuid: string;
162
+ status: USER_TO_PRODUCT_STATUS;
163
+ createdAt: string | Date;
164
+ tokenBalance: number;
165
+ initTokenBalance: number;
166
+ product: {
167
+ price: number;
168
+ uuid: string;
169
+ siteId: string;
170
+ name: string;
171
+ description: string;
172
+ tokens: number;
173
+ features: {
174
+ type: string;
175
+ name: string;
176
+ }[];
177
+ };
178
+ }, {
179
+ uuid: string;
180
+ status: USER_TO_PRODUCT_STATUS;
181
+ createdAt: string | Date;
182
+ tokenBalance: number;
183
+ initTokenBalance: number;
184
+ product: {
185
+ price: number;
186
+ uuid: string;
187
+ siteId: string;
188
+ name: string;
189
+ description: string;
190
+ tokens: number;
191
+ features: {
192
+ type: string;
193
+ name: string;
194
+ }[];
195
+ };
196
+ }>, "many">;
197
+ features: z.ZodArray<z.ZodObject<{
198
+ type: z.ZodString;
199
+ name: z.ZodString;
200
+ }, "strip", z.ZodTypeAny, {
201
+ type: string;
202
+ name: string;
203
+ }, {
204
+ type: string;
205
+ name: string;
206
+ }>, "many">;
207
+ }, "strip", z.ZodTypeAny, {
208
+ features: {
209
+ type: string;
210
+ name: string;
211
+ }[];
212
+ subscriptions: {
213
+ active: boolean;
214
+ uuid: string;
215
+ status: USER_TO_SUBSCRIPTION_STATUS;
216
+ createdAt: string | Date;
217
+ tokenBalance: number;
218
+ initTokenBalance: number;
219
+ carriedOverTokenBalance: number;
220
+ subscription: {
221
+ price: number;
222
+ uuid: string;
223
+ siteId: string;
224
+ name: string;
225
+ description: string;
226
+ tokens: number;
227
+ features: {
228
+ type: string;
229
+ name: string;
230
+ }[];
231
+ interval: string;
232
+ period: number;
233
+ discount: number;
234
+ carryoverPercent: number;
235
+ };
236
+ }[];
237
+ products: {
238
+ uuid: string;
239
+ status: USER_TO_PRODUCT_STATUS;
240
+ createdAt: string | Date;
241
+ tokenBalance: number;
242
+ initTokenBalance: number;
243
+ product: {
244
+ price: number;
245
+ uuid: string;
246
+ siteId: string;
247
+ name: string;
248
+ description: string;
249
+ tokens: number;
250
+ features: {
251
+ type: string;
252
+ name: string;
253
+ }[];
254
+ };
255
+ }[];
256
+ }, {
257
+ features: {
258
+ type: string;
259
+ name: string;
260
+ }[];
261
+ subscriptions: {
262
+ active: boolean;
263
+ uuid: string;
264
+ status: USER_TO_SUBSCRIPTION_STATUS;
265
+ createdAt: string | Date;
266
+ tokenBalance: number;
267
+ initTokenBalance: number;
268
+ carriedOverTokenBalance: number;
269
+ subscription: {
270
+ price: number;
271
+ uuid: string;
272
+ siteId: string;
273
+ name: string;
274
+ description: string;
275
+ tokens: number;
276
+ features: {
277
+ type: string;
278
+ name: string;
279
+ }[];
280
+ interval: string;
281
+ period: number;
282
+ discount: number;
283
+ carryoverPercent: number;
284
+ };
285
+ }[];
286
+ products: {
287
+ uuid: string;
288
+ status: USER_TO_PRODUCT_STATUS;
289
+ createdAt: string | Date;
290
+ tokenBalance: number;
291
+ initTokenBalance: number;
292
+ product: {
293
+ price: number;
294
+ uuid: string;
295
+ siteId: string;
296
+ name: string;
297
+ description: string;
298
+ tokens: number;
299
+ features: {
300
+ type: string;
301
+ name: string;
302
+ }[];
303
+ };
304
+ }[];
305
+ }>;
306
+ type Response = z.infer<typeof ResponseSchema>;
307
+ }
308
+ //# sourceMappingURL=get-subscriptions-summary.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-subscriptions-summary.command.d.ts","sourceRoot":"","sources":["../../../queries/subscription/get-subscriptions-summary.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AA2BtF,yBAAiB,8BAA8B,CAAC;IACrC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetSubscriptionsSummaryCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../models");
6
+ const constants_1 = require("../../constants");
7
+ const FeatureSchema = zod_1.z.object({
8
+ type: zod_1.z.string(),
9
+ name: zod_1.z.string(),
10
+ });
11
+ const UserToSubscriptionSummarySchema = zod_1.z.object({
12
+ uuid: zod_1.z.string().uuid(),
13
+ initTokenBalance: zod_1.z.number().int(),
14
+ tokenBalance: zod_1.z.number().int(),
15
+ carriedOverTokenBalance: zod_1.z.number().int(),
16
+ status: zod_1.z.nativeEnum(constants_1.USER_TO_SUBSCRIPTION_STATUS),
17
+ active: zod_1.z.boolean(),
18
+ createdAt: zod_1.z.date().or(zod_1.z.string().datetime()),
19
+ subscription: models_1.SubscriptionSchema,
20
+ });
21
+ const UserToProductSummarySchema = zod_1.z.object({
22
+ uuid: zod_1.z.string().uuid(),
23
+ initTokenBalance: zod_1.z.number().int(),
24
+ tokenBalance: zod_1.z.number().int(),
25
+ status: zod_1.z.nativeEnum(constants_1.USER_TO_PRODUCT_STATUS),
26
+ createdAt: zod_1.z.date().or(zod_1.z.string().datetime()),
27
+ product: models_1.ProductSchema,
28
+ });
29
+ var GetSubscriptionsSummaryCommand;
30
+ (function (GetSubscriptionsSummaryCommand) {
31
+ GetSubscriptionsSummaryCommand.ResponseSchema = zod_1.z.object({
32
+ subscriptions: zod_1.z.array(UserToSubscriptionSummarySchema),
33
+ products: zod_1.z.array(UserToProductSummarySchema),
34
+ features: zod_1.z.array(FeatureSchema),
35
+ });
36
+ })(GetSubscriptionsSummaryCommand || (exports.GetSubscriptionsSummaryCommand = GetSubscriptionsSummaryCommand = {}));
@@ -1,2 +1,3 @@
1
1
  export * from './find-subscriptions.command';
2
+ export * from './get-subscriptions-summary.command';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../queries/subscription/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../queries/subscription/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC"}
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./find-subscriptions.command"), exports);
18
+ __exportStar(require("./get-subscriptions-summary.command"), exports);
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare namespace GetUnregisteredUserBalanceCommand {
3
+ const ResponseSchema: z.ZodObject<{
4
+ data: z.ZodObject<{
5
+ subscriptionTokens: z.ZodNumber;
6
+ productTokens: z.ZodNumber;
7
+ bonusTokens: z.ZodNumber;
8
+ totalTokens: z.ZodNumber;
9
+ }, "strip", z.ZodTypeAny, {
10
+ subscriptionTokens: number;
11
+ productTokens: number;
12
+ bonusTokens: number;
13
+ totalTokens: number;
14
+ }, {
15
+ subscriptionTokens: number;
16
+ productTokens: number;
17
+ bonusTokens: number;
18
+ totalTokens: number;
19
+ }>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ data: {
22
+ subscriptionTokens: number;
23
+ productTokens: number;
24
+ bonusTokens: number;
25
+ totalTokens: number;
26
+ };
27
+ }, {
28
+ data: {
29
+ subscriptionTokens: number;
30
+ productTokens: number;
31
+ bonusTokens: number;
32
+ totalTokens: number;
33
+ };
34
+ }>;
35
+ type Response = z.infer<typeof ResponseSchema>;
36
+ }
37
+ //# sourceMappingURL=get-unregistered-user-balance.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unregistered-user-balance.command.d.ts","sourceRoot":"","sources":["../../../queries/unregistered-user/get-unregistered-user-balance.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yBAAiB,iCAAiC,CAAC;IACxC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetUnregisteredUserBalanceCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var GetUnregisteredUserBalanceCommand;
6
+ (function (GetUnregisteredUserBalanceCommand) {
7
+ GetUnregisteredUserBalanceCommand.ResponseSchema = zod_1.z.object({
8
+ data: zod_1.z.object({
9
+ subscriptionTokens: zod_1.z.number().int().min(0),
10
+ productTokens: zod_1.z.number().int().min(0),
11
+ bonusTokens: zod_1.z.number().int().min(0),
12
+ totalTokens: zod_1.z.number().int().min(0),
13
+ }),
14
+ });
15
+ })(GetUnregisteredUserBalanceCommand || (exports.GetUnregisteredUserBalanceCommand = GetUnregisteredUserBalanceCommand = {}));
@@ -0,0 +1,2 @@
1
+ export * from './get-unregistered-user-balance.command';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../queries/unregistered-user/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-unregistered-user-balance.command"), exports);
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare namespace GetUserBalanceCommand {
3
+ const ResponseSchema: z.ZodObject<{
4
+ data: z.ZodObject<{
5
+ subscriptionTokens: z.ZodNumber;
6
+ productTokens: z.ZodNumber;
7
+ bonusTokens: z.ZodNumber;
8
+ totalTokens: z.ZodNumber;
9
+ }, "strip", z.ZodTypeAny, {
10
+ subscriptionTokens: number;
11
+ productTokens: number;
12
+ bonusTokens: number;
13
+ totalTokens: number;
14
+ }, {
15
+ subscriptionTokens: number;
16
+ productTokens: number;
17
+ bonusTokens: number;
18
+ totalTokens: number;
19
+ }>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ data: {
22
+ subscriptionTokens: number;
23
+ productTokens: number;
24
+ bonusTokens: number;
25
+ totalTokens: number;
26
+ };
27
+ }, {
28
+ data: {
29
+ subscriptionTokens: number;
30
+ productTokens: number;
31
+ bonusTokens: number;
32
+ totalTokens: number;
33
+ };
34
+ }>;
35
+ type Response = z.infer<typeof ResponseSchema>;
36
+ }
37
+ //# sourceMappingURL=get-user-balance.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-balance.command.d.ts","sourceRoot":"","sources":["../../../queries/user/get-user-balance.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yBAAiB,qBAAqB,CAAC;IAC5B,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetUserBalanceCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var GetUserBalanceCommand;
6
+ (function (GetUserBalanceCommand) {
7
+ GetUserBalanceCommand.ResponseSchema = zod_1.z.object({
8
+ data: zod_1.z.object({
9
+ subscriptionTokens: zod_1.z.number().int().min(0),
10
+ productTokens: zod_1.z.number().int().min(0),
11
+ bonusTokens: zod_1.z.number().int().min(0),
12
+ totalTokens: zod_1.z.number().int().min(0),
13
+ }),
14
+ });
15
+ })(GetUserBalanceCommand || (exports.GetUserBalanceCommand = GetUserBalanceCommand = {}));
@@ -1,4 +1,5 @@
1
1
  export * from './get-user.command';
2
+ export * from './get-user-balance.command';
2
3
  export * from './get-my-products.command';
3
4
  export * from './get-my-subscriptions.command';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../queries/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../queries/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./get-user.command"), exports);
18
+ __exportStar(require("./get-user-balance.command"), exports);
18
19
  __exportStar(require("./get-my-products.command"), exports);
19
20
  __exportStar(require("./get-my-subscriptions.command"), exports);
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace CancelSubscriptionCommand {
4
+ export const RequestParamSchema = z.object({
5
+ uuidSiteUserToSubscription: z.string().uuid(),
6
+ });
7
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
8
+
9
+ export const RequestSchema = z.object({
10
+ text: z.string().min(1).max(500),
11
+ });
12
+ export type Request = z.infer<typeof RequestSchema>;
13
+
14
+ export const ResponseSchema = z.void();
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -1 +1,2 @@
1
1
  export * from './buy-subscription.command';
2
+ export * from './cancel-subscription.command';
@@ -0,0 +1 @@
1
+ export const CLOUD_PAYMENTS_CANCEL = 'https://api.cloudpayments.ru/subscriptions/cancel';
@@ -201,6 +201,11 @@ export const ERRORS = {
201
201
  code: 'SUBSCRIPTION_005',
202
202
  httpCode: 409,
203
203
  },
204
+ SUBSCRIPTION_CANCEL_ERROR: {
205
+ message: 'Ошибка при отмене подписки',
206
+ code: 'SUBSCRIPTION_006',
207
+ httpCode: 500,
208
+ },
204
209
 
205
210
  // ORDER
206
211
  ORDER_NOT_FOUND: {
@@ -1,5 +1,6 @@
1
1
  export * from './errors';
2
2
  export * from './common';
3
+ export * from './cloud-payments';
3
4
  export * from './user';
4
5
  export * from './payment';
5
6
  export * from './transaction';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/multisite",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Multisite API contracts (DTO schemas, routes, constants)",
5
5
  "type": "commonjs",
6
6
  "main": "build/index.js",
@@ -5,6 +5,7 @@ export namespace FindImageEditorJobsCommand {
5
5
  export const RequestQuerySchema = z.object({
6
6
  limit: z.coerce.number().int().min(1).max(100).default(20),
7
7
  offset: z.coerce.number().int().min(0).default(0),
8
+ title: z.string().trim().min(1).max(200).optional(),
8
9
  });
9
10
  export type RequestQuery = z.infer<typeof RequestQuerySchema>;
10
11
 
@@ -5,6 +5,7 @@ export namespace FindImageGenerationJobsCommand {
5
5
  export const RequestQuerySchema = z.object({
6
6
  limit: z.coerce.number().int().min(1).max(100).default(20),
7
7
  offset: z.coerce.number().int().min(0).default(0),
8
+ title: z.string().trim().min(1).max(200).optional(),
8
9
  });
9
10
  export type RequestQuery = z.infer<typeof RequestQuerySchema>;
10
11
 
package/queries/index.ts CHANGED
@@ -3,6 +3,7 @@ export * from './subscription';
3
3
  export * from './payment';
4
4
  export * from './file';
5
5
  export * from './user';
6
+ export * from './unregistered-user';
6
7
  export * from './image-generation';
7
8
  export * from './image-editor';
8
9
  export * from './page';
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ import { SubscriptionSchema, ProductSchema } from '../../models';
3
+ import { USER_TO_SUBSCRIPTION_STATUS, USER_TO_PRODUCT_STATUS } from '../../constants';
4
+
5
+ const FeatureSchema = z.object({
6
+ type: z.string(),
7
+ name: z.string(),
8
+ });
9
+
10
+ const UserToSubscriptionSummarySchema = z.object({
11
+ uuid: z.string().uuid(),
12
+ initTokenBalance: z.number().int(),
13
+ tokenBalance: z.number().int(),
14
+ carriedOverTokenBalance: z.number().int(),
15
+ status: z.nativeEnum(USER_TO_SUBSCRIPTION_STATUS),
16
+ active: z.boolean(),
17
+ createdAt: z.date().or(z.string().datetime()),
18
+ subscription: SubscriptionSchema,
19
+ });
20
+
21
+ const UserToProductSummarySchema = z.object({
22
+ uuid: z.string().uuid(),
23
+ initTokenBalance: z.number().int(),
24
+ tokenBalance: z.number().int(),
25
+ status: z.nativeEnum(USER_TO_PRODUCT_STATUS),
26
+ createdAt: z.date().or(z.string().datetime()),
27
+ product: ProductSchema,
28
+ });
29
+
30
+ export namespace GetSubscriptionsSummaryCommand {
31
+ export const ResponseSchema = z.object({
32
+ subscriptions: z.array(UserToSubscriptionSummarySchema),
33
+ products: z.array(UserToProductSummarySchema),
34
+ features: z.array(FeatureSchema),
35
+ });
36
+
37
+ export type Response = z.infer<typeof ResponseSchema>;
38
+ }
@@ -1 +1,2 @@
1
1
  export * from './find-subscriptions.command';
2
+ export * from './get-subscriptions-summary.command';
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace GetUnregisteredUserBalanceCommand {
4
+ export const ResponseSchema = z.object({
5
+ data: z.object({
6
+ subscriptionTokens: z.number().int().min(0),
7
+ productTokens: z.number().int().min(0),
8
+ bonusTokens: z.number().int().min(0),
9
+ totalTokens: z.number().int().min(0),
10
+ }),
11
+ });
12
+
13
+ export type Response = z.infer<typeof ResponseSchema>;
14
+ }
@@ -0,0 +1 @@
1
+ export * from './get-unregistered-user-balance.command';
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace GetUserBalanceCommand {
4
+ export const ResponseSchema = z.object({
5
+ data: z.object({
6
+ subscriptionTokens: z.number().int().min(0),
7
+ productTokens: z.number().int().min(0),
8
+ bonusTokens: z.number().int().min(0),
9
+ totalTokens: z.number().int().min(0),
10
+ }),
11
+ });
12
+
13
+ export type Response = z.infer<typeof ResponseSchema>;
14
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './get-user.command';
2
+ export * from './get-user-balance.command';
2
3
  export * from './get-my-products.command';
3
4
  export * from './get-my-subscriptions.command';