@purpleschool/student-works 1.5.10 → 1.5.12
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.
- package/build/commands/product/create-product.command.d.ts +32 -0
- package/build/commands/product/create-product.command.d.ts.map +1 -1
- package/build/commands/product/find-product.command.d.ts +32 -0
- package/build/commands/product/find-product.command.d.ts.map +1 -1
- package/build/commands/product/get-my-products.command.d.ts +16 -0
- package/build/commands/product/get-my-products.command.d.ts.map +1 -1
- package/build/commands/product/update-product.command.d.ts +32 -0
- package/build/commands/product/update-product.command.d.ts.map +1 -1
- package/build/commands/subscription/create-subscription.command.d.ts +29 -5
- package/build/commands/subscription/create-subscription.command.d.ts.map +1 -1
- package/build/commands/subscription/find-subscription.command.d.ts +39 -3
- package/build/commands/subscription/find-subscription.command.d.ts.map +1 -1
- package/build/commands/subscription/get-available-upgrades.command.d.ts +13 -1
- package/build/commands/subscription/get-available-upgrades.command.d.ts.map +1 -1
- package/build/commands/subscription/get-free-subscription.command.d.ts +13 -1
- package/build/commands/subscription/get-free-subscription.command.d.ts.map +1 -1
- package/build/commands/subscription/update-subscription.command.d.ts +29 -5
- package/build/commands/subscription/update-subscription.command.d.ts.map +1 -1
- package/build/commands/user/find-user-by-uuid.command.d.ts +2 -2
- package/build/commands/user/find-users-by-criteria.command.d.ts +2 -2
- package/build/commands/user/up-token-bonus-balance.command.d.ts +2 -2
- package/build/commands/user-balance/get-user-balance.command.d.ts +1 -0
- package/build/commands/user-balance/get-user-balance.command.d.ts.map +1 -1
- package/build/commands/user-balance/get-user-balance.command.js +1 -0
- package/build/commands/user-to-subscription/get-user-to-subscriptions.command.d.ts +13 -1
- package/build/commands/user-to-subscription/get-user-to-subscriptions.command.d.ts.map +1 -1
- package/build/constants/errors/errors.d.ts +37 -0
- package/build/constants/errors/errors.d.ts.map +1 -1
- package/build/constants/errors/errors.js +38 -0
- package/build/constants/index.d.ts +1 -0
- package/build/constants/index.d.ts.map +1 -1
- package/build/constants/index.js +1 -0
- package/build/constants/subscription/enums/subscription-feature-type.enum.d.ts +5 -1
- package/build/constants/subscription/enums/subscription-feature-type.enum.d.ts.map +1 -1
- package/build/constants/subscription/enums/subscription-feature-type.enum.js +4 -0
- package/build/constants/token-reservation/enums/index.d.ts +2 -0
- package/build/constants/token-reservation/enums/index.d.ts.map +1 -0
- package/build/constants/token-reservation/enums/index.js +17 -0
- package/build/constants/token-reservation/enums/token-reservation-status.enum.d.ts +7 -0
- package/build/constants/token-reservation/enums/token-reservation-status.enum.d.ts.map +1 -0
- package/build/constants/token-reservation/enums/token-reservation-status.enum.js +10 -0
- package/build/constants/token-reservation/index.d.ts +2 -0
- package/build/constants/token-reservation/index.d.ts.map +1 -0
- package/build/constants/token-reservation/index.js +17 -0
- package/build/models/presentation/slide-content.schema.js +2 -2
- package/build/models/product.schema.d.ts +16 -0
- package/build/models/product.schema.d.ts.map +1 -1
- package/build/models/product.schema.js +2 -0
- package/build/models/subscription-feature.schema.d.ts +30 -2
- package/build/models/subscription-feature.schema.d.ts.map +1 -1
- package/build/models/subscription-feature.schema.js +21 -1
- package/build/models/subscription-upgrade-schema.d.ts +13 -1
- package/build/models/subscription-upgrade-schema.d.ts.map +1 -1
- package/build/models/subscription.schema.d.ts +65 -5
- package/build/models/subscription.schema.d.ts.map +1 -1
- package/build/models/user-to-product.schema.d.ts +16 -0
- package/build/models/user-to-product.schema.d.ts.map +1 -1
- package/build/models/user-to-subscription.schema.d.ts +13 -1
- package/build/models/user-to-subscription.schema.d.ts.map +1 -1
- package/commands/user-balance/get-user-balance.command.ts +1 -0
- package/constants/errors/errors.ts +38 -0
- package/constants/index.ts +1 -0
- package/constants/subscription/enums/subscription-feature-type.enum.ts +4 -0
- package/constants/token-reservation/enums/index.ts +1 -0
- package/constants/token-reservation/enums/token-reservation-status.enum.ts +6 -0
- package/constants/token-reservation/index.ts +1 -0
- package/models/presentation/slide-content.schema.ts +2 -2
- package/models/product.schema.ts +2 -0
- package/models/subscription-feature.schema.ts +24 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
|
package/build/constants/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare enum SUBSCRIPTION_FEATURE_TYPE {
|
|
2
|
-
GENERIC = "generic"
|
|
2
|
+
GENERIC = "generic",
|
|
3
|
+
CREDITS = "credits",
|
|
4
|
+
WRITER_PAGES = "writer_pages",
|
|
5
|
+
PRESENTATION_SLIDES = "presentation_slides",
|
|
6
|
+
EDU_TASKS = "edu_tasks"
|
|
3
7
|
}
|
|
4
8
|
//# sourceMappingURL=subscription-feature-type.enum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-feature-type.enum.d.ts","sourceRoot":"","sources":["../../../../constants/subscription/enums/subscription-feature-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB;IACjC,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"subscription-feature-type.enum.d.ts","sourceRoot":"","sources":["../../../../constants/subscription/enums/subscription-feature-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,yBAAyB;IACjC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,SAAS,cAAc;CAC1B"}
|
|
@@ -4,4 +4,8 @@ exports.SUBSCRIPTION_FEATURE_TYPE = void 0;
|
|
|
4
4
|
var SUBSCRIPTION_FEATURE_TYPE;
|
|
5
5
|
(function (SUBSCRIPTION_FEATURE_TYPE) {
|
|
6
6
|
SUBSCRIPTION_FEATURE_TYPE["GENERIC"] = "generic";
|
|
7
|
+
SUBSCRIPTION_FEATURE_TYPE["CREDITS"] = "credits";
|
|
8
|
+
SUBSCRIPTION_FEATURE_TYPE["WRITER_PAGES"] = "writer_pages";
|
|
9
|
+
SUBSCRIPTION_FEATURE_TYPE["PRESENTATION_SLIDES"] = "presentation_slides";
|
|
10
|
+
SUBSCRIPTION_FEATURE_TYPE["EDU_TASKS"] = "edu_tasks";
|
|
7
11
|
})(SUBSCRIPTION_FEATURE_TYPE || (exports.SUBSCRIPTION_FEATURE_TYPE = SUBSCRIPTION_FEATURE_TYPE = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../constants/token-reservation/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,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("./token-reservation-status.enum"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-reservation-status.enum.d.ts","sourceRoot":"","sources":["../../../../constants/token-reservation/enums/token-reservation-status.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,wBAAwB;IAChC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOKEN_RESERVATION_STATUS = void 0;
|
|
4
|
+
var TOKEN_RESERVATION_STATUS;
|
|
5
|
+
(function (TOKEN_RESERVATION_STATUS) {
|
|
6
|
+
TOKEN_RESERVATION_STATUS["PENDING"] = "pending";
|
|
7
|
+
TOKEN_RESERVATION_STATUS["COMMITTED"] = "committed";
|
|
8
|
+
TOKEN_RESERVATION_STATUS["RELEASED"] = "released";
|
|
9
|
+
TOKEN_RESERVATION_STATUS["EXPIRED"] = "expired";
|
|
10
|
+
})(TOKEN_RESERVATION_STATUS || (exports.TOKEN_RESERVATION_STATUS = TOKEN_RESERVATION_STATUS = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/token-reservation/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,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("./enums"), exports);
|
|
@@ -133,13 +133,13 @@ exports.TextSlideDataSchema = zod_1.z.object({
|
|
|
133
133
|
.max(70),
|
|
134
134
|
description: zod_1.z
|
|
135
135
|
.string()
|
|
136
|
-
.describe('Expository prose split into 2–3 paragraphs separated by \\n\\n (double newline). Total length
|
|
136
|
+
.describe('Expository prose split into 2–3 paragraphs separated by \\n\\n (double newline). Total length 180–800 characters. ' +
|
|
137
137
|
'Use **bold** to highlight 1–3 key terms per paragraph (NOT entire sentences). ' +
|
|
138
138
|
'Use *italics* for definitions, counter-points, or light emphasis (1 per paragraph max). ' +
|
|
139
139
|
'NO bullet points, NO markdown headers, NO numbered lists. ' +
|
|
140
140
|
'Each paragraph covers ONE focused idea: e.g. context → main argument → implication. ' +
|
|
141
141
|
'Do NOT start consecutive paragraphs with the same word. Do NOT cut text short mid-sentence.')
|
|
142
|
-
.min(
|
|
142
|
+
.min(180)
|
|
143
143
|
.max(800),
|
|
144
144
|
version: zod_1.z.literal(1),
|
|
145
145
|
});
|
|
@@ -5,6 +5,22 @@ export declare const ProductSchema: z.ZodObject<{
|
|
|
5
5
|
description: z.ZodString;
|
|
6
6
|
price: z.ZodNumber;
|
|
7
7
|
tokens: z.ZodNumber;
|
|
8
|
+
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
9
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
10
|
+
name: z.ZodString;
|
|
11
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
12
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
15
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
16
|
+
name: z.ZodString;
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
18
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
21
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
}, z.core.$strip>], "type">>;
|
|
8
24
|
createdAt: z.ZodDate;
|
|
9
25
|
updatedAt: z.ZodDate;
|
|
10
26
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.schema.d.ts","sourceRoot":"","sources":["../../models/product.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"product.schema.d.ts","sourceRoot":"","sources":["../../models/product.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,CAAC"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProductSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
const subscription_feature_schema_1 = require("./subscription-feature.schema");
|
|
5
6
|
exports.ProductSchema = zod_1.z.object({
|
|
6
7
|
uuid: zod_1.z.string().uuid(),
|
|
7
8
|
name: zod_1.z.string().min(3).max(16384),
|
|
8
9
|
description: zod_1.z.string().min(3).max(16384),
|
|
9
10
|
price: zod_1.z.number(),
|
|
10
11
|
tokens: zod_1.z.number(),
|
|
12
|
+
features: zod_1.z.array(subscription_feature_schema_1.SubscriptionFeatureSchema),
|
|
11
13
|
createdAt: zod_1.z.date(),
|
|
12
14
|
updatedAt: zod_1.z.date(),
|
|
13
15
|
});
|
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
import { SUBSCRIPTION_FEATURE_TYPE } from '../constants';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export declare const GenericSubscriptionFeatureSchema: z.ZodObject<{
|
|
4
|
-
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE>;
|
|
4
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const CreditsSubscriptionFeatureSchema: z.ZodObject<{
|
|
8
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const WriterPagesSubscriptionFeatureSchema: z.ZodObject<{
|
|
12
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const PresentationSlidesSubscriptionFeatureSchema: z.ZodObject<{
|
|
16
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export declare const EduTasksSubscriptionFeatureSchema: z.ZodObject<{
|
|
20
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
5
21
|
name: z.ZodString;
|
|
6
22
|
}, z.core.$strip>;
|
|
7
23
|
export declare const SubscriptionFeatureSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
8
|
-
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE>;
|
|
24
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
25
|
+
name: z.ZodString;
|
|
26
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
27
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
30
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
33
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
34
|
+
name: z.ZodString;
|
|
35
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
36
|
+
type: z.ZodLiteral<SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
9
37
|
name: z.ZodString;
|
|
10
38
|
}, z.core.$strip>], "type">;
|
|
11
39
|
//# sourceMappingURL=subscription-feature.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-feature.schema.d.ts","sourceRoot":"","sources":["../../models/subscription-feature.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gCAAgC;;;iBAG3C,CAAC;AAEH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"subscription-feature.schema.d.ts","sourceRoot":"","sources":["../../models/subscription-feature.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gCAAgC;;;iBAG3C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;iBAG3C,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;iBAG/C,CAAC;AAEH,eAAO,MAAM,2CAA2C;;;iBAGtD,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;iBAG5C,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;2BAMpC,CAAC"}
|
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriptionFeatureSchema = exports.GenericSubscriptionFeatureSchema = void 0;
|
|
3
|
+
exports.SubscriptionFeatureSchema = exports.EduTasksSubscriptionFeatureSchema = exports.PresentationSlidesSubscriptionFeatureSchema = exports.WriterPagesSubscriptionFeatureSchema = exports.CreditsSubscriptionFeatureSchema = exports.GenericSubscriptionFeatureSchema = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
exports.GenericSubscriptionFeatureSchema = zod_1.z.object({
|
|
7
7
|
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.GENERIC),
|
|
8
8
|
name: zod_1.z.string(),
|
|
9
9
|
});
|
|
10
|
+
exports.CreditsSubscriptionFeatureSchema = zod_1.z.object({
|
|
11
|
+
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.CREDITS),
|
|
12
|
+
name: zod_1.z.string(),
|
|
13
|
+
});
|
|
14
|
+
exports.WriterPagesSubscriptionFeatureSchema = zod_1.z.object({
|
|
15
|
+
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES),
|
|
16
|
+
name: zod_1.z.string(),
|
|
17
|
+
});
|
|
18
|
+
exports.PresentationSlidesSubscriptionFeatureSchema = zod_1.z.object({
|
|
19
|
+
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES),
|
|
20
|
+
name: zod_1.z.string(),
|
|
21
|
+
});
|
|
22
|
+
exports.EduTasksSubscriptionFeatureSchema = zod_1.z.object({
|
|
23
|
+
type: zod_1.z.literal(constants_1.SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS),
|
|
24
|
+
name: zod_1.z.string(),
|
|
25
|
+
});
|
|
10
26
|
exports.SubscriptionFeatureSchema = zod_1.z.discriminatedUnion('type', [
|
|
11
27
|
exports.GenericSubscriptionFeatureSchema,
|
|
28
|
+
exports.CreditsSubscriptionFeatureSchema,
|
|
29
|
+
exports.WriterPagesSubscriptionFeatureSchema,
|
|
30
|
+
exports.PresentationSlidesSubscriptionFeatureSchema,
|
|
31
|
+
exports.EduTasksSubscriptionFeatureSchema,
|
|
12
32
|
]);
|
|
@@ -11,7 +11,19 @@ export declare const SubscriptionUpgradeSchema: z.ZodIntersection<z.ZodObject<{
|
|
|
11
11
|
tokens: z.ZodNumber;
|
|
12
12
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof import("..").SUBSCRIPTION_ACTION>>>;
|
|
13
13
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
14
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
17
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
18
|
+
name: z.ZodString;
|
|
19
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
20
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
23
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
24
|
+
name: z.ZodString;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
15
27
|
name: z.ZodString;
|
|
16
28
|
}, z.core.$strip>], "type">>;
|
|
17
29
|
createdAt: z.ZodDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-upgrade-schema.d.ts","sourceRoot":"","sources":["../../models/subscription-upgrade-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"subscription-upgrade-schema.d.ts","sourceRoot":"","sources":["../../models/subscription-upgrade-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKrC,CAAC"}
|
|
@@ -12,7 +12,19 @@ export declare const SubscriptionSchema: z.ZodObject<{
|
|
|
12
12
|
tokens: z.ZodNumber;
|
|
13
13
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof SUBSCRIPTION_ACTION>>>;
|
|
14
14
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
15
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
15
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
16
|
+
name: z.ZodString;
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
18
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
21
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
24
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
25
|
+
name: z.ZodString;
|
|
26
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
27
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
16
28
|
name: z.ZodString;
|
|
17
29
|
}, z.core.$strip>], "type">>;
|
|
18
30
|
createdAt: z.ZodDate;
|
|
@@ -30,7 +42,19 @@ export declare const SubscriptionWithActionSchema: z.ZodIntersection<z.ZodObject
|
|
|
30
42
|
tokens: z.ZodNumber;
|
|
31
43
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof SUBSCRIPTION_ACTION>>>;
|
|
32
44
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
33
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
45
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
46
|
+
name: z.ZodString;
|
|
47
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
51
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
52
|
+
name: z.ZodString;
|
|
53
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
34
58
|
name: z.ZodString;
|
|
35
59
|
}, z.core.$strip>], "type">>;
|
|
36
60
|
createdAt: z.ZodDate;
|
|
@@ -50,7 +74,19 @@ export declare const SubscriptionWithSubTypesSchema: z.ZodIntersection<z.ZodObje
|
|
|
50
74
|
tokens: z.ZodNumber;
|
|
51
75
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof SUBSCRIPTION_ACTION>>>;
|
|
52
76
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
53
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
77
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
78
|
+
name: z.ZodString;
|
|
79
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
80
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
81
|
+
name: z.ZodString;
|
|
82
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
83
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
84
|
+
name: z.ZodString;
|
|
85
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
86
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
87
|
+
name: z.ZodString;
|
|
88
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
89
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
54
90
|
name: z.ZodString;
|
|
55
91
|
}, z.core.$strip>], "type">>;
|
|
56
92
|
createdAt: z.ZodDate;
|
|
@@ -68,7 +104,19 @@ export declare const SubscriptionWithSubTypesSchema: z.ZodIntersection<z.ZodObje
|
|
|
68
104
|
tokens: z.ZodNumber;
|
|
69
105
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof SUBSCRIPTION_ACTION>>>;
|
|
70
106
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
71
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
107
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
108
|
+
name: z.ZodString;
|
|
109
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
110
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
111
|
+
name: z.ZodString;
|
|
112
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
113
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
114
|
+
name: z.ZodString;
|
|
115
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
116
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
117
|
+
name: z.ZodString;
|
|
118
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
119
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
72
120
|
name: z.ZodString;
|
|
73
121
|
}, z.core.$strip>], "type">>;
|
|
74
122
|
createdAt: z.ZodDate;
|
|
@@ -89,7 +137,19 @@ export declare const SubscriptionWithFeaturesSchema: z.ZodObject<{
|
|
|
89
137
|
createdAt: z.ZodDate;
|
|
90
138
|
updatedAt: z.ZodDate;
|
|
91
139
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
92
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
140
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
141
|
+
name: z.ZodString;
|
|
142
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
143
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
144
|
+
name: z.ZodString;
|
|
145
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
146
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
147
|
+
name: z.ZodString;
|
|
148
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
149
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
150
|
+
name: z.ZodString;
|
|
151
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
152
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
93
153
|
name: z.ZodString;
|
|
94
154
|
}, z.core.$strip>], "type">>;
|
|
95
155
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.schema.d.ts","sourceRoot":"","sources":["../../models/subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtE,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"subscription.schema.d.ts","sourceRoot":"","sources":["../../models/subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc7B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKxC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK1C,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEzC,CAAC"}
|
|
@@ -25,6 +25,22 @@ export declare const UserToProductWithProductSchema: z.ZodObject<{
|
|
|
25
25
|
description: z.ZodString;
|
|
26
26
|
price: z.ZodNumber;
|
|
27
27
|
tokens: z.ZodNumber;
|
|
28
|
+
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
29
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
32
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
35
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
36
|
+
name: z.ZodString;
|
|
37
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
38
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
39
|
+
name: z.ZodString;
|
|
40
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
41
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
}, z.core.$strip>], "type">>;
|
|
28
44
|
createdAt: z.ZodDate;
|
|
29
45
|
updatedAt: z.ZodDate;
|
|
30
46
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-to-product.schema.d.ts","sourceRoot":"","sources":["../../models/user-to-product.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAC;AAEH,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"user-to-product.schema.d.ts","sourceRoot":"","sources":["../../models/user-to-product.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEzC,CAAC"}
|
|
@@ -42,7 +42,19 @@ export declare const UserToSubscriptionWithSubscriptionSchema: z.ZodIntersection
|
|
|
42
42
|
tokens: z.ZodNumber;
|
|
43
43
|
action: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof import("..").SUBSCRIPTION_ACTION>>>;
|
|
44
44
|
features: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
45
|
-
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE>;
|
|
45
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.GENERIC>;
|
|
46
|
+
name: z.ZodString;
|
|
47
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.CREDITS>;
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
51
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES>;
|
|
52
|
+
name: z.ZodString;
|
|
53
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES>;
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<import("..").SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS>;
|
|
46
58
|
name: z.ZodString;
|
|
47
59
|
}, z.core.$strip>], "type">>;
|
|
48
60
|
createdAt: z.ZodDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-to-subscription.schema.d.ts","sourceRoot":"","sources":["../../models/user-to-subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,wCAAwC
|
|
1
|
+
{"version":3,"file":"user-to-subscription.schema.d.ts","sourceRoot":"","sources":["../../models/user-to-subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAcnC,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKpD,CAAC"}
|
|
@@ -16,6 +16,44 @@ export const ERRORS = {
|
|
|
16
16
|
code: 'BALANCE_002',
|
|
17
17
|
httpCode: 500,
|
|
18
18
|
},
|
|
19
|
+
// TOKEN RESERVATION
|
|
20
|
+
TOKEN_RESERVATION: {
|
|
21
|
+
INSUFFICIENT_BALANCE: {
|
|
22
|
+
message: 'Недостаточно средств',
|
|
23
|
+
code: 'TOKEN_RESERVATION_001',
|
|
24
|
+
httpCode: 400,
|
|
25
|
+
},
|
|
26
|
+
NOT_FOUND: {
|
|
27
|
+
message: 'Запись о резервировании токенов не найдена',
|
|
28
|
+
code: 'TOKEN_RESERVATION_002',
|
|
29
|
+
httpCode: 404,
|
|
30
|
+
},
|
|
31
|
+
INVALID_STATUS: {
|
|
32
|
+
message: 'Недопустимый статус записи о резервировании токенов',
|
|
33
|
+
code: 'TOKEN_RESERVATION_003',
|
|
34
|
+
httpCode: 400,
|
|
35
|
+
},
|
|
36
|
+
EXPIRED: {
|
|
37
|
+
message: 'Срок записи о резервировании токенов истёк',
|
|
38
|
+
code: 'TOKEN_RESERVATION_004',
|
|
39
|
+
httpCode: 400,
|
|
40
|
+
},
|
|
41
|
+
CREATE_ERROR: {
|
|
42
|
+
message: 'Ошибка при создании записи о резервировании токенов',
|
|
43
|
+
code: 'TOKEN_RESERVATION_005',
|
|
44
|
+
httpCode: 500,
|
|
45
|
+
},
|
|
46
|
+
COMMIT_ERROR: {
|
|
47
|
+
message: 'Ошибка при подтверждении зарезервированных токенов',
|
|
48
|
+
code: 'TOKEN_RESERVATION_006',
|
|
49
|
+
httpCode: 500,
|
|
50
|
+
},
|
|
51
|
+
RELEASE_ERROR: {
|
|
52
|
+
message: 'Ошибка при освобождении зарезервированных токенов',
|
|
53
|
+
code: 'TOKEN_RESERVATION_007',
|
|
54
|
+
httpCode: 500,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
19
57
|
// AUTH
|
|
20
58
|
AUTH_REGISTER_CONFLICT: {
|
|
21
59
|
message: 'Пользователь с этим email уже существует',
|
package/constants/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './token-reservation-status.enum';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums';
|
|
@@ -267,14 +267,14 @@ export const TextSlideDataSchema = z.object({
|
|
|
267
267
|
description: z
|
|
268
268
|
.string()
|
|
269
269
|
.describe(
|
|
270
|
-
'Expository prose split into 2–3 paragraphs separated by \\n\\n (double newline). Total length
|
|
270
|
+
'Expository prose split into 2–3 paragraphs separated by \\n\\n (double newline). Total length 180–800 characters. ' +
|
|
271
271
|
'Use **bold** to highlight 1–3 key terms per paragraph (NOT entire sentences). ' +
|
|
272
272
|
'Use *italics* for definitions, counter-points, or light emphasis (1 per paragraph max). ' +
|
|
273
273
|
'NO bullet points, NO markdown headers, NO numbered lists. ' +
|
|
274
274
|
'Each paragraph covers ONE focused idea: e.g. context → main argument → implication. ' +
|
|
275
275
|
'Do NOT start consecutive paragraphs with the same word. Do NOT cut text short mid-sentence.',
|
|
276
276
|
)
|
|
277
|
-
.min(
|
|
277
|
+
.min(180)
|
|
278
278
|
.max(800),
|
|
279
279
|
version: z.literal(1),
|
|
280
280
|
}) satisfies z.ZodType<ITextSlideDataStructure>;
|
package/models/product.schema.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { SubscriptionFeatureSchema } from './subscription-feature.schema';
|
|
2
3
|
|
|
3
4
|
export const ProductSchema = z.object({
|
|
4
5
|
uuid: z.string().uuid(),
|
|
@@ -6,6 +7,7 @@ export const ProductSchema = z.object({
|
|
|
6
7
|
description: z.string().min(3).max(16384),
|
|
7
8
|
price: z.number(),
|
|
8
9
|
tokens: z.number(),
|
|
10
|
+
features: z.array(SubscriptionFeatureSchema),
|
|
9
11
|
createdAt: z.date(),
|
|
10
12
|
updatedAt: z.date(),
|
|
11
13
|
});
|
|
@@ -6,6 +6,30 @@ export const GenericSubscriptionFeatureSchema = z.object({
|
|
|
6
6
|
name: z.string(),
|
|
7
7
|
});
|
|
8
8
|
|
|
9
|
+
export const CreditsSubscriptionFeatureSchema = z.object({
|
|
10
|
+
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.CREDITS),
|
|
11
|
+
name: z.string(),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const WriterPagesSubscriptionFeatureSchema = z.object({
|
|
15
|
+
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.WRITER_PAGES),
|
|
16
|
+
name: z.string(),
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export const PresentationSlidesSubscriptionFeatureSchema = z.object({
|
|
20
|
+
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.PRESENTATION_SLIDES),
|
|
21
|
+
name: z.string(),
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const EduTasksSubscriptionFeatureSchema = z.object({
|
|
25
|
+
type: z.literal(SUBSCRIPTION_FEATURE_TYPE.EDU_TASKS),
|
|
26
|
+
name: z.string(),
|
|
27
|
+
});
|
|
28
|
+
|
|
9
29
|
export const SubscriptionFeatureSchema = z.discriminatedUnion('type', [
|
|
10
30
|
GenericSubscriptionFeatureSchema,
|
|
31
|
+
CreditsSubscriptionFeatureSchema,
|
|
32
|
+
WriterPagesSubscriptionFeatureSchema,
|
|
33
|
+
PresentationSlidesSubscriptionFeatureSchema,
|
|
34
|
+
EduTasksSubscriptionFeatureSchema,
|
|
11
35
|
]);
|