@purpleschool/gptbot 0.2.3 → 0.2.4

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.
@@ -6,4 +6,5 @@ export const AUTH_ROUTES = {
6
6
  CREATE_USER: 'create-user',
7
7
  RESTORE_PASSWORD: 'restore-password',
8
8
  RESET_PASSWORD: 'reset-password',
9
+ VERIFY_EMAIL: 'verify-email',
9
10
  } as const;
@@ -7,4 +7,5 @@ export const CHAT_PRIVATE_ROUTES = {
7
7
  GET_LAST_ACTIVE_CHAT: `last-active-chat`,
8
8
  GET_LIMIT: 'limits',
9
9
  CREATE_MESSAGE: (uuid: string) => `my/${uuid}/send`,
10
+ ARCHIVE: 'archive',
10
11
  } as const;
@@ -4,4 +4,5 @@ export const CHAT_PUBLIC_ROUTES = {
4
4
  FIND_BY_UUID: 'by/uuid',
5
5
  GET_MY: 'get/my',
6
6
  CREATE_MESSAGE: (uuid: string) => `my/${uuid}/send`,
7
+ CHECK_LIMIT: 'limits',
7
8
  } as const;
package/api/routes.ts CHANGED
@@ -9,9 +9,12 @@ export const REST_API = {
9
9
  CREATE_USER: `${ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.CREATE_USER}`,
10
10
  RESTORE_PASSWORD: `${ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.RESTORE_PASSWORD}`,
11
11
  RESET_PASSWORD: `${ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.RESET_PASSWORD}`,
12
+ VERIFY_EMAIL: `${ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.VERIFY_EMAIL}`,
12
13
  },
13
14
  USERS: {
14
15
  GET: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
16
+ POST: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.POST}`,
17
+
15
18
  },
16
19
  PAGE: {
17
20
  GET: `${ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
@@ -65,10 +68,13 @@ export const REST_API = {
65
68
  `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER(categoryId)}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.CREATE_MESSAGE(uuid)}`,
66
69
  DELETE: (uuid: string, categoryId: string) =>
67
70
  `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER(categoryId)}/${uuid}`,
71
+ GET_LIMIT: `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.GET_LIMIT}`,
72
+ ARCHIVE: `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
68
73
  },
69
74
  CHAT_PUBLIC: {
70
75
  CREATE_MESSAGE: (uuid: string, categoryId: string): string =>
71
76
  `${ROOT}/${CONTROLLERS.CHAT_PUBLIC_CONTROLLER(categoryId)}/${CONTROLLERS.CHAT_PUBLIC_ROUTES.CREATE_MESSAGE(uuid)}`,
77
+ CHECK_LIMIT: `${ROOT}/${CONTROLLERS.CHAT_PUBLIC_CONTROLLER}/${CONTROLLERS.CHAT_PUBLIC_ROUTES.CHECK_LIMIT}`,
72
78
  },
73
79
  PRODUCT: {
74
80
  GET: `${ROOT}/${CONTROLLERS.PRODUCT_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
@@ -8,4 +8,5 @@ exports.AUTH_ROUTES = {
8
8
  CREATE_USER: 'create-user',
9
9
  RESTORE_PASSWORD: 'restore-password',
10
10
  RESET_PASSWORD: 'reset-password',
11
+ VERIFY_EMAIL: 'verify-email',
11
12
  };
@@ -9,4 +9,5 @@ exports.CHAT_PRIVATE_ROUTES = {
9
9
  GET_LAST_ACTIVE_CHAT: `last-active-chat`,
10
10
  GET_LIMIT: 'limits',
11
11
  CREATE_MESSAGE: (uuid) => `my/${uuid}/send`,
12
+ ARCHIVE: 'archive',
12
13
  };
@@ -7,4 +7,5 @@ exports.CHAT_PUBLIC_ROUTES = {
7
7
  FIND_BY_UUID: 'by/uuid',
8
8
  GET_MY: 'get/my',
9
9
  CREATE_MESSAGE: (uuid) => `my/${uuid}/send`,
10
+ CHECK_LIMIT: 'limits',
10
11
  };
@@ -33,9 +33,11 @@ exports.REST_API = {
33
33
  CREATE_USER: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.CREATE_USER}`,
34
34
  RESTORE_PASSWORD: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.RESTORE_PASSWORD}`,
35
35
  RESET_PASSWORD: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.RESET_PASSWORD}`,
36
+ VERIFY_EMAIL: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.VERIFY_EMAIL}`,
36
37
  },
37
38
  USERS: {
38
39
  GET: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
40
+ POST: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.POST}`,
39
41
  },
40
42
  PAGE: {
41
43
  GET: `${exports.ROOT}/${CONTROLLERS.PAGE_CONTROLLER}/${CONTROLLERS.PAGE_ROUTES.GET_ALL}`,
@@ -79,9 +81,12 @@ exports.REST_API = {
79
81
  PUT_LAST_CHAT: (categoryId) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER(categoryId)}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.GET_LAST_ACTIVE_CHAT}`,
80
82
  CREATE_MESSAGE: (uuid, categoryId) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER(categoryId)}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.CREATE_MESSAGE(uuid)}`,
81
83
  DELETE: (uuid, categoryId) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER(categoryId)}/${uuid}`,
