@purpleschool/gptbot 0.7.51 → 0.7.53

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.
@@ -0,0 +1,5 @@
1
+ export const CABINET_CONTROLLER = 'cabinet' as const;
2
+
3
+ export const CABINET_ROUTES = {
4
+ GET_USER_STATISTICS: 'statistics',
5
+ } as const;
@@ -48,3 +48,4 @@ export * from './video';
48
48
  export * from './writer';
49
49
  export * from './image-editor';
50
50
  export * from './daily-streak';
51
+ export * from './cabinet';
package/api/routes.ts CHANGED
@@ -301,4 +301,7 @@ export const REST_API = {
301
301
  GET: `${ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.GET}`,
302
302
  COLLECT: `${ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.COLLECT}`,
303
303
  },
304
+ CABINET: {
305
+ GET_USER_STATISTICS: `${ROOT}/${CONTROLLERS.CABINET_CONTROLLER}/${CONTROLLERS.CABINET_ROUTES.GET_USER_STATISTICS}`,
306
+ },
304
307
  } as const;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CABINET_ROUTES = exports.CABINET_CONTROLLER = void 0;
4
+ exports.CABINET_CONTROLLER = 'cabinet';
5
+ exports.CABINET_ROUTES = {
6
+ GET_USER_STATISTICS: 'statistics',
7
+ };
@@ -64,3 +64,4 @@ __exportStar(require("./video"), exports);
64
64
  __exportStar(require("./writer"), exports);
65
65
  __exportStar(require("./image-editor"), exports);
66
66
  __exportStar(require("./daily-streak"), exports);
67
+ __exportStar(require("./cabinet"), exports);
@@ -270,4 +270,7 @@ exports.REST_API = {
270
270
  GET: `${exports.ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.GET}`,
271
271
  COLLECT: `${exports.ROOT}/${CONTROLLERS.DAILY_STREAK_PRIVATE_CONTROLLER}/${CONTROLLERS.DAILY_STREAK_ROUTES.COLLECT}`,
272
272
  },
273
+ CABINET: {
274
+ GET_USER_STATISTICS: `${exports.ROOT}/${CONTROLLERS.CABINET_CONTROLLER}/${CONTROLLERS.CABINET_ROUTES.GET_USER_STATISTICS}`,
275
+ },
273
276
  };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetUserStatisticsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var GetUserStatisticsCommand;
6
+ (function (GetUserStatisticsCommand) {
7
+ GetUserStatisticsCommand.RequestSchema = zod_1.z.object({
8
+ startDate: zod_1.z.string().refine((v) => !isNaN(Date.parse(v)), {
9
+ message: 'from must be a valid date string',
10
+ }),
11
+ endDate: zod_1.z.string().refine((v) => !isNaN(Date.parse(v)), {
12
+ message: 'to must be a valid date string',
13
+ }),
14
+ groupByDays: zod_1.z
15
+ .preprocess((val) => (val === undefined ? 1 : Number(val)), zod_1.z.number().int().positive().max(31))
16
+ .default(1),
17
+ });
18
+ GetUserStatisticsCommand.UserStatisticsResponseSchema = zod_1.z.object({
19
+ startDate: zod_1.z.string(),
20
+ endDate: zod_1.z.string(),
21
+ total_tokens: zod_1.z.number(),
22
+ total_messages: zod_1.z.number(),
23
+ total_images: zod_1.z.number(),
24
+ total_videos: zod_1.z.number(),
25
+ total_presentations: zod_1.z.number(),
26
+ });
27
+ GetUserStatisticsCommand.ResponseSchema = zod_1.z.object({
28
+ data: zod_1.z.array(GetUserStatisticsCommand.UserStatisticsResponseSchema),
29
+ });
30
+ })(GetUserStatisticsCommand || (exports.GetUserStatisticsCommand = GetUserStatisticsCommand = {}));
@@ -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("./get-user-statistics.command"), exports);
@@ -52,3 +52,4 @@ __exportStar(require("./prompt"), exports);
52
52
  __exportStar(require("./folder"), exports);
53
53
  __exportStar(require("./user-to-product"), exports);
54
54
  __exportStar(require("./daily-streak"), exports);
