@purpleschool/gptbot 0.7.39 → 0.7.40

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.
@@ -11,7 +11,9 @@ export const SUBSCRIPTION_ROUTES = {
11
11
  CANCEL: 'cancel',
12
12
  RECOVER: 'recover',
13
13
  GET_AVAILABLE_UPGRADES: 'available-upgrades',
14
+ GET_AVAILABLE_DOWNGRADES: 'available-downgrades',
14
15
  UPGRADE: 'upgrade',
16
+ DOWNGRADE: 'downgrade',
15
17
  CREATE_CUSTOM: 'custom',
16
18
  FREE: 'free',
17
19
  SUMMARY: 'summary',
package/api/routes.ts CHANGED
@@ -143,8 +143,12 @@ export const REST_API = {
143
143
  CREATE: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}`,
144
144
  UPGRADE: (uuid: string) =>
145
145
  `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.UPGRADE}`,
146
+ DOWNGRADE: (uuid: string) =>
147
+ `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.DOWNGRADE}`,
146
148
  GET_AVAILABLE_UPGRADES: (uuid: string) =>
147
149
  `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_UPGRADES}`,
150
+ GET_AVAILABLE_DOWNGRADES: (uuid: string) =>
151
+ `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_DOWNGRADES}`,
148
152
  CREATE_CUSTOM: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
149
153
  SUMMARY: `${ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
150
154
  },
