@purpleschool/gptbot 0.13.3 → 0.13.5

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 (31) hide show
  1. package/api/controllers/http/index.ts +1 -0
  2. package/api/controllers/http/support-feedback.ts +7 -0
  3. package/api/routes.ts +8 -0
  4. package/build/api/controllers/http/index.js +1 -0
  5. package/build/api/controllers/http/support-feedback.js +9 -0
  6. package/build/api/routes.js +8 -0
  7. package/build/commands/index.js +1 -0
  8. package/build/commands/support-feedback/check-support-feedback.command.js +24 -0
  9. package/build/commands/support-feedback/index.js +18 -0
  10. package/build/commands/support-feedback/upsert-support-feedback.command.js +18 -0
  11. package/build/commands/update-post/find-all-update-posts.command.js +3 -0
  12. package/build/constants/domains/white-list.js +1 -0
  13. package/build/constants/index.js +1 -0
  14. package/build/constants/update-post/enums/index.js +17 -0
  15. package/build/constants/update-post/enums/update-post-sort-by.enum.js +10 -0
  16. package/build/constants/update-post/index.js +17 -0
  17. package/build/models/index.js +1 -0
  18. package/build/models/support-feedback.schema.js +14 -0
  19. package/commands/index.ts +1 -0
  20. package/commands/support-feedback/check-support-feedback.command.ts +26 -0
  21. package/commands/support-feedback/index.ts +2 -0
  22. package/commands/support-feedback/upsert-support-feedback.command.ts +20 -0
  23. package/commands/update-post/find-all-update-posts.command.ts +3 -0
  24. package/constants/domains/white-list.ts +1 -0
  25. package/constants/index.ts +1 -0
  26. package/constants/update-post/enums/index.ts +1 -0
  27. package/constants/update-post/enums/update-post-sort-by.enum.ts +6 -0
  28. package/constants/update-post/index.ts +1 -0
  29. package/models/index.ts +1 -0
  30. package/models/support-feedback.schema.ts +12 -0
  31. package/package.json +1 -1
@@ -27,6 +27,7 @@ export * from './product';
27
27
  export * from './question';
28
28
  export * from './stt';
29
29
  export * from './subscription';
30
+ export * from './support-feedback';
30
31
  export * from './task';
31
32
  export * from './telegram-auth';
32
33
  export * from './telegram-connect';
@@ -0,0 +1,7 @@
1
+ export const SUPPORT_FEEDBACK_CONTROLLER_PRIVATE = 'private/support-feedback' as const;
2
+ export const SUPPORT_FEEDBACK_CONTROLLER_PUBLIC = 'public/support-feedback' as const;
3
+
4
+ export const SUPPORT_FEEDBACK_ROUTES = {
5
+ CREATE: '',
6
+ CHECK: 'check',
7
+ } as const;
package/api/routes.ts CHANGED
@@ -483,6 +483,14 @@ export const REST_API = {
483
483
  UPDATE: (uuid: string) => `${ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PUBLIC}/${uuid}`,
484
484
  CHECK_IF_USER_READY_FOR_FEEDBACK: `${ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.FEEDBACK_ROUTES.CHECK_IF_USER_READY_FOR_FEEDBACK}`,
485
485
  },