55
+ __exportStar(require("./cabinet"), exports);
@@ -1991,4 +1991,19 @@ exports.ERRORS = {
1991
1991
  message: 'Запрос был отклонен, т.к. может не соответствовать политике безопасности сервиса',
1992
1992
  httpCode: 400,
1993
1993
  },
1994
+ REVIEW_ALREADY_EXISTS: {
1995
+ code: 'A409',
1996
+ message: 'Отзыв уже существует',
1997
+ httpCode: 400,
1998
+ },
1999
+ FAILED_TO_SAVE_USER_STATISTICS: {
2000
+ code: 'A410',
2001
+ message: 'не удалось сохранить статистику пользователя',
2002
+ httpCode: 500,
2003
+ },
2004
+ FAILED_TO_GET_USER_STATISTICS: {
2005
+ code: 'A411',
2006
+ message: 'не удалось получить статистику пользователя',
2007
+ httpCode: 500,
2008
+ },
1994
2009
  };
@@ -5,4 +5,5 @@ var TASK_TYPE;
5
5
  (function (TASK_TYPE) {
6
6
  TASK_TYPE["CLICK"] = "click";
7
7
  TASK_TYPE["TELEGRAM_CHANNEL_INVITE"] = "telegram_channel_invite";
8
+ TASK_TYPE["REVIEW"] = "review";
8
9
  })(TASK_TYPE || (exports.TASK_TYPE = TASK_TYPE = {}));
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace GetUserStatisticsCommand {
4
+ export const RequestSchema = z.object({
5
+ startDate: z.string().refine((v) => !isNaN(Date.parse(v)), {
6
+ message: 'from must be a valid date string',
7
+ }),
8
+ endDate: z.string().refine((v) => !isNaN(Date.parse(v)), {
9
+ message: 'to must be a valid date string',
10
+ }),
11
+ groupByDays: z
12
+ .preprocess(
13
+ (val) => (val === undefined ? 1 : Number(val)),
14
+ z.number().int().positive().max(31),
15
+ )
16
+ .default(1),
17
+ });
18
+
19
+ export type Request = z.infer<typeof RequestSchema>;
20
+
21
+ export const UserStatisticsResponseSchema = z.object({
22
+ startDate: z.string(),
23
+ endDate: z.string(),
24
+ total_tokens: z.number(),
25
+ total_messages: z.number(),
26
+ total_images: z.number(),
27
+ total_videos: z.number(),
28
+ total_presentations: z.number(),
29
+ });
30
+
31
+ export const ResponseSchema = z.object({
32
+ data: z.array(UserStatisticsResponseSchema),
33
+ });
34
+
35
+ export type Response = z.infer<typeof ResponseSchema>;
36
+ }
@@ -0,0 +1 @@
1
+ export * from './get-user-statistics.command';
package/commands/index.ts CHANGED
@@ -36,3 +36,4 @@ export * from './prompt';
36
36
  export * from './folder';
37
37
  export * from './user-to-product';
38
38
  export * from './daily-streak';
39
+ export * from './cabinet';
@@ -1999,4 +1999,19 @@ export const ERRORS = {
1999
1999
  message: 'Запрос был отклонен, т.к. может не соответствовать политике безопасности сервиса',
2000
2000
  httpCode: 400,
2001
2001
  },
2002
+ REVIEW_ALREADY_EXISTS: {
2003
+ code: 'A409',
2004
+ message: 'Отзыв уже существует',
2005
+ httpCode: 400,
2006
+ },
2007
+ FAILED_TO_SAVE_USER_STATISTICS: {
2008
+ code: 'A410',
2009
+ message: 'не удалось сохранить статистику пользователя',
2010
+ httpCode: 500,
2011
+ },
2012
+ FAILED_TO_GET_USER_STATISTICS: {
2013
+ code: 'A411',
2014
+ message: 'не удалось получить статистику пользователя',
2015
+ httpCode: 500,
2016
+ },
2002
2017
  };
@@ -1,4 +1,5 @@
1
1
  export enum TASK_TYPE {
2
2
  CLICK = 'click',
3
3
  TELEGRAM_CHANNEL_INVITE = 'telegram_channel_invite',
4
+ REVIEW = 'review',
4
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot",
3
- "version": "0.7.51",
3
+ "version": "0.7.53",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",