@purpleschool/gptbot 0.6.3 → 0.6.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.
- package/api/controllers/http/folder.ts +10 -0
- package/api/controllers/http/index.ts +1 -0
- package/api/routes.ts +12 -0
- package/build/api/controllers/http/folder.js +12 -0
- package/build/api/controllers/http/index.js +1 -0
- package/build/api/routes.js +8 -0
- package/build/commands/chat/update-chat.command.js +5 -2
- package/build/commands/folder/create-folder.command.js +15 -0
- package/build/commands/folder/delete-folder.command.js +19 -0
- package/build/commands/folder/find-folder-by-uuid-with-chats.command.js +27 -0
- package/build/commands/folder/find-folder-by-uuid.command.js +17 -0
- package/build/commands/folder/find-folders-by-user.command.js +20 -0
- package/build/commands/folder/index.js +22 -0
- package/build/commands/folder/update-folder.command.js +18 -0
- package/build/commands/index.js +1 -0
- package/build/constants/errors/errors.js +31 -1
- package/build/models/folder.schema.js +12 -0
- package/build/models/index.js +1 -0
- package/commands/chat/update-chat.command.ts +7 -3
- package/commands/folder/create-folder.command.ts +17 -0
- package/commands/folder/delete-folder.command.ts +18 -0
- package/commands/folder/find-folder-by-uuid-with-chats.command.ts +31 -0
- package/commands/folder/find-folder-by-uuid.command.ts +16 -0
- package/commands/folder/find-folders-by-user.command.ts +19 -0
- package/commands/folder/index.ts +6 -0
- package/commands/folder/update-folder.command.ts +23 -0
- package/commands/index.ts +1 -0
- package/constants/errors/errors.ts +31 -1
- package/models/folder.schema.ts +10 -0
- package/models/index.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const FOLDER_PRIVATE_CONTROLLER = 'private/folder' as const;
|
|
2
|
+
|
|
3
|
+
export const FOLDER_ROUTES = {
|
|
4
|
+
FIND_MANY_BY_USER: 'user',
|
|
5
|
+
FIND_BY_UUID: (uuid: string) => `${uuid}`,
|
|
6
|
+
FIND_BY_UUID_WITH_CHATS: (uuid: string) => `${uuid}/chats`,
|
|
7
|
+
CREATE: '',
|
|
8
|
+
UPDATE: (uuid: string) => `${uuid}`,
|
|
9
|
+
DELETE: (uuid: string) => `${uuid}`,
|
|
10
|
+
} as const;
|
package/api/routes.ts
CHANGED
|
@@ -231,4 +231,16 @@ export const REST_API = {
|
|
|
231
231
|
FIND: (topicId: string) =>
|
|
232
232
|
`${ROOT}/${CONTROLLERS.PROMPT_PUBLIC_CONTROLLER}/${CONTROLLERS.PROMPT_ROUTES.FIND(topicId)}`,
|
|
233
233
|
},
|
|
234
|
+
FOLDER_PRIVATE: {
|
|
235
|
+
FIND_BY_UUID: (uuid: string) =>
|
|
236
|
+
`${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_BY_UUID(uuid)}`,
|
|
237
|
+
FIND_BY_UUID_WITH_CHATS: (uuid: string) =>
|
|
238
|
+
`${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_BY_UUID_WITH_CHATS(uuid)}`,
|
|
239
|
+
FIND_MANY_BY_USER: `${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_MANY_BY_USER}`,
|
|
240
|
+
CREATE: `${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.CREATE}`,
|
|
241
|
+
UPDATE: (uuid: string) =>
|
|
242
|
+
`${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.UPDATE(uuid)}`,
|
|
243
|
+
DELETE: (uuid: string) =>
|
|
244
|
+
`${ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.DELETE(uuid)}`,
|
|
245
|
+
},
|
|
234
246
|
} as const;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FOLDER_ROUTES = exports.FOLDER_PRIVATE_CONTROLLER = void 0;
|
|
4
|
+
exports.FOLDER_PRIVATE_CONTROLLER = 'private/folder';
|
|
5
|
+
exports.FOLDER_ROUTES = {
|
|
6
|
+
FIND_MANY_BY_USER: 'user',
|
|
7
|
+
FIND_BY_UUID: (uuid) => `${uuid}`,
|
|
8
|
+
FIND_BY_UUID_WITH_CHATS: (uuid) => `${uuid}/chats`,
|
|
9
|
+
CREATE: '',
|
|
10
|
+
UPDATE: (uuid) => `${uuid}`,
|
|
11
|
+
DELETE: (uuid) => `${uuid}`,
|
|
12
|
+
};
|
package/build/api/routes.js
CHANGED
|
@@ -221,4 +221,12 @@ exports.REST_API = {
|
|
|
221
221
|
FIND_ALL: `${exports.ROOT}/${CONTROLLERS.PROMPT_PUBLIC_CONTROLLER}/${CONTROLLERS.PROMPT_ROUTES.FIND_ALL}`,
|
|
222
222
|
FIND: (topicId) => `${exports.ROOT}/${CONTROLLERS.PROMPT_PUBLIC_CONTROLLER}/${CONTROLLERS.PROMPT_ROUTES.FIND(topicId)}`,
|
|
223
223
|
},
|
|
224
|
+
FOLDER_PRIVATE: {
|
|
225
|
+
FIND_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_BY_UUID(uuid)}`,
|
|
226
|
+
FIND_BY_UUID_WITH_CHATS: (uuid) => `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_BY_UUID_WITH_CHATS(uuid)}`,
|
|
227
|
+
FIND_MANY_BY_USER: `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.FIND_MANY_BY_USER}`,
|
|
228
|
+
CREATE: `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.CREATE}`,
|
|
229
|
+
UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.UPDATE(uuid)}`,
|
|
230
|
+
DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.FOLDER_PRIVATE_CONTROLLER}/${CONTROLLERS.FOLDER_ROUTES.DELETE(uuid)}`,
|
|
231
|
+
},
|
|
224
232
|
};
|
|
@@ -8,9 +8,12 @@ var UpdateChatCommand;
|
|
|
8
8
|
UpdateChatCommand.RequestParamsSchema = models_1.ChatSchema.pick({
|
|
9
9
|
uuid: true,
|
|
10
10
|
});
|
|
11
|
-
UpdateChatCommand.RequestSchema = zod_1.z
|
|
11
|
+
UpdateChatCommand.RequestSchema = zod_1.z
|
|
12
|
+
.object({
|
|
12
13
|
title: zod_1.z.string().max(65),
|
|
13
|
-
|
|
14
|
+
folderId: zod_1.z.string().uuid(),
|
|
15
|
+
})
|
|
16
|
+
.partial();
|
|
14
17
|
UpdateChatCommand.ResponseSchema = zod_1.z.object({
|
|
15
18
|
data: models_1.ChatSchema,
|
|
16
19
|
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateFolderCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../models");
|
|
6
|
+
var CreateFolderCommand;
|
|
7
|
+
(function (CreateFolderCommand) {
|
|
8
|
+
CreateFolderCommand.RequestSchema = models_1.FolderSchema.pick({
|
|
9
|
+
title: true,
|
|
10
|
+
prompt: true,
|
|
11
|
+
});
|
|
12
|
+
CreateFolderCommand.ResponseSchema = zod_1.z.object({
|
|
13
|
+
data: models_1.FolderSchema,
|
|
14
|
+
});
|
|
15
|
+
})(CreateFolderCommand || (exports.CreateFolderCommand = CreateFolderCommand = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
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.DeleteFolderCommand = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const __1 = require("../..");
|
|
9
|
+
var DeleteFolderCommand;
|
|
10
|
+
(function (DeleteFolderCommand) {
|
|
11
|
+
DeleteFolderCommand.RequestSchema = __1.FolderSchema.pick({
|
|
12
|
+
uuid: true,
|
|
13
|
+
});
|
|
14
|
+
DeleteFolderCommand.ResponseSchema = zod_1.default.object({
|
|
15
|
+
data: zod_1.default.object({
|
|
16
|
+
isDeleted: zod_1.default.boolean(),
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
})(DeleteFolderCommand || (exports.DeleteFolderCommand = DeleteFolderCommand = {}));
|
|
@@ -0,0 +1,27 @@
|
|
|
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.FindFolderByUuidWithChatsCommand = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const models_1 = require("../../models");
|
|
9
|
+
var FindFolderByUuidWithChatsCommand;
|
|
10
|
+
(function (FindFolderByUuidWithChatsCommand) {
|
|
11
|
+
FindFolderByUuidWithChatsCommand.RequestParamSchema = models_1.FolderSchema.pick({
|
|
12
|
+
uuid: true,
|
|
13
|
+
});
|
|
14
|
+
FindFolderByUuidWithChatsCommand.RequestSchema = zod_1.default.object({
|
|
15
|
+
limit: zod_1.default.coerce.number().min(1),
|
|
16
|
+
offset: zod_1.default.coerce.number().min(0).default(0),
|
|
17
|
+
});
|
|
18
|
+
FindFolderByUuidWithChatsCommand.ResponseSchema = zod_1.default.object({
|
|
19
|
+
data: models_1.FolderSchema.extend({
|
|
20
|
+
chats: zod_1.default.array(models_1.ChatSchema.extend({
|
|
21
|
+
messages: zod_1.default.array(models_1.MessageSchema),
|
|
22
|
+
})),
|
|
23
|
+
}),
|
|
24
|
+
page: zod_1.default.number(),
|
|
25
|
+
totalPages: zod_1.default.number(),
|
|
26
|
+
});
|
|
27
|
+
})(FindFolderByUuidWithChatsCommand || (exports.FindFolderByUuidWithChatsCommand = FindFolderByUuidWithChatsCommand = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
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.FindFolderByUuidCommand = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const models_1 = require("../../models");
|
|
9
|
+
var FindFolderByUuidCommand;
|
|
10
|
+
(function (FindFolderByUuidCommand) {
|
|
11
|
+
FindFolderByUuidCommand.RequestSchema = models_1.FolderSchema.pick({
|
|
12
|
+
uuid: true,
|
|
13
|
+
});
|
|
14
|
+
FindFolderByUuidCommand.ResponseSchema = zod_1.default.object({
|
|
15
|
+
data: models_1.FolderSchema,
|
|
16
|
+
});
|
|
17
|
+
})(FindFolderByUuidCommand || (exports.FindFolderByUuidCommand = FindFolderByUuidCommand = {}));
|
|
@@ -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.FindFoldersByUserCommand = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const models_1 = require("../../models");
|
|
9
|
+
var FindFoldersByUserCommand;
|
|
10
|
+
(function (FindFoldersByUserCommand) {
|
|
11
|
+
FindFoldersByUserCommand.RequestSchema = zod_1.default.object({
|
|
12
|
+
limit: zod_1.default.coerce.number().min(1),
|
|
13
|
+
offset: zod_1.default.coerce.number().min(0).default(0),
|
|
14
|
+
});
|
|
15
|
+
FindFoldersByUserCommand.ResponseSchema = zod_1.default.object({
|
|
16
|
+
data: zod_1.default.array(models_1.FolderSchema),
|
|
17
|
+
page: zod_1.default.number(),
|
|
18
|
+
totalPages: zod_1.default.number(),
|
|
19
|
+
});
|
|
20
|
+
})(FindFoldersByUserCommand || (exports.FindFoldersByUserCommand = FindFoldersByUserCommand = {}));
|
|
@@ -0,0 +1,22 @@
|
|
|
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("./create-folder.command"), exports);
|
|
18
|
+
__exportStar(require("./delete-folder.command"), exports);
|
|
19
|
+
__exportStar(require("./find-folders-by-user.command"), exports);
|
|
20
|
+
__exportStar(require("./find-folder-by-uuid.command"), exports);
|
|
21
|
+
__exportStar(require("./update-folder.command"), exports);
|
|
22
|
+
__exportStar(require("./find-folder-by-uuid-with-chats.command"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateFolderCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../models");
|
|
6
|
+
var UpdateFolderCommand;
|
|
7
|
+
(function (UpdateFolderCommand) {
|
|
8
|
+
UpdateFolderCommand.RequestParamSchema = models_1.FolderSchema.pick({
|
|
9
|
+
uuid: true,
|
|
10
|
+
});
|
|
11
|
+
UpdateFolderCommand.RequestSchema = models_1.FolderSchema.pick({
|
|
12
|
+
title: true,
|
|
13
|
+
prompt: true,
|
|
14
|
+
}).partial();
|
|
15
|
+
UpdateFolderCommand.ResponseSchema = zod_1.z.object({
|
|
16
|
+
data: models_1.FolderSchema,
|
|
17
|
+
});
|
|
18
|
+
})(UpdateFolderCommand || (exports.UpdateFolderCommand = UpdateFolderCommand = {}));
|
package/build/commands/index.js
CHANGED
|
@@ -1438,8 +1438,38 @@ exports.ERRORS = {
|
|
|
1438
1438
|
message: 'Произошла ошибка при построении списка функций подписки',
|
|
1439
1439
|
httpCode: 500,
|
|
1440
1440
|
},
|
|
1441
|
-
|
|
1441
|
+
FOLDER_DELETE_ERROR: {
|
|
1442
1442
|
code: 'A311',
|
|
1443
|
+
message: 'Папка не была удалена',
|
|
1444
|
+
httpCode: 500,
|
|
1445
|
+
},
|
|
1446
|
+
FOLDER_CREATE_ERROR: {
|
|
1447
|
+
code: 'A312',
|
|
1448
|
+
message: 'Папка не был создана',
|
|
1449
|
+
httpCode: 500,
|
|
1450
|
+
},
|
|
1451
|
+
FOLDER_FIND_ERROR: {
|
|
1452
|
+
code: 'A313',
|
|
1453
|
+
message: 'Папка не найдена',
|
|
1454
|
+
httpCode: 404,
|
|
1455
|
+
},
|
|
1456
|
+
FOLDERS_FIND_ERROR: {
|
|
1457
|
+
code: 'A314',
|
|
1458
|
+
message: 'Папки не найдены',
|
|
1459
|
+
httpCode: 404,
|
|
1460
|
+
},
|
|
1461
|
+
FOLDER_UPDATE_ERROR: {
|
|
1462
|
+
code: 'A315',
|
|
1463
|
+
message: 'Папка не был обновлена',
|
|
1464
|
+
httpCode: 500,
|
|
1465
|
+
},
|
|
1466
|
+
FOLDER_OWNERSHIP_ERROR: {
|
|
1467
|
+
code: 'A316',
|
|
1468
|
+
message: 'Юзер не является владельцем папки',
|
|
1469
|
+
httpCode: 400,
|
|
1470
|
+
},
|
|
1471
|
+
CHECK_USER_HAS_ACTIVE_SUBSCRIPTION_OR_PRODUCT_ERROR: {
|
|
1472
|
+
code: 'A317',
|
|
1443
1473
|
message: 'Произошла ошибка при проверке наличия активной подписки или пакета у пользователя',
|
|
1444
1474
|
httpCode: 500,
|
|
1445
1475
|
},
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FolderSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.FolderSchema = zod_1.z.object({
|
|
6
|
+
uuid: zod_1.z.string().uuid(),
|
|
7
|
+
title: zod_1.z.string(),
|
|
8
|
+
prompt: zod_1.z.string(),
|
|
9
|
+
userId: zod_1.z.string().uuid(),
|
|
10
|
+
createdAt: zod_1.z.date(),
|
|
11
|
+
updatedAt: zod_1.z.date(),
|
|
12
|
+
});
|
package/build/models/index.js
CHANGED
|
@@ -61,3 +61,4 @@ __exportStar(require("./review.schema"), exports);
|
|
|
61
61
|
__exportStar(require("./prompt-category.schema"), exports);
|
|
62
62
|
__exportStar(require("./prompt-topic.schema"), exports);
|
|
63
63
|
__exportStar(require("./prompt.schema"), exports);
|
|
64
|
+
__exportStar(require("./folder.schema"), exports);
|
|
@@ -7,9 +7,13 @@ export namespace UpdateChatCommand {
|
|
|
7
7
|
});
|
|
8
8
|
export type RequestParams = z.infer<typeof RequestParamsSchema>;
|
|
9
9
|
|
|
10
|
-
export const RequestSchema = z
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
export const RequestSchema = z
|
|
11
|
+
.object({
|
|
12
|
+
title: z.string().max(65),
|
|
13
|
+
folderId: z.string().uuid(),
|
|
14
|
+
})
|
|
15
|
+
.partial();
|
|
16
|
+
|
|
13
17
|
export type RequestBody = z.infer<typeof RequestSchema>;
|
|
14
18
|
|
|
15
19
|
export const ResponseSchema = z.object({
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { FolderSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace CreateFolderCommand {
|
|
5
|
+
export const RequestSchema = FolderSchema.pick({
|
|
6
|
+
title: true,
|
|
7
|
+
prompt: true,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
11
|
+
|
|
12
|
+
export const ResponseSchema = z.object({
|
|
13
|
+
data: FolderSchema,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { FolderSchema } from '../..';
|
|
3
|
+
|
|
4
|
+
export namespace DeleteFolderCommand {
|
|
5
|
+
export const RequestSchema = FolderSchema.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
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { ChatSchema, FolderSchema, MessageSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace FindFolderByUuidWithChatsCommand {
|
|
5
|
+
export const RequestParamSchema = FolderSchema.pick({
|
|
6
|
+
uuid: true,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
10
|
+
|
|
11
|
+
export const RequestSchema = z.object({
|
|
12
|
+
limit: z.coerce.number().min(1),
|
|
13
|
+
offset: z.coerce.number().min(0).default(0),
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
17
|
+
|
|
18
|
+
export const ResponseSchema = z.object({
|
|
19
|
+
data: FolderSchema.extend({
|
|
20
|
+
chats: z.array(
|
|
21
|
+
ChatSchema.extend({
|
|
22
|
+
messages: z.array(MessageSchema),
|
|
23
|
+
}),
|
|
24
|
+
),
|
|
25
|
+
}),
|
|
26
|
+
page: z.number(),
|
|
27
|
+
totalPages: z.number(),
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { FolderSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace FindFolderByUuidCommand {
|
|
5
|
+
export const RequestSchema = FolderSchema.pick({
|
|
6
|
+
uuid: true,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
10
|
+
|
|
11
|
+
export const ResponseSchema = z.object({
|
|
12
|
+
data: FolderSchema,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { FolderSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace FindFoldersByUserCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
limit: z.coerce.number().min(1),
|
|
7
|
+
offset: z.coerce.number().min(0).default(0),
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
11
|
+
|
|
12
|
+
export const ResponseSchema = z.object({
|
|
13
|
+
data: z.array(FolderSchema),
|
|
14
|
+
page: z.number(),
|
|
15
|
+
totalPages: z.number(),
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './create-folder.command';
|
|
2
|
+
export * from './delete-folder.command';
|
|
3
|
+
export * from './find-folders-by-user.command';
|
|
4
|
+
export * from './find-folder-by-uuid.command';
|
|
5
|
+
export * from './update-folder.command';
|
|
6
|
+
export * from './find-folder-by-uuid-with-chats.command';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { FolderSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace UpdateFolderCommand {
|
|
5
|
+
export const RequestParamSchema = FolderSchema.pick({
|
|
6
|
+
uuid: true,
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type RequestParam = z.infer<typeof RequestParamSchema>;
|
|
10
|
+
|
|
11
|
+
export const RequestSchema = FolderSchema.pick({
|
|
12
|
+
title: true,
|
|
13
|
+
prompt: true,
|
|
14
|
+
}).partial();
|
|
15
|
+
|
|
16
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
17
|
+
|
|
18
|
+
export const ResponseSchema = z.object({
|
|
19
|
+
data: FolderSchema,
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
23
|
+
}
|
package/commands/index.ts
CHANGED
|
@@ -1444,8 +1444,38 @@ export const ERRORS = {
|
|
|
1444
1444
|
message: 'Произошла ошибка при построении списка функций подписки',
|
|
1445
1445
|
httpCode: 500,
|
|
1446
1446
|
},
|
|
1447
|
-
|
|
1447
|
+
FOLDER_DELETE_ERROR: {
|
|
1448
1448
|
code: 'A311',
|
|
1449
|
+
message: 'Папка не была удалена',
|
|
1450
|
+
httpCode: 500,
|
|
1451
|
+
},
|
|
1452
|
+
FOLDER_CREATE_ERROR: {
|
|
1453
|
+
code: 'A312',
|
|
1454
|
+
message: 'Папка не был создана',
|
|
1455
|
+
httpCode: 500,
|
|
1456
|
+
},
|
|
1457
|
+
FOLDER_FIND_ERROR: {
|
|
1458
|
+
code: 'A313',
|
|
1459
|
+
message: 'Папка не найдена',
|
|
1460
|
+
httpCode: 404,
|
|
1461
|
+
},
|
|
1462
|
+
FOLDERS_FIND_ERROR: {
|
|
1463
|
+
code: 'A314',
|
|
1464
|
+
message: 'Папки не найдены',
|
|
1465
|
+
httpCode: 404,
|
|
1466
|
+
},
|
|
1467
|
+
FOLDER_UPDATE_ERROR: {
|
|
1468
|
+
code: 'A315',
|
|
1469
|
+
message: 'Папка не был обновлена',
|
|
1470
|
+
httpCode: 500,
|
|
1471
|
+
},
|
|
1472
|
+
FOLDER_OWNERSHIP_ERROR: {
|
|
1473
|
+
code: 'A316',
|
|
1474
|
+
message: 'Юзер не является владельцем папки',
|
|
1475
|
+
httpCode: 400,
|
|
1476
|
+
},
|
|
1477
|
+
CHECK_USER_HAS_ACTIVE_SUBSCRIPTION_OR_PRODUCT_ERROR: {
|
|
1478
|
+
code: 'A317',
|
|
1449
1479
|
message:
|
|
1450
1480
|
'Произошла ошибка при проверке наличия активной подписки или пакета у пользователя',
|
|
1451
1481
|
httpCode: 500,
|
package/models/index.ts
CHANGED