486
+ SUPPORT_FEEDBACK_PRIVATE: {
487
+ CREATE: `${ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CREATE}`,
488
+ CHECK: `${ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CHECK}`,
489
+ },
490
+ SUPPORT_FEEDBACK_PUBLIC: {
491
+ CREATE: `${ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CREATE}`,
492
+ CHECK: `${ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CHECK}`,
493
+ },
486
494
  DAILY_STREAK_PRIVATE: {
487
495
  GET: `${ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.GET}`,
488
496
  COLLECT: `${ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.COLLECT}`,
@@ -43,6 +43,7 @@ __exportStar(require("./product"), exports);
43
43
  __exportStar(require("./question"), exports);
44
44
  __exportStar(require("./stt"), exports);
45
45
  __exportStar(require("./subscription"), exports);
46
+ __exportStar(require("./support-feedback"), exports);
46
47
  __exportStar(require("./task"), exports);
47
48
  __exportStar(require("./telegram-auth"), exports);
48
49
  __exportStar(require("./telegram-connect"), exports);
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORT_FEEDBACK_ROUTES = exports.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC = exports.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE = void 0;
4
+ exports.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE = 'private/support-feedback';
5
+ exports.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC = 'public/support-feedback';
6
+ exports.SUPPORT_FEEDBACK_ROUTES = {
7
+ CREATE: '',
8
+ CHECK: 'check',
9
+ };
@@ -394,6 +394,14 @@ exports.REST_API = {
394
394
  UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PUBLIC}/${uuid}`,
395
395
  CHECK_IF_USER_READY_FOR_FEEDBACK: `${exports.ROOT}/${CONTROLLERS.FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.FEEDBACK_ROUTES.CHECK_IF_USER_READY_FOR_FEEDBACK}`,
396
396
  },
397
+ SUPPORT_FEEDBACK_PRIVATE: {
398
+ CREATE: `${exports.ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CREATE}`,
399
+ CHECK: `${exports.ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PRIVATE}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CHECK}`,
400
+ },
401
+ SUPPORT_FEEDBACK_PUBLIC: {
402
+ CREATE: `${exports.ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CREATE}`,
403
+ CHECK: `${exports.ROOT}/${CONTROLLERS.SUPPORT_FEEDBACK_CONTROLLER_PUBLIC}/${CONTROLLERS.SUPPORT_FEEDBACK_ROUTES.CHECK}`,
404
+ },
397
405
  DAILY_STREAK_PRIVATE: {
398
406
  GET: `${exports.ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.GET}`,
399
407
  COLLECT: `${exports.ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.COLLECT}`,
@@ -40,6 +40,7 @@ __exportStar(require("./product"), exports);
40
40
  __exportStar(require("./question"), exports);
41
41
  __exportStar(require("./referral"), exports);
42
42
  __exportStar(require("./subscription"), exports);
43
+ __exportStar(require("./support-feedback"), exports);
43
44
  __exportStar(require("./task"), exports);
44
45
  __exportStar(require("./telegram"), exports);
45
46
  __exportStar(require("./telegram-auth"), exports);
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckSupportFeedbackCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../models");
6
+ var CheckSupportFeedbackCommand;
7
+ (function (CheckSupportFeedbackCommand) {
8
+ CheckSupportFeedbackCommand.RequestQuerySchema = zod_1.z.object({
9
+ supportDialogId: zod_1.z.string().min(1),
10
+ });
11
+ CheckSupportFeedbackCommand.ResponseSchema = zod_1.z.object({
12
+ data: zod_1.z.object({
13
+ hasFeedback: zod_1.z.boolean(),
14
+ feedback: models_1.SupportFeedbackSchema.pick({
15
+ uuid: true,
16
+ supportDialogId: true,
17
+ rating: true,
18
+ comment: true,
19
+ createdAt: true,
20
+ updatedAt: true,
21
+ }).nullable(),
22
+ }),
23
+ });
24
+ })(CheckSupportFeedbackCommand || (exports.CheckSupportFeedbackCommand = CheckSupportFeedbackCommand = {}));
@@ -0,0 +1,18 @@
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("./check-support-feedback.command"), exports);
18
+ __exportStar(require("./upsert-support-feedback.command"), exports);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpsertSupportFeedbackCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../models");
6
+ var UpsertSupportFeedbackCommand;
7
+ (function (UpsertSupportFeedbackCommand) {
8
+ UpsertSupportFeedbackCommand.RequestSchema = models_1.SupportFeedbackSchema.pick({
9
+ supportDialogId: true,
10
+ rating: true,
11
+ comment: true,
12
+ }).partial({
13
+ comment: true,
14
+ });
15
+ UpsertSupportFeedbackCommand.ResponseSchema = zod_1.z.object({
16
+ data: models_1.SupportFeedbackSchema,
17
+ });
18
+ })(UpsertSupportFeedbackCommand || (exports.UpsertSupportFeedbackCommand = UpsertSupportFeedbackCommand = {}));
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FindAllUpdatePostsCommand = void 0;
4
4
  const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
5
6
  const models_1 = require("../../models");
6
7
  var FindAllUpdatePostsCommand;
7
8
  (function (FindAllUpdatePostsCommand) {
8
9
  FindAllUpdatePostsCommand.RequestQuerySchema = zod_1.z.object({
10
+ sortBy: zod_1.z.nativeEnum(constants_1.UPDATE_POST_SORT_BY).optional(),
11
+ sortOrder: zod_1.z.nativeEnum(constants_1.SORT_ORDER).default(constants_1.SORT_ORDER.DESC).optional(),
9
12
  limit: zod_1.z.coerce.number().int().positive().default(10),
10
13
  offset: zod_1.z.coerce.number().int().min(0).default(0),
11
14
  });
@@ -20,6 +20,7 @@ exports.WHITE_LIST = [
20
20
  'mail.com',
21
21
  'tut.by',
22
22
  'ukr.net',
23
+ 'vk.com',
23
24
  'e1.ru',
24
25
  'online.ua',
25
26
  'bigmir.net',
@@ -66,3 +66,4 @@ __exportStar(require("./user-profile"), exports);
66
66
  __exportStar(require("./model"), exports);
67
67
  __exportStar(require("./token-reservation"), exports);
68
68
  __exportStar(require("./team-account"), exports);
69
+ __exportStar(require("./update-post"), exports);
@@ -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("./update-post-sort-by.enum"), exports);
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UPDATE_POST_SORT_BY = void 0;
4
+ var UPDATE_POST_SORT_BY;
5
+ (function (UPDATE_POST_SORT_BY) {
6
+ UPDATE_POST_SORT_BY["CREATED_AT"] = "createdAt";
7
+ UPDATE_POST_SORT_BY["UPDATED_AT"] = "updatedAt";
8
+ UPDATE_POST_SORT_BY["SLUG"] = "slug";
9
+ UPDATE_POST_SORT_BY["TITLE"] = "title";
10
+ })(UPDATE_POST_SORT_BY || (exports.UPDATE_POST_SORT_BY = UPDATE_POST_SORT_BY = {}));
@@ -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);
@@ -60,6 +60,7 @@ __exportStar(require("./subscription-feature.schema"), exports);
60
60
  __exportStar(require("./team-subscription-feature.schema"), exports);
61
61
  __exportStar(require("./subscription-upgrade-schema"), exports);
62
62
  __exportStar(require("./subscription.schema"), exports);
63
+ __exportStar(require("./support-feedback.schema"), exports);
63
64
  __exportStar(require("./telegram-user-data.schema"), exports);
64
65
  __exportStar(require("./tool-job.schema"), exports);
65
66
  __exportStar(require("./tool-group.schema"), exports);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupportFeedbackSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.SupportFeedbackSchema = zod_1.z.object({
6
+ uuid: zod_1.z.string().uuid(),
7
+ supportDialogId: zod_1.z.string().min(1),
8
+ userId: zod_1.z.string().uuid().nullable().optional(),
9
+ unregisteredUserId: zod_1.z.string().uuid().nullable().optional(),
10
+ rating: zod_1.z.number().int().min(1).max(5),
11
+ comment: zod_1.z.string().nullable().optional(),
12
+ createdAt: zod_1.z.date(),
13
+ updatedAt: zod_1.z.date(),
14
+ });
package/commands/index.ts CHANGED
@@ -24,6 +24,7 @@ export * from './product';
24
24
  export * from './question';
25
25
  export * from './referral';
26
26
  export * from './subscription';
27
+ export * from './support-feedback';
27
28
  export * from './task';
28
29
  export * from './telegram';
29
30
  export * from './telegram-auth';
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { SupportFeedbackSchema } from '../../models';
3
+
4
+ export namespace CheckSupportFeedbackCommand {
5
+ export const RequestQuerySchema = z.object({
6
+ supportDialogId: z.string().min(1),
7
+ });
8
+
9
+ export type RequestQuery = z.infer<typeof RequestQuerySchema>;
10
+
11
+ export const ResponseSchema = z.object({
12
+ data: z.object({
13
+ hasFeedback: z.boolean(),
14
+ feedback: SupportFeedbackSchema.pick({
15
+ uuid: true,
16
+ supportDialogId: true,
17
+ rating: true,
18
+ comment: true,
19
+ createdAt: true,
20
+ updatedAt: true,
21
+ }).nullable(),
22
+ }),
23
+ });
24
+
25
+ export type Response = z.infer<typeof ResponseSchema>;
26
+ }
@@ -0,0 +1,2 @@
1
+ export * from './check-support-feedback.command';
2
+ export * from './upsert-support-feedback.command';
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { SupportFeedbackSchema } from '../../models';
3
+
4
+ export namespace UpsertSupportFeedbackCommand {
5
+ export const RequestSchema = SupportFeedbackSchema.pick({
6
+ supportDialogId: true,
7
+ rating: true,
8
+ comment: true,
9
+ }).partial({
10
+ comment: true,
11
+ });
12
+
13
+ export type Request = z.infer<typeof RequestSchema>;
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: SupportFeedbackSchema,
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -1,8 +1,11 @@
1
1
  import { z } from 'zod';
2
+ import { SORT_ORDER, UPDATE_POST_SORT_BY } from '../../constants';
2
3
  import { UpdatePostSchema } from '../../models';
3
4
 
4
5
  export namespace FindAllUpdatePostsCommand {
5
6
  export const RequestQuerySchema = z.object({
7
+ sortBy: z.nativeEnum(UPDATE_POST_SORT_BY).optional(),
8
+ sortOrder: z.nativeEnum(SORT_ORDER).default(SORT_ORDER.DESC).optional(),
6
9
  limit: z.coerce.number().int().positive().default(10),
7
10
  offset: z.coerce.number().int().min(0).default(0),
8
11
  });
@@ -17,6 +17,7 @@ export const WHITE_LIST = [
17
17
  'mail.com',
18
18
  'tut.by',
19
19
  'ukr.net',
20
+ 'vk.com',
20
21
  'e1.ru',
21
22
  'online.ua',
22
23
  'bigmir.net',
@@ -50,3 +50,4 @@ export * from './user-profile';
50
50
  export * from './model';
51
51
  export * from './token-reservation';
52
52
  export * from './team-account';
53
+ export * from './update-post';
@@ -0,0 +1 @@
1
+ export * from './update-post-sort-by.enum';
@@ -0,0 +1,6 @@
1
+ export enum UPDATE_POST_SORT_BY {
2
+ CREATED_AT = 'createdAt',
3
+ UPDATED_AT = 'updatedAt',
4
+ SLUG = 'slug',
5
+ TITLE = 'title',
6
+ }
@@ -0,0 +1 @@
1
+ export * from './enums';
package/models/index.ts CHANGED
@@ -44,6 +44,7 @@ export * from './subscription-feature.schema';
44
44
  export * from './team-subscription-feature.schema';
45
45
  export * from './subscription-upgrade-schema';
46
46
  export * from './subscription.schema';
47
+ export * from './support-feedback.schema';
47
48
  export * from './telegram-user-data.schema';
48
49
  export * from './tool-job.schema';
49
50
  export * from './tool-group.schema';
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+
3
+ export const SupportFeedbackSchema = z.object({
4
+ uuid: z.string().uuid(),
5
+ supportDialogId: z.string().min(1),
6
+ userId: z.string().uuid().nullable().optional(),
7
+ unregisteredUserId: z.string().uuid().nullable().optional(),
8
+ rating: z.number().int().min(1).max(5),
9
+ comment: z.string().nullable().optional(),
10
+ createdAt: z.date(),
11
+ updatedAt: z.date(),
12
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",