84
+ GET_LIMIT: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.GET_LIMIT}`,
85
+ ARCHIVE: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
82
86
  },
83
87
  CHAT_PUBLIC: {
84
88
  CREATE_MESSAGE: (uuid, categoryId) => `${exports.ROOT}/${CONTROLLERS.CHAT_PUBLIC_CONTROLLER(categoryId)}/${CONTROLLERS.CHAT_PUBLIC_ROUTES.CREATE_MESSAGE(uuid)}`,
89
+ CHECK_LIMIT: `${exports.ROOT}/${CONTROLLERS.CHAT_PUBLIC_CONTROLLER}/${CONTROLLERS.CHAT_PUBLIC_ROUTES.CHECK_LIMIT}`,
85
90
  },
86
91
  PRODUCT: {
87
92
  GET: `${exports.ROOT}/${CONTROLLERS.PRODUCT_CONTROLLER}/${CONTROLLERS.PRODUCT_ROUTES.GET_ALL}`,
@@ -19,3 +19,4 @@ __exportStar(require("./restore-password.command"), exports);
19
19
  __exportStar(require("./login.command"), exports);
20
20
  __exportStar(require("./register-user.command"), exports);
21
21
  __exportStar(require("./create-user.command"), exports);
22
+ __exportStar(require("./verify-email.command"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VerifyEmailCommand = void 0;
4
+ const models_1 = require("../../models");
5
+ const zod_1 = require("zod");
6
+ var VerifyEmailCommand;
7
+ (function (VerifyEmailCommand) {
8
+ VerifyEmailCommand.RequestSchema = models_1.UserSchema.pick({
9
+ verifyTokenHash: true,
10
+ email: true,
11
+ });
12
+ VerifyEmailCommand.ResponseSchema = zod_1.z.object({
13
+ data: zod_1.z.object({
14
+ isSuccess: zod_1.z.boolean(),
15
+ }),
16
+ });
17
+ })(VerifyEmailCommand || (exports.VerifyEmailCommand = VerifyEmailCommand = {}));
@@ -12,20 +12,18 @@ var FindCategoryCommand;
12
12
  FindCategoryCommand.ResponseSchema = zod_1.z.object({
13
13
  data: zod_1.z.array(models_1.CategorySchema),
14
14
  });
15
- FindCategoryCommand.RequestByFormattedSchema = zod_1.z.object({
16
- type: zod_1.z.enum(['short', 'long']),
17
- });
18
15
  FindCategoryCommand.RequestByFilterSchema = zod_1.z.object({
19
16
  type: zod_1.z.enum(['child', 'parent']),
20
17
  });
21
18
  FindCategoryCommand.ResponseByFormattedSchema = zod_1.z.object({
22
- data: zod_1.z.array(models_1.CategorySchema.extend({
19
+ categories: zod_1.z.array(models_1.CategorySchema.extend({
23
20
  subCategories: zod_1.z.array(models_1.CategorySchema.extend({
24
21
  page: zod_1.z.nullable(models_2.PageSchema.pick({
25
22
  alias: true,
26
23
  })),
27
24
  })),
28
25
  })),
26
+ systemCategory: zod_1.z.nullable(models_1.CategorySchema),
29
27
  });
30
28
  FindCategoryCommand.ResponseByUUIDSchema = zod_1.z.object({
31
29
  data: models_1.CategorySchema,
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CATEGORY_TYPE = void 0;
4
+ var CATEGORY_TYPE;
5
+ (function (CATEGORY_TYPE) {
6
+ CATEGORY_TYPE["SUB"] = "sub";
7
+ CATEGORY_TYPE["MAIN"] = "main";
8
+ CATEGORY_TYPE["SYSTEM"] = "system";
9
+ })(CATEGORY_TYPE || (exports.CATEGORY_TYPE = CATEGORY_TYPE = {}));
@@ -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("./category-type.enum"), 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("./enums"), exports);
@@ -400,4 +400,9 @@ exports.ERRORS = {
400
400
  message: 'Не удалось получить количество сообщений',
401
401
  httpCode: 500,
402
402
  },
403
+ VERIFY_EMAIL: {
404
+ code: 'A097',
405
+ message: 'Не удалось подтвердить почту',
406
+ httpCode: 500,
407
+ }
403
408
  };
@@ -21,3 +21,4 @@ __exportStar(require("./order"), exports);
21
21
  __exportStar(require("./chat"), exports);
22
22
  __exportStar(require("./subscription"), exports);
23
23
  __exportStar(require("./product"), exports);
24
+ __exportStar(require("./category"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_STATUS = void 0;
4
+ var USER_STATUS;
5
+ (function (USER_STATUS) {
6
+ USER_STATUS["ACTIVE"] = "active";
7
+ USER_STATUS["INACTIVE"] = "inactive";
8
+ })(USER_STATUS || (exports.USER_STATUS = USER_STATUS = {}));
@@ -6,6 +6,8 @@ exports.CategorySchema = zod_1.z.object({
6
6
  uuid: zod_1.z.string().uuid(),
7
7
  mainCategoryId: zod_1.z.nullable(zod_1.z.string().uuid()),
8
8
  name: zod_1.z.string().min(3).max(16384),
9
+ type: zod_1.z.string(),
10
+ order: zod_1.z.number().min(0),
9
11
  prompt: zod_1.z.string().min(3).max(16384),
10
12
  placeholder: zod_1.z.nullable(zod_1.z.string()),
11
13
  seoName: zod_1.z.string().min(3).max(16384),
@@ -6,6 +6,8 @@ exports.UserSchema = zod_1.z.object({
6
6
  uuid: zod_1.z.string().uuid(),
7
7
  email: zod_1.z.string().email(),
8
8
  ip: zod_1.z.string(),
9
+ status: zod_1.z.string(),
10
+ verifyTokenHash: zod_1.z.string(),
9
11
  password: zod_1.z.string(),
10
12
  passwordHash: zod_1.z.string(),
11
13
  restoreTokenHash: zod_1.z.string(),
@@ -3,3 +3,4 @@ export * from './restore-password.command';
3
3
  export * from './login.command';
4
4
  export * from './register-user.command';
5
5
  export * from './create-user.command';
6
+ export * from './verify-email.command'
@@ -0,0 +1,18 @@
1
+ import { UserSchema } from '../../models';
2
+ import { z } from 'zod';
3
+
4
+ export namespace VerifyEmailCommand {
5
+ export const RequestSchema = UserSchema.pick({
6
+ verifyTokenHash: true,
7
+ email: true,
8
+ })
9
+
10
+ export type Request = z.infer<typeof RequestSchema>
11
+
12
+ export const ResponseSchema = z.object({
13
+ data: z.object({
14
+ isSuccess: z.boolean(),
15
+ }),
16
+ });
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
@@ -12,17 +12,12 @@ export namespace FindCategoryCommand {
12
12
  export const ResponseSchema = z.object({
13
13
  data: z.array(CategorySchema),
14
14
  });
15
-
16
- export const RequestByFormattedSchema = z.object({
17
- type: z.enum(['short', 'long']),
18
- });
19
-
20
15
  export const RequestByFilterSchema = z.object({
21
16
  type: z.enum(['child', 'parent']),
22
17
  });
23
18
 
24
19
  export const ResponseByFormattedSchema = z.object({
25
- data: z.array(
20
+ categories: z.array(
26
21
  CategorySchema.extend({
27
22
  subCategories: z.array(
28
23
  CategorySchema.extend({
@@ -35,10 +30,9 @@ export namespace FindCategoryCommand {
35
30
  ),
36
31
  }),
37
32
  ),
33
+ systemCategory: z.nullable(CategorySchema),
38
34
  });
39
35
 
40
- export type ResponseByFormatted = z.infer<typeof ResponseByFormattedSchema>;
41
-
42
36
  export type Response = z.infer<typeof ResponseSchema>;
43
37
 
44
38
  export const ResponseByUUIDSchema = z.object({
@@ -0,0 +1,5 @@
1
+ export enum CATEGORY_TYPE {
2
+ SUB = 'sub',
3
+ MAIN = 'main',
4
+ SYSTEM = 'system',
5
+ }
@@ -0,0 +1 @@
1
+ export * from './category-type.enum'
@@ -0,0 +1 @@
1
+ export * from './enums'
@@ -399,4 +399,9 @@ export const ERRORS = {
399
399
  message: 'Не удалось получить количество сообщений',
400
400
  httpCode: 500,
401
401
  },
402
+ VERIFY_EMAIL: {
403
+ code: 'A097',
404
+ message: 'Не удалось подтвердить почту',
405
+ httpCode: 500,
406
+ }
402
407
  };
@@ -5,3 +5,4 @@ export * from './order';
5
5
  export * from './chat';
6
6
  export * from './subscription';
7
7
  export * from './product';
8
+ export * from './category';
@@ -0,0 +1,4 @@
1
+ export enum USER_STATUS {
2
+ ACTIVE = 'active',
3
+ INACTIVE = 'inactive',
4
+ }
@@ -4,6 +4,8 @@ export const CategorySchema = z.object({
4
4
  uuid: z.string().uuid(),
5
5
  mainCategoryId: z.nullable(z.string().uuid()),
6
6
  name: z.string().min(3).max(16384),
7
+ type: z.string(),
8
+ order: z.number().min(0),
7
9
  prompt: z.string().min(3).max(16384),
8
10
  placeholder: z.nullable(z.string()),
9
11
  seoName: z.string().min(3).max(16384),
@@ -4,6 +4,8 @@ export const UserSchema = z.object({
4
4
  uuid: z.string().uuid(),
5
5
  email: z.string().email(),
6
6
  ip: z.string(),
7
+ status: z.string(),
8
+ verifyTokenHash: z.string(),
7
9
  password: z.string(),
8
10
  passwordHash: z.string(),
9
11
  restoreTokenHash: z.string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {