@purpleschool/gptbot 0.5.64 → 0.5.66

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.
@@ -12,4 +12,5 @@ export const CHAT_PRIVATE_ROUTES = {
12
12
  SEND_IMAGE_MESSAGE: (uuid: string) => `${uuid}/messages/image`,
13
13
  ARCHIVE: 'archive',
14
14
  DELETE: (uuid: string) => `${uuid}`,
15
+ UPDATE: (uuid: string) => `${uuid}`,
15
16
  } as const;
package/api/routes.ts CHANGED
@@ -74,6 +74,7 @@ export const REST_API = {
74
74
  `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE(uuid)}`,
75
75
  ARCHIVE: `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
76
76
  DELETE: (uuid: string) => `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
77
+ UPDATE: (uuid: string) => `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
77
78
  INPUT_LIMITS: `${ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.INPUT_LIMITS}`,
78
79
  },
79
80
  CHAT_PUBLIC: {
@@ -14,4 +14,5 @@ exports.CHAT_PRIVATE_ROUTES = {
14
14
  SEND_IMAGE_MESSAGE: (uuid) => `${uuid}/messages/image`,
15
15
  ARCHIVE: 'archive',
16
16
  DELETE: (uuid) => `${uuid}`,
17
+ UPDATE: (uuid) => `${uuid}`,
17
18
  };
@@ -100,6 +100,7 @@ exports.REST_API = {
100
100
  SEND_IMAGE_MESSAGE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.SEND_IMAGE_MESSAGE(uuid)}`,
101
101
  ARCHIVE: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.ARCHIVE}`,
102
102
  DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
103
+ UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${uuid}`,
103
104
  INPUT_LIMITS: `${exports.ROOT}/${CONTROLLERS.CHAT_PRIVATE_CONTROLLER}/${CONTROLLERS.CHAT_PRIVATE_ROUTES.INPUT_LIMITS}`,
104
105
  },
105
106
  CHAT_PUBLIC: {
@@ -6,11 +6,9 @@ const zod_1 = require("zod");
6
6
  var FindChatsCommand;
7
7
  (function (FindChatsCommand) {
8
8
  const PaginationQuerySchema = zod_1.z.object({
9
- limit: zod_1.z.string().regex(/^\d+$/, { message: 'Limit должен быть числом' }).transform(Number),
10
- offset: zod_1.z
11
- .string()
12
- .regex(/^\d+$/, { message: 'Offset должен быть числом' })
13
- .transform(Number),
9
+ limit: zod_1.z.coerce.number().min(1),
10
+ offset: zod_1.z.coerce.number().min(0).default(0),
11
+ title: zod_1.z.string().optional(),
14
12
  });
15
13
  const QuerySchema = zod_1.z.intersection(models_1.ChatSchema.pick({ categoryId: true, aIModelId: true }).partial(), models_1.AiModelSchema.pick({ contentType: true }).partial());
16
14
  FindChatsCommand.RequestQuerySchema = zod_1.z.intersection(QuerySchema, PaginationQuerySchema);
@@ -18,9 +16,7 @@ var FindChatsCommand;
18
16
  data: zod_1.z.array(models_1.ChatSchema.extend({
19
17
  messages: zod_1.z.array(models_1.MessageSchema),
20
18
  })),
21
- count: zod_1.z.number(),
22
- });
23
- FindChatsCommand.ResponseByUUIDSchema = zod_1.z.object({
24
- data: models_1.ChatSchema,
19
+ page: zod_1.z.number(),
20
+ totalPages: zod_1.z.number(),
25
21
  });
26
22
  })(FindChatsCommand || (exports.FindChatsCommand = FindChatsCommand = {}));
@@ -23,3 +23,4 @@ __exportStar(require("./find-chats.command"), exports);
23
23
  __exportStar(require("./get-chats-config.command"), exports);
24
24
  __exportStar(require("./get-input-limits.command"), exports);
25
25
  __exportStar(require("./get-last-active-chat-command"), exports);