@@ -12,7 +12,9 @@ exports.SUBSCRIPTION_ROUTES = {
12
12
  CANCEL: 'cancel',
13
13
  RECOVER: 'recover',
14
14
  GET_AVAILABLE_UPGRADES: 'available-upgrades',
15
+ GET_AVAILABLE_DOWNGRADES: 'available-downgrades',
15
16
  UPGRADE: 'upgrade',
17
+ DOWNGRADE: 'downgrade',
16
18
  CREATE_CUSTOM: 'custom',
17
19
  FREE: 'free',
18
20
  SUMMARY: 'summary',
@@ -153,7 +153,9 @@ exports.REST_API = {
153
153
  DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}`,
154
154
  CREATE: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}`,
155
155
  UPGRADE: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.UPGRADE}`,
156
+ DOWNGRADE: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.DOWNGRADE}`,
156
157
  GET_AVAILABLE_UPGRADES: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_UPGRADES}`,
158
+ GET_AVAILABLE_DOWNGRADES: (uuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${uuid}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET_AVAILABLE_DOWNGRADES}`,
157
159
  CREATE_CUSTOM: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.CREATE_CUSTOM}`,
158
160
  SUMMARY: `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_PRIVATE_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.SUMMARY}`,
159
161
  },
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DowngradeSubscriptionCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../models");
6
+ var DowngradeSubscriptionCommand;
7
+ (function (DowngradeSubscriptionCommand) {
8
+ DowngradeSubscriptionCommand.RequestSchema = zod_1.z.object({
9
+ downgradeSubscriptionId: zod_1.z.string().uuid(),
10
+ });
11
+ DowngradeSubscriptionCommand.RequestParamSchema = models_1.UserToSubscriptionSchema.pick({
12
+ uuid: true,
13
+ });
14
+ const IReceiptOrderSchema = zod_1.z.object({
15
+ items: zod_1.z.array(zod_1.z.object({
16
+ label: zod_1.z.string(),
17
+ price: zod_1.z.number(),
18
+ quantity: zod_1.z.number(),
19
+ amount: zod_1.z.number(),
20
+ vat: zod_1.z.number(),
21
+ })),
22
+ email: zod_1.z.string(),
23
+ isBso: zod_1.z.boolean(),
24
+ amounts: zod_1.z.object({
25
+ electronic: zod_1.z.number(),
26
+ }),
27
+ });
28
+ DowngradeSubscriptionCommand.ResponseSchema = zod_1.z.object({
29
+ publicId: zod_1.z.string(),
30
+ amount: zod_1.z.number(),
31
+ currency: zod_1.z.string(),
32
+ accountId: zod_1.z.string(),
33
+ description: zod_1.z.string(),
34
+ invoiceId: zod_1.z.string(),
35
+ email: zod_1.z.string(),
36
+ skin: zod_1.z.string(),
37
+ autoClose: zod_1.z.number(),
38
+ data: zod_1.z.object({
39
+ CloudPayments: zod_1.z.object({
40
+ CustomerReceipt: IReceiptOrderSchema,
41
+ }),
42
+ }),
43
+ });
44
+ })(DowngradeSubscriptionCommand || (exports.DowngradeSubscriptionCommand = DowngradeSubscriptionCommand = {}));
@@ -27,3 +27,4 @@ __exportStar(require("./recover-past-due-subscription.command"), exports);
27
27
  __exportStar(require("./recover-subscription.command"), exports);
28
28
  __exportStar(require("./update-subscription.command"), exports);
29
29
  __exportStar(require("./upgrade-subscription.command"), exports);
30
+ __exportStar(require("./downgrade-subscription.command"), exports);
@@ -1821,4 +1821,19 @@ exports.ERRORS = {
1821
1821
  message: 'Не получилось конвертировать pdf в markdown, возможно вы прикрепили скан или картинку, не имеющую текста',
1822
1822
  httpCode: 400,
1823
1823
  },
1824
+ SUBSCRIPTION_DOWNGRADE_INVALID: {
1825
+ code: 'A376',
1826
+ message: 'Невозможно понизить подписку до указанного уровня',
1827
+ httpCode: 400,
1828
+ },
1829
+ SUBSCRIPTION_DOWNGRADE_ERROR: {
1830
+ code: 'A377',
1831
+ message: 'Не удалось понизить подписку',
1832
+ httpCode: 500,
1833
+ },
1834
+ SUBSCRIPTIONS_GET_DOWNGRADE_ERROR: {
1835
+ code: 'A378',
1836
+ message: 'Не удалось получить список возможных понижений для подписок',
1837
+ httpCode: 500,
1838
+ },
1824
1839
  };
@@ -5,4 +5,5 @@ var ORDER_TYPE;
5
5
  (function (ORDER_TYPE) {
6
6
  ORDER_TYPE["purchase"] = "purchase";
7
7
  ORDER_TYPE["upgrade"] = "upgrade";
8
+ ORDER_TYPE["downgrade"] = "downgrade";
8
9
  })(ORDER_TYPE || (exports.ORDER_TYPE = ORDER_TYPE = {}));
@@ -7,4 +7,5 @@ var SUBSCRIPTION_ACTION;
7
7
  SUBSCRIPTION_ACTION["buy"] = "buy";
8
8
  SUBSCRIPTION_ACTION["upgrade"] = "upgrade";
9
9
  SUBSCRIPTION_ACTION["possible_upgrade"] = "possible_upgrade";
10
+ SUBSCRIPTION_ACTION["downgrade"] = "downgrade";
10
11
  })(SUBSCRIPTION_ACTION || (exports.SUBSCRIPTION_ACTION = SUBSCRIPTION_ACTION = {}));
@@ -9,4 +9,7 @@ var SUBSCRIPTION_STATUS;
9
9
  SUBSCRIPTION_STATUS["upgraded"] = "upgraded";
10
10
  SUBSCRIPTION_STATUS["rejected"] = "rejected";
11
11
  SUBSCRIPTION_STATUS["past_due"] = "past_due";
12
+ SUBSCRIPTION_STATUS["downgraded"] = "downgraded";
13
+ SUBSCRIPTION_STATUS["awaiting_activation"] = "awaiting_activation";
14
+ SUBSCRIPTION_STATUS["awaiting_downgrade"] = "awaiting_downgrade";
12
15
  })(SUBSCRIPTION_STATUS || (exports.SUBSCRIPTION_STATUS = SUBSCRIPTION_STATUS = {}));
@@ -11,6 +11,7 @@ exports.UserToSubscriptionSchema = zod_1.z.object({
11
11
  active: zod_1.z.boolean(),
12
12
  tokenBalance: zod_1.z.number(),
13
13
  status: zod_1.z.string(),
14
+ startDate: zod_1.z.date().nullable(),
14
15
  endDate: zod_1.z.date().nullable(),
15
16
  marks: zod_1.z.array(zod_1.z.string()),
16
17
  intervalEndDate: zod_1.z.date().nullable(),
@@ -0,0 +1,50 @@
1
+ import { z } from 'zod';
2
+ import { UserToSubscriptionSchema } from '../../models';
3
+
4
+ export namespace DowngradeSubscriptionCommand {
5
+ export const RequestSchema = z.object({
6
+ downgradeSubscriptionId: z.string().uuid(),
7
+ });
8
+
9
+ export const RequestParamSchema = UserToSubscriptionSchema.pick({
10
+ uuid: true,
11
+ });
12
+
13
+ export type Request = z.infer<typeof RequestSchema>;
14
+
15
+ const IReceiptOrderSchema = z.object({
16
+ items: z.array(
17
+ z.object({
18
+ label: z.string(),
19
+ price: z.number(),
20
+ quantity: z.number(),
21
+ amount: z.number(),
22
+ vat: z.number(),
23
+ }),
24
+ ),
25
+ email: z.string(),
26
+ isBso: z.boolean(),
27
+ amounts: z.object({
28
+ electronic: z.number(),
29
+ }),
30
+ });
31
+
32
+ export const ResponseSchema = z.object({
33
+ publicId: z.string(),
34
+ amount: z.number(),
35
+ currency: z.string(),
36
+ accountId: z.string(),
37
+ description: z.string(),
38
+ invoiceId: z.string(),
39
+ email: z.string(),
40
+ skin: z.string(),
41
+ autoClose: z.number(),
42
+ data: z.object({
43
+ CloudPayments: z.object({
44
+ CustomerReceipt: IReceiptOrderSchema,
45
+ }),
46
+ }),
47
+ });
48
+
49
+ export type Response = z.infer<typeof ResponseSchema>;
50
+ }
@@ -11,3 +11,4 @@ export * from './recover-past-due-subscription.command';
11
11
  export * from './recover-subscription.command';
12
12
  export * from './update-subscription.command';
13
13
  export * from './upgrade-subscription.command';
14
+ export * from './downgrade-subscription.command';
@@ -1832,4 +1832,19 @@ export const ERRORS = {
1832
1832
  'Не получилось конвертировать pdf в markdown, возможно вы прикрепили скан или картинку, не имеющую текста',
1833
1833
  httpCode: 400,
1834
1834
  },
1835
+ SUBSCRIPTION_DOWNGRADE_INVALID: {
1836
+ code: 'A376',
1837
+ message: 'Невозможно понизить подписку до указанного уровня',
1838
+ httpCode: 400,
1839
+ },
1840
+ SUBSCRIPTION_DOWNGRADE_ERROR: {
1841
+ code: 'A377',
1842
+ message: 'Не удалось понизить подписку',
1843
+ httpCode: 500,
1844
+ },
1845
+ SUBSCRIPTIONS_GET_DOWNGRADE_ERROR: {
1846
+ code: 'A378',
1847
+ message: 'Не удалось получить список возможных понижений для подписок',
1848
+ httpCode: 500,
1849
+ },
1835
1850
  };
@@ -1,4 +1,5 @@
1
1
  export enum ORDER_TYPE {
2
2
  purchase = 'purchase',
3
3
  upgrade = 'upgrade',
4
+ downgrade = 'downgrade',
4
5
  }
@@ -3,4 +3,5 @@ export enum SUBSCRIPTION_ACTION {
3
3
  buy = 'buy',
4
4
  upgrade = 'upgrade',
5
5
  possible_upgrade = 'possible_upgrade',
6
+ downgrade = 'downgrade',
6
7
  }
@@ -5,4 +5,7 @@ export enum SUBSCRIPTION_STATUS {
5
5
  upgraded = 'upgraded',
6
6
  rejected = 'rejected',
7
7
  past_due = 'past_due',
8
+ downgraded = 'downgraded',
9
+ awaiting_activation = 'awaiting_activation',
10
+ awaiting_downgrade = 'awaiting_downgrade',
8
11
  }
@@ -9,6 +9,7 @@ export const UserToSubscriptionSchema = z.object({
9
9
  active: z.boolean(),
10
10
  tokenBalance: z.number(),
11
11
  status: z.string(),
12
+ startDate: z.date().nullable(),
12
13
  endDate: z.date().nullable(),
13
14
  marks: z.array(z.string()),
14
15
  intervalEndDate: z.date().nullable(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.7.39",
3
+ "version": "0.7.40",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",