@purpleschool/gptbot 0.8.41 → 0.8.43

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 (27) hide show
  1. package/api/controllers/http/user-to-subscription.ts +1 -0
  2. package/api/routes.ts +4 -0
  3. package/build/api/controllers/http/user-to-subscription.js +1 -0
  4. package/build/api/routes.js +3 -0
  5. package/build/commands/review/create-review.command.js +1 -1
  6. package/build/commands/review/find-all-reviews.command.js +20 -0
  7. package/build/commands/review/find-reviews.command.js +1 -1
  8. package/build/commands/review/index.js +1 -0
  9. package/build/commands/user/get-user-products.command.js +1 -1
  10. package/build/commands/user/get-user-subscriptions.command.js +1 -1
  11. package/build/commands/user-to-subscription/delete-user-to-subscription.command.js +16 -0
  12. package/build/commands/user-to-subscription/index.js +1 -0
  13. package/build/constants/subscription/enums/subscription-status.enum.js +1 -0
  14. package/build/models/order.schema.js +1 -0
  15. package/build/models/review.schema.js +2 -0
  16. package/commands/review/create-review.command.ts +1 -1
  17. package/commands/review/find-all-reviews.command.ts +19 -0
  18. package/commands/review/find-reviews.command.ts +1 -1
  19. package/commands/review/index.ts +1 -0
  20. package/commands/user/get-user-products.command.ts +2 -2
  21. package/commands/user/get-user-subscriptions.command.ts +2 -2
  22. package/commands/user-to-subscription/delete-user-to-subscription.command.ts +18 -0
  23. package/commands/user-to-subscription/index.ts +1 -0
  24. package/constants/subscription/enums/subscription-status.enum.ts +1 -0
  25. package/models/order.schema.ts +1 -0
  26. package/models/review.schema.ts +2 -0
  27. package/package.json +1 -1
@@ -3,4 +3,5 @@ export const USER_TO_SUBSCRIPTION_CONTROLLER = 'user-to-subscription' as const;
3
3
  export const USER_TO_SUBSCRIPTION_ROUTES = {
4
4
  FIND_BY_UUID: (uuid: string) => `${uuid}`,
5
5
  UPDATE: (uuid: string) => `${uuid}`,
6
+ DELETE: (uuid: string) => `${uuid}`,
6
7
  } as const;
package/api/routes.ts CHANGED
@@ -247,6 +247,8 @@ export const REST_API = {
247
247
  },
248
248
  REVIEW_PRIVATE: {
249
249
  CREATE: `${ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.CREATE}`,
250
+ FIND: `${ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.FIND}`,
251
+ COUNT: `${ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.COUNT}`,
250
252
  },