26
+ __exportStar(require("./update-chat.command"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateChatCommand = void 0;
4
+ const models_1 = require("../../models");
5
+ const zod_1 = require("zod");
6
+ var UpdateChatCommand;
7
+ (function (UpdateChatCommand) {
8
+ UpdateChatCommand.RequestParamsSchema = models_1.ChatSchema.pick({
9
+ uuid: true,
10
+ });
11
+ UpdateChatCommand.RequestSchema = zod_1.z.object({
12
+ title: zod_1.z.string().max(65),
13
+ });
14
+ UpdateChatCommand.ResponseSchema = zod_1.z.object({
15
+ data: models_1.ChatSchema,
16
+ });
17
+ })(UpdateChatCommand || (exports.UpdateChatCommand = UpdateChatCommand = {}));
@@ -4,5 +4,6 @@ exports.CHAT_STATUS_ARRAY = exports.CHAT_STATUS_ENUM = void 0;
4
4
  exports.CHAT_STATUS_ENUM = {
5
5
  ACTIVE: 'ACTIVE',
6
6
  DELETED: 'DELETED',
7
+ NEW: 'NEW',
7
8
  };
8
9
  exports.CHAT_STATUS_ARRAY = Object.values(exports.CHAT_STATUS_ENUM);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLOUD_PAYMENTS_UPDATE = exports.CLOUD_PAYMENTS_CANCEL = exports.FORMATS = void 0;
3
+ exports.CLOUD_PAYMENTS_GET_SUBSCRIPTION = exports.CLOUD_PAYMENTS_UPDATE = exports.CLOUD_PAYMENTS_CANCEL = exports.FORMATS = void 0;
4
4
  exports.FORMATS = {
5
5
  UTF8: 'utf-8',
6
6
  BASE64: 'base64',
@@ -8,3 +8,4 @@ exports.FORMATS = {
8
8
  };
9
9
  exports.CLOUD_PAYMENTS_CANCEL = 'https://api.cloudpayments.ru/subscriptions/cancel';
10
10
  exports.CLOUD_PAYMENTS_UPDATE = 'https://api.cloudpayments.ru/subscriptions/update';
11
+ exports.CLOUD_PAYMENTS_GET_SUBSCRIPTION = 'https://api.cloudpayments.ru/subscriptions/get ';
@@ -8,4 +8,5 @@ exports.EMAIL_SUBJECTS = {
8
8
  SUBSCRIPTION_CANCEL: 'Нам жаль, что вы от нас уходите(',
9
9
  PRODUCT_PURCHASE: 'Спасибо за покупку тарифа',
10
10
  RECURRENT_PAYMENT_FAILED: 'Важно: Не удалось получить оплату по подписке',
11
+ SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
11
12
  };
@@ -995,6 +995,11 @@ exports.ERRORS = {
995
995
  message: 'Промокод не сгенерирован',
996
996
  httpCode: 500,
997
997
  },
998
+ CLOUD_PAYMENTS_GET_SUBSCRIPTION_ERROR: {
999
+ code: 'A225',
1000
+ message: 'Произошла ошибка при получении подписки из CloudPayments',
1001
+ httpCode: 500,
1002
+ },
998
1003
  UNREGISTERED_SESSION_INIT_ERROR: {
999
1004
  code: 'A225',
1000
1005
  message: 'Произошла ошибка при инициализации сессии для незарегистрированного пользователя',
@@ -5,4 +5,5 @@ var USER_TO_SUBSCRIPTION_MARKS;
5
5
  (function (USER_TO_SUBSCRIPTION_MARKS) {
6
6
  USER_TO_SUBSCRIPTION_MARKS["WITHOUT_AUTO_RENEWAL"] = "WITHOUT_AUTO_RENEWAL";
7
7
  USER_TO_SUBSCRIPTION_MARKS["MOCK"] = "MOCK";
8
+ USER_TO_SUBSCRIPTION_MARKS["SENT_RENEWAL_REMINDER"] = "SENT_RENEWAL_REMINDER";
8
9
  })(USER_TO_SUBSCRIPTION_MARKS || (exports.USER_TO_SUBSCRIPTION_MARKS = USER_TO_SUBSCRIPTION_MARKS = {}));
@@ -9,6 +9,7 @@ exports.ChatSchema = zod_1.z.object({
9
9
  unregisteredUserId: zod_1.z.nullable(zod_1.z.string().uuid()),
10
10
  categoryId: zod_1.z.string().uuid(),
11
11
  aIModelId: zod_1.z.string().uuid(),
12
+ title: zod_1.z.string(),
12
13
  chatStatus: zod_1.z.enum(Object.values(constants_1.CHAT_STATUS_ENUM)),
13
14
  createdAt: zod_1.z.date(),
14
15
  updatedAt: zod_1.z.date(),
@@ -3,11 +3,9 @@ import { z } from 'zod';
3
3
 
4
4
  export namespace FindChatsCommand {
5
5
  const PaginationQuerySchema = z.object({
6
- limit: z.string().regex(/^\d+$/, { message: 'Limit должен быть числом' }).transform(Number),
7
- offset: z
8
- .string()
9
- .regex(/^\d+$/, { message: 'Offset должен быть числом' })
10
- .transform(Number),
6
+ limit: z.coerce.number().min(1),
7
+ offset: z.coerce.number().min(0).default(0),
8
+ title: z.string().optional(),
11
9
  });
12
10
 
13
11
  const QuerySchema = z.intersection(
@@ -17,7 +15,7 @@ export namespace FindChatsCommand {
17
15
 
18
16
  export const RequestQuerySchema = z.intersection(QuerySchema, PaginationQuerySchema);
19
17
 
20
- export type RequestByQuery = z.infer<typeof RequestQuerySchema>;
18
+ export type RequestQuery = z.infer<typeof RequestQuerySchema>;
21
19
 
22
20
  export const ResponseSchema = z.object({
23
21
  data: z.array(
@@ -25,14 +23,9 @@ export namespace FindChatsCommand {
25
23
  messages: z.array(MessageSchema),
26
24
  }),
27
25
  ),
28
- count: z.number(),
26
+ page: z.number(),
27
+ totalPages: z.number(),
29
28
  });
30
29
 
31
30
  export type Response = z.infer<typeof ResponseSchema>;
32
-
33
- export const ResponseByUUIDSchema = z.object({
34
- data: ChatSchema,
35
- });
36
-
37
- export type ResponseByUUID = z.infer<typeof ResponseByUUIDSchema>;
38
31
  }
@@ -7,3 +7,4 @@ export * from './find-chats.command';
7
7
  export * from './get-chats-config.command';
8
8
  export * from './get-input-limits.command';
9
9
  export * from './get-last-active-chat-command';
10
+ export * from './update-chat.command';
@@ -0,0 +1,20 @@
1
+ import { ChatSchema } from '../../models';
2
+ import { z } from 'zod';
3
+
4
+ export namespace UpdateChatCommand {
5
+ export const RequestParamsSchema = ChatSchema.pick({
6
+ uuid: true,
7
+ });
8
+ export type RequestParams = z.infer<typeof RequestParamsSchema>;
9
+
10
+ export const RequestSchema = z.object({
11
+ title: z.string().max(65),
12
+ });
13
+ export type RequestBody = z.infer<typeof RequestSchema>;
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: ChatSchema,
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -1,6 +1,7 @@
1
1
  export const CHAT_STATUS_ENUM = {
2
2
  ACTIVE: 'ACTIVE',
3
3
  DELETED: 'DELETED',
4
+ NEW: 'NEW',
4
5
  } as const;
5
6
 
6
7
  export type TChatStatusEnum = (typeof CHAT_STATUS_ENUM)[keyof typeof CHAT_STATUS_ENUM];
@@ -7,3 +7,5 @@ export const FORMATS = {
7
7
  export const CLOUD_PAYMENTS_CANCEL = 'https://api.cloudpayments.ru/subscriptions/cancel';
8
8
 
9
9
  export const CLOUD_PAYMENTS_UPDATE = 'https://api.cloudpayments.ru/subscriptions/update';
10
+
11
+ export const CLOUD_PAYMENTS_GET_SUBSCRIPTION = 'https://api.cloudpayments.ru/subscriptions/get ';
@@ -5,4 +5,5 @@ export const EMAIL_SUBJECTS = {
5
5
  SUBSCRIPTION_CANCEL: 'Нам жаль, что вы от нас уходите(',
6
6
  PRODUCT_PURCHASE: 'Спасибо за покупку тарифа',
7
7
  RECURRENT_PAYMENT_FAILED: 'Важно: Не удалось получить оплату по подписке',
8
+ SUBSCRIPTION_RENEWAL_REMINDER: 'Продление подписки',
8
9
  };
@@ -998,6 +998,11 @@ export const ERRORS = {
998
998
  message: 'Промокод не сгенерирован',
999
999
  httpCode: 500,
1000
1000
  },
1001
+ CLOUD_PAYMENTS_GET_SUBSCRIPTION_ERROR: {
1002
+ code: 'A225',
1003
+ message: 'Произошла ошибка при получении подписки из CloudPayments',
1004
+ httpCode: 500,
1005
+ },
1001
1006
  UNREGISTERED_SESSION_INIT_ERROR: {
1002
1007
  code: 'A225',
1003
1008
  message: 'Произошла ошибка при инициализации сессии для незарегистрированного пользователя',
@@ -1,4 +1,5 @@
1
1
  export enum USER_TO_SUBSCRIPTION_MARKS {
2
2
  WITHOUT_AUTO_RENEWAL = 'WITHOUT_AUTO_RENEWAL',
3
3
  MOCK = 'MOCK',
4
+ SENT_RENEWAL_REMINDER = 'SENT_RENEWAL_REMINDER',
4
5
  }
@@ -7,6 +7,7 @@ export const ChatSchema = z.object({
7
7
  unregisteredUserId: z.nullable(z.string().uuid()),
8
8
  categoryId: z.string().uuid(),
9
9
  aIModelId: z.string().uuid(),
10
+ title: z.string(),
10
11
  chatStatus: z.enum(Object.values(CHAT_STATUS_ENUM) as [TChatStatusEnum]),
11
12
 
12
13
  createdAt: z.date(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.5.64",
3
+ "version": "0.5.66",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",