251
253
  PROMPT_CATEGORY_PRIVATE: {
252
254
  CREATE: `${ROOT}/${CONTROLLERS.PROMPT_CATEGORY_PRIVATE_CONTROLLER}/${CONTROLLERS.PROMPT_CATEGORY_ROUTES.CREATE}`,
@@ -319,6 +321,8 @@ export const REST_API = {
319
321
  `${ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.FIND_BY_UUID(uuid)}`,
320
322
  UPDATE: (uuid: string) =>
321
323
  `${ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.UPDATE(uuid)}`,
324
+ DELETE: (uuid: string) =>
325
+ `${ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.DELETE(uuid)}`,
322
326
  },
323
327
  FEEDBACK_PRIVATE: {
324
328
  CREATE: `${ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PRIVATE}`,
@@ -5,4 +5,5 @@ exports.USER_TO_SUBSCRIPTION_CONTROLLER = 'user-to-subscription';
5
5
  exports.USER_TO_SUBSCRIPTION_ROUTES = {
6
6
  FIND_BY_UUID: (uuid) => `${uuid}`,
7
7
  UPDATE: (uuid) => `${uuid}`,
8
+ DELETE: (uuid) => `${uuid}`,
8
9
  };
@@ -234,6 +234,8 @@ exports.REST_API = {
234
234
  },
235
235
  REVIEW_PRIVATE: {
236
236
  CREATE: `${exports.ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.CREATE}`,
237
+ FIND: `${exports.ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.FIND}`,
238
+ COUNT: `${exports.ROOT}/${CONTROLLERS.REVIEW_PRIVATE_CONTROLLER}/${CONTROLLERS.REVIEW_ROUTES.COUNT}`,
237
239
  },
238
240
  PROMPT_CATEGORY_PRIVATE: {
239
241
  CREATE: `${exports.ROOT}/${CONTROLLERS.PROMPT_CATEGORY_PRIVATE_CONTROLLER}/${CONTROLLERS.PROMPT_CATEGORY_ROUTES.CREATE}`,
@@ -283,6 +285,7 @@ exports.REST_API = {
283
285
  USER_TO_SUBSCRIPTION: {
284
286
  FIND_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.FIND_BY_UUID(uuid)}`,
285
287
  UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.UPDATE(uuid)}`,
288
+ DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_TO_SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.USER_TO_SUBSCRIPTION_ROUTES.DELETE(uuid)}`,
286
289
  },
287
290
  FEEDBACK_PRIVATE: {
288
291
  CREATE: `${exports.ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PRIVATE}`,
@@ -12,6 +12,6 @@ var CreateReviewCommand;
12
12
  rating: true,
13
13
  });
14
14
  CreateReviewCommand.ResponseSchema = zod_1.z.object({
15
- data: models_1.ReviewSchema,
15
+ data: models_1.ReviewSchema.omit({ status: true }),
16
16
  });
17
17
  })(CreateReviewCommand || (exports.CreateReviewCommand = CreateReviewCommand = {}));
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FindAllReviewsCommand = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const models_1 = require("../../models");
9
+ var FindAllReviewsCommand;
10
+ (function (FindAllReviewsCommand) {
11
+ FindAllReviewsCommand.RequestSchema = zod_1.default.object({
12
+ limit: zod_1.default.string().transform((val) => parseInt(val, 10)),
13
+ offset: zod_1.default.string().transform((val) => parseInt(val, 10)),
14
+ });
15
+ FindAllReviewsCommand.ResponseSchema = zod_1.default.object({
16
+ data: zod_1.default.array(models_1.ReviewSchema),
17
+ totalPages: zod_1.default.number(),
18
+ page: zod_1.default.number(),
19
+ });
20
+ })(FindAllReviewsCommand || (exports.FindAllReviewsCommand = FindAllReviewsCommand = {}));
@@ -13,7 +13,7 @@ var FindReviewsCommand;
13
13
  offset: zod_1.default.string().transform((val) => parseInt(val, 10)),
14
14
  });
15
15
  FindReviewsCommand.ResponseSchema = zod_1.default.object({
16
- data: zod_1.default.array(models_1.ReviewSchema),
16
+ data: zod_1.default.array(models_1.ReviewSchema.omit({ status: true })),
17
17
  totalPages: zod_1.default.number(),
18
18
  page: zod_1.default.number(),
19
19
  });
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./create-review.command"), exports);
18
18
  __exportStar(require("./find-reviews.command"), exports);
19
19
  __exportStar(require("./get-review-count.command"), exports);
20
+ __exportStar(require("./find-all-reviews.command"), exports);
@@ -20,6 +20,6 @@ var GetUserProductsCommand;
20
20
  })
21
21
  .partial();
22
22
  GetUserProductsCommand.ResponseSchema = zod_1.default.object({
23
- data: zod_1.default.array(models_1.UserToProductSchema),
23
+ data: zod_1.default.array(models_1.UserToProductWithProductSchema),
24
24
  });
25
25
  })(GetUserProductsCommand || (exports.GetUserProductsCommand = GetUserProductsCommand = {}));
@@ -20,6 +20,6 @@ var GetUserSubscriptionsCommand;
20
20
  })
21
21
  .partial();
22
22
  GetUserSubscriptionsCommand.ResponseSchema = zod_1.default.object({
23
- data: zod_1.default.array(models_1.UserToSubscriptionSchema),
23
+ data: zod_1.default.array(models_1.UserToSubscriptionWithSubscriptionSchema),
24
24
  });
25
25
  })(GetUserSubscriptionsCommand || (exports.GetUserSubscriptionsCommand = GetUserSubscriptionsCommand = {}));
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteUserToSubscriptionCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../models");
6
+ var DeleteUserToSubscriptionCommand;
7
+ (function (DeleteUserToSubscriptionCommand) {
8
+ DeleteUserToSubscriptionCommand.RequestSchema = models_1.UserToSubscriptionSchema.pick({
9
+ uuid: true,
10
+ });
11
+ DeleteUserToSubscriptionCommand.ResponseSchema = zod_1.z.object({
12
+ data: zod_1.z.object({
13
+ isDeleted: zod_1.z.boolean(),
14
+ }),
15
+ });
16
+ })(DeleteUserToSubscriptionCommand || (exports.DeleteUserToSubscriptionCommand = DeleteUserToSubscriptionCommand = {}));
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./get-user-to-subscriptions.command"), exports);
18
18
  __exportStar(require("./update-user-to-subscription.command"), exports);
19
19
  __exportStar(require("./get-user-to-subscription-by-uuid.command"), exports);
20
+ __exportStar(require("./delete-user-to-subscription.command"), exports);
@@ -13,4 +13,5 @@ var SUBSCRIPTION_STATUS;
13
13
  SUBSCRIPTION_STATUS["awaiting_activation"] = "awaiting_activation";
14
14
  SUBSCRIPTION_STATUS["awaiting_downgrade"] = "awaiting_downgrade";
15
15
  SUBSCRIPTION_STATUS["downgrade_canceled"] = "downgrade_canceled";
16
+ SUBSCRIPTION_STATUS["deleted"] = "deleted";
16
17
  })(SUBSCRIPTION_STATUS || (exports.SUBSCRIPTION_STATUS = SUBSCRIPTION_STATUS = {}));
@@ -10,6 +10,7 @@ exports.OrderSchema = zod_1.z.object({
10
10
  productId: zod_1.z.nullable(zod_1.z.string().uuid()),
11
11
  subscriptionId: zod_1.z.nullable(zod_1.z.string().uuid()),
12
12
  sum: zod_1.z.number(),
13
+ description: zod_1.z.string(),
13
14
  createdAt: zod_1.z.date(),
14
15
  updatedAt: zod_1.z.date(),
15
16
  });
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReviewSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const constants_1 = require("../constants");
5
6
  exports.ReviewSchema = zod_1.z.object({
6
7
  uuid: zod_1.z.string().uuid(),
7
8
  email: zod_1.z.string().email(),
8
9
  name: zod_1.z.string(),
9
10
  text: zod_1.z.string(),
10
11
  rating: zod_1.z.number().int().step(1).min(0).max(5),
12
+ status: zod_1.z.nativeEnum(constants_1.REVIEW_STATUS),
11
13
  createdAt: zod_1.z.date(),
12
14
  updatedAt: zod_1.z.date(),
13
15
  });
@@ -12,7 +12,7 @@ export namespace CreateReviewCommand {
12
12
  export type Request = z.infer<typeof RequestSchema>;
13
13
 
14
14
  export const ResponseSchema = z.object({
15
- data: ReviewSchema,
15
+ data: ReviewSchema.omit({ status: true }),
16
16
  });
17
17
 
18
18
  export type Response = z.infer<typeof ResponseSchema>;
@@ -0,0 +1,19 @@
1
+ import z from 'zod';
2
+ import { ReviewSchema } from '../../models';
3
+
4
+ export namespace FindAllReviewsCommand {
5
+ export const RequestSchema = z.object({
6
+ limit: z.string().transform((val) => parseInt(val, 10)),
7
+ offset: z.string().transform((val) => parseInt(val, 10)),
8
+ });
9
+
10
+ export type Request = z.infer<typeof RequestSchema>;
11
+
12
+ export const ResponseSchema = z.object({
13
+ data: z.array(ReviewSchema),
14
+ totalPages: z.number(),
15
+ page: z.number(),
16
+ });
17
+
18
+ export type Response = z.infer<typeof ResponseSchema>;
19
+ }
@@ -10,7 +10,7 @@ export namespace FindReviewsCommand {
10
10
  export type Request = z.infer<typeof RequestSchema>;
11
11
 
12
12
  export const ResponseSchema = z.object({
13
- data: z.array(ReviewSchema),
13
+ data: z.array(ReviewSchema.omit({ status: true })),
14
14
  totalPages: z.number(),
15
15
  page: z.number(),
16
16
  });
@@ -1,3 +1,4 @@
1
1
  export * from './create-review.command';
2
2
  export * from './find-reviews.command';
3
3
  export * from './get-review-count.command';
4
+ export * from './find-all-reviews.command';
@@ -1,6 +1,6 @@
1
1
  import z from 'zod';
2
2
  import { PRODUCT_SORT_BY, PRODUCT_STATUS, SORT_ORDER } from '../../constants';
3
- import { UserToProductSchema } from '../../models';
3
+ import { UserToProductWithProductSchema } from '../../models';
4
4
 
5
5
  export namespace GetUserProductsCommand {
6
6
  export const RequestParamSchema = z.object({
@@ -19,7 +19,7 @@ export namespace GetUserProductsCommand {
19
19
  .partial();
20
20
 
21
21
  export const ResponseSchema = z.object({
22
- data: z.array(UserToProductSchema),
22
+ data: z.array(UserToProductWithProductSchema),
23
23
  });
24
24
 
25
25
  export type Response = z.infer<typeof ResponseSchema>;
@@ -1,6 +1,6 @@
1
1
  import z from 'zod';
2
2
  import { SORT_ORDER, SUBSCRIPTION_SORT_BY, SUBSCRIPTION_STATUS } from '../../constants';
3
- import { UserToSubscriptionSchema } from '../../models';
3
+ import { UserToSubscriptionWithSubscriptionSchema } from '../../models';
4
4
 
5
5
  export namespace GetUserSubscriptionsCommand {
6
6
  export const RequestParamSchema = z.object({
@@ -19,7 +19,7 @@ export namespace GetUserSubscriptionsCommand {
19
19
  .partial();
20
20
 
21
21
  export const ResponseSchema = z.object({
22
- data: z.array(UserToSubscriptionSchema),
22
+ data: z.array(UserToSubscriptionWithSubscriptionSchema),
23
23
  });
24
24
 
25
25
  export type Response = z.infer<typeof ResponseSchema>;
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { UserToSubscriptionSchema } from '../../models';
3
+
4
+ export namespace DeleteUserToSubscriptionCommand {
5
+ export const RequestSchema = UserToSubscriptionSchema.pick({
6
+ uuid: true,
7
+ });
8
+
9
+ export type Request = z.infer<typeof RequestSchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: z.object({
13
+ isDeleted: z.boolean(),
14
+ }),
15
+ });
16
+
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './get-user-to-subscriptions.command';
2
2
  export * from './update-user-to-subscription.command';
3
3
  export * from './get-user-to-subscription-by-uuid.command';
4
+ export * from './delete-user-to-subscription.command';
@@ -9,4 +9,5 @@ export enum SUBSCRIPTION_STATUS {
9
9
  awaiting_activation = 'awaiting_activation',
10
10
  awaiting_downgrade = 'awaiting_downgrade',
11
11
  downgrade_canceled = 'downgrade_canceled',
12
+ deleted = 'deleted',
12
13
  }
@@ -8,6 +8,7 @@ export const OrderSchema = z.object({
8
8
  productId: z.nullable(z.string().uuid()),
9
9
  subscriptionId: z.nullable(z.string().uuid()),
10
10
  sum: z.number(),
11
+ description: z.string(),
11
12
 
12
13
  createdAt: z.date(),
13
14
  updatedAt: z.date(),
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { REVIEW_STATUS } from '../constants';
2
3
 
3
4
  export const ReviewSchema = z.object({
4
5
  uuid: z.string().uuid(),
@@ -6,6 +7,7 @@ export const ReviewSchema = z.object({
6
7
  name: z.string(),
7
8
  text: z.string(),
8
9
  rating: z.number().int().step(1).min(0).max(5),
10
+ status: z.nativeEnum(REVIEW_STATUS),
9
11
 
10
12
  createdAt: z.date(),
11
13
  updatedAt: z.date(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.8.41",
3
+ "version": "0.8.43",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",