@purpleschool/gptbot 0.8.25 → 0.8.27
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/community.ts +2 -0
- package/api/routes.ts +2 -0
- package/build/api/controllers/http/community.js +1 -0
- package/build/api/routes.js +1 -0
- package/build/commands/community/create-community-post.command.js +0 -1
- package/build/commands/community/index.js +1 -0
- package/build/commands/community/send-report-to-community-post.command.js +15 -0
- package/build/constants/community/community-post-report/enums/community-post-report-reason.enum.js +18 -0
- package/build/constants/community/community-post-report/enums/index.js +17 -0
- package/build/constants/community/community-post-report/index.js +17 -0
- package/build/constants/community/enums/community-status.enum.js +2 -0
- package/build/constants/community/index.js +1 -0
- package/build/constants/errors/errors.js +44 -14
- package/build/models/community/community-post-report/community-post-report.schema.js +13 -0
- package/build/models/community/community-post-report/index.js +17 -0
- package/build/models/community/community-post.schema.js +1 -0
- package/build/models/community/index.js +1 -0
- package/build/models/tools/image-generation/image-generation-job.schema.js +1 -0
- package/build/models/tools/music/music-track.schema.js +1 -0
- package/commands/community/create-community-post.command.ts +1 -6
- package/commands/community/index.ts +1 -0
- package/commands/community/send-report-to-community-post.command.ts +17 -0
- package/constants/community/community-post-report/enums/community-post-report-reason.enum.ts +14 -0
- package/constants/community/community-post-report/enums/index.ts +1 -0
- package/constants/community/community-post-report/index.ts +1 -0
- package/constants/community/enums/community-status.enum.ts +2 -0
- package/constants/community/index.ts +1 -0
- package/constants/errors/errors.ts +44 -14
- package/models/community/community-post-report/community-post-report.schema.ts +11 -0
- package/models/community/community-post-report/index.ts +1 -0
- package/models/community/community-post.schema.ts +1 -0
- package/models/community/index.ts +1 -0
- package/models/tools/image-generation/image-generation-job.schema.ts +1 -0
- package/models/tools/music/music-track.schema.ts +1 -0
- package/package.json +1 -1
|
@@ -14,6 +14,8 @@ export const COMMUNITY_ROUTES_PRIVATE = {
|
|
|
14
14
|
ARCHIVE: (uuid: string) => `${uuid}/archive`,
|
|
15
15
|
LIKE: (uuid: string) => `${uuid}/like`,
|
|
16
16
|
FAVORITE: (uuid: string) => `${uuid}/favorite`,
|
|
17
|
+
|
|
18
|
+
REPORT: (uuid: string) => `report/${uuid}`,
|
|
17
19
|
} as const;
|
|
18
20
|
|
|
19
21
|
export const COMMUNITY_ROUTES_PUBLIC = {
|
package/api/routes.ts
CHANGED
|
@@ -854,6 +854,8 @@ export const REST_API = {
|
|
|
854
854
|
`${ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.LIKE(uuid)}`,
|
|
855
855
|
FAVORITE: (uuid: string) =>
|
|
856
856
|
`${ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.FAVORITE(uuid)}`,
|
|
857
|
+
REPORT: (uuid: string) =>
|
|
858
|
+
`${ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.REPORT(uuid)}`,
|
|
857
859
|
},
|
|
858
860
|
COMMUNITY_PUBLIC: {
|
|
859
861
|
GET_ALL: `${ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PUBLIC}/${CONTROLLERS.COMMUNITY_ROUTES_PUBLIC.GET_ALL}`,
|
package/build/api/routes.js
CHANGED
|
@@ -664,6 +664,7 @@ exports.REST_API = {
|
|
|
664
664
|
GET_MY_FAVORITE: `${exports.ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.GET_MY_FAVORITE}`,
|
|
665
665
|
LIKE: (uuid) => `${exports.ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.LIKE(uuid)}`,
|
|
666
666
|
FAVORITE: (uuid) => `${exports.ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.FAVORITE(uuid)}`,
|
|
667
|
+
REPORT: (uuid) => `${exports.ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PRIVATE}/${CONTROLLERS.COMMUNITY_ROUTES_PRIVATE.REPORT(uuid)}`,
|
|
667
668
|
},
|
|
668
669
|
COMMUNITY_PUBLIC: {
|
|
669
670
|
GET_ALL: `${exports.ROOT}/${CONTROLLERS.COMMUNITY_CONTROLLER_PUBLIC}/${CONTROLLERS.COMMUNITY_ROUTES_PUBLIC.GET_ALL}`,
|
|
@@ -8,7 +8,6 @@ var CreateCommunityPostCommand;
|
|
|
8
8
|
(function (CreateCommunityPostCommand) {
|
|
9
9
|
CreateCommunityPostCommand.RequestBodySchema = zod_1.z
|
|
10
10
|
.object({
|
|
11
|
-
status: zod_1.z.nativeEnum(constants_1.COMMUNITY_POST_STATUS),
|
|
12
11
|
visibility: zod_1.z.nativeEnum(constants_1.COMMUNITY_POST_VISIBILITY),
|
|
13
12
|
caption: zod_1.z.string().max(500).nullable().optional(),
|
|
14
13
|
messageId: zod_1.z.string().uuid().nullable().optional(),
|
|
@@ -25,3 +25,4 @@ __exportStar(require("./get-my-community-posts-by-criteria.command"), exports);
|
|
|
25
25
|
__exportStar(require("./share-my-community-post.command"), exports);
|
|
26
26
|
__exportStar(require("./get-my-likes-community-posts.command"), exports);
|
|
27
27
|
__exportStar(require("./get-my-favorite-community-posts.command"), exports);
|
|
28
|
+
__exportStar(require("./send-report-to-community-post.command"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SendReportToCommunityPostCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
var SendReportToCommunityPostCommand;
|
|
7
|
+
(function (SendReportToCommunityPostCommand) {
|
|
8
|
+
SendReportToCommunityPostCommand.RequestSchema = zod_1.z.object({
|
|
9
|
+
uuid: zod_1.z.string().uuid(),
|
|
10
|
+
});
|
|
11
|
+
SendReportToCommunityPostCommand.RequestBodySchema = zod_1.z.object({
|
|
12
|
+
reason: zod_1.z.nativeEnum(constants_1.COMMUNITY_POST_REPORT_REASON),
|
|
13
|
+
});
|
|
14
|
+
SendReportToCommunityPostCommand.ResponseSchema = zod_1.z.void();
|
|
15
|
+
})(SendReportToCommunityPostCommand || (exports.SendReportToCommunityPostCommand = SendReportToCommunityPostCommand = {}));
|
package/build/constants/community/community-post-report/enums/community-post-report-reason.enum.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMUNITY_POST_REPORT_REASON = void 0;
|
|
4
|
+
var COMMUNITY_POST_REPORT_REASON;
|
|
5
|
+
(function (COMMUNITY_POST_REPORT_REASON) {
|
|
6
|
+
COMMUNITY_POST_REPORT_REASON["SPAM"] = "spam";
|
|
7
|
+
COMMUNITY_POST_REPORT_REASON["COPYRIGHT"] = "copyright";
|
|
8
|
+
COMMUNITY_POST_REPORT_REASON["TRADEMARK"] = "trademark";
|
|
9
|
+
COMMUNITY_POST_REPORT_REASON["HATE_SPEECH"] = "hate_speech";
|
|
10
|
+
COMMUNITY_POST_REPORT_REASON["VIOLENCE"] = "violence";
|
|
11
|
+
COMMUNITY_POST_REPORT_REASON["SEXUAL_CONTENT"] = "sexual_content";
|
|
12
|
+
COMMUNITY_POST_REPORT_REASON["CHILD_SAFE_VIOLATION"] = "child_safe_violation";
|
|
13
|
+
COMMUNITY_POST_REPORT_REASON["ILLEGAL_CONTENT"] = "illegal_content";
|
|
14
|
+
COMMUNITY_POST_REPORT_REASON["PRIVACY_VIOLATION"] = "privacy_violation";
|
|
15
|
+
COMMUNITY_POST_REPORT_REASON["DEEPFAKE"] = "deepfake";
|
|
16
|
+
COMMUNITY_POST_REPORT_REASON["OFFENSIVE_CONTENT"] = "offensive_content";
|
|
17
|
+
COMMUNITY_POST_REPORT_REASON["MISINFORMATION"] = "misinformation";
|
|
18
|
+
})(COMMUNITY_POST_REPORT_REASON || (exports.COMMUNITY_POST_REPORT_REASON = COMMUNITY_POST_REPORT_REASON = {}));
|
|
@@ -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("./community-post-report-reason.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);
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.COMMUNITY_POST_STATUS = void 0;
|
|
4
4
|
var COMMUNITY_POST_STATUS;
|
|
5
5
|
(function (COMMUNITY_POST_STATUS) {
|
|
6
|
+
COMMUNITY_POST_STATUS["PENDING"] = "pending";
|
|
7
|
+
COMMUNITY_POST_STATUS["REJECTED"] = "rejected";
|
|
6
8
|
COMMUNITY_POST_STATUS["PUBLISHED"] = "published";
|
|
7
9
|
COMMUNITY_POST_STATUS["ARCHIVED"] = "archived";
|
|
8
10
|
COMMUNITY_POST_STATUS["DELETED"] = "deleted";
|
|
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./enums"), exports);
|
|
18
18
|
__exportStar(require("./default-pagination.constant"), exports);
|
|
19
|
+
__exportStar(require("./community-post-report"), exports);
|
|
@@ -2482,74 +2482,104 @@ exports.ERRORS = {
|
|
|
2482
2482
|
message: 'Произошла ошибка при повторном запросе перефразирования',
|
|
2483
2483
|
httpCode: 500,
|
|
2484
2484
|
},
|
|
2485
|
-
|
|
2485
|
+
MODERATION_ERROR: {
|
|
2486
2486
|
code: 'A507',
|
|
2487
|
+
message: 'Произошла ошибка при попытке модерации',
|
|
2488
|
+
httpCode: 500,
|
|
2489
|
+
},
|
|
2490
|
+
MODERATION_SAVE_ERROR: {
|
|
2491
|
+
code: 'A508',
|
|
2492
|
+
message: 'Ошибка при сохранении лога модерации',
|
|
2493
|
+
httpCode: 500,
|
|
2494
|
+
},
|
|
2495
|
+
COMMUNITY_POST_REPORT_SEND_ERROR: {
|
|
2496
|
+
code: 'A509',
|
|
2497
|
+
message: 'Произошла ошибка при отправке жалобы на пост в сообществе',
|
|
2498
|
+
httpCode: 500,
|
|
2499
|
+
},
|
|
2500
|
+
COMMUNITY_POST_REPORT_FIND_INTERNAL_ERROR: {
|
|
2501
|
+
code: 'A510',
|
|
2502
|
+
message: 'Произошла ошибка при поиске жалобы на пост в сообществе',
|
|
2503
|
+
httpCode: 500,
|
|
2504
|
+
},
|
|
2505
|
+
COMMUNITY_POST_REPORT_ALREADY_SENT: {
|
|
2506
|
+
code: 'A511',
|
|
2507
|
+
message: 'Жалоба на пост в сообществе уже отправлена',
|
|
2508
|
+
httpCode: 400,
|
|
2509
|
+
},
|
|
2510
|
+
FILES_SAVE_ERROR: {
|
|
2511
|
+
code: 'A512',
|
|
2487
2512
|
message: 'Произошла ошибка при сохранении файлов',
|
|
2488
2513
|
httpCode: 500,
|
|
2489
2514
|
},
|
|
2490
2515
|
IMAGE_GENERATION_CONFIG_ERROR: {
|
|
2491
|
-
code: '
|
|
2516
|
+
code: 'A513',
|
|
2492
2517
|
message: 'Произошла ошибка при получении конфигурации инструмента для генерации изображений',
|
|
2493
2518
|
httpCode: 500,
|
|
2494
2519
|
},
|
|
2495
2520
|
IMAGE_GENERATION_SEND_REQUEST_ERROR: {
|
|
2496
|
-
code: '
|
|
2521
|
+
code: 'A514',
|
|
2497
2522
|
message: 'Произошла ошибка при отправке запроса на генерацию изображения',
|
|
2498
2523
|
httpCode: 500,
|
|
2499
2524
|
},
|
|
2500
2525
|
IMAGE_GENERATION_FIND_JOBS_ERROR: {
|
|
2501
|
-
code: '
|
|
2526
|
+
code: 'A515',
|
|
2502
2527
|
message: 'Произошла ошибка при получении списка заданий на генерацию изображений',
|
|
2503
2528
|
httpCode: 500,
|
|
2504
2529
|
},
|
|
2505
2530
|
IMAGE_GENERATION_FIND_JOB_ERROR: {
|
|
2506
|
-
code: '
|
|
2531
|
+
code: 'A516',
|
|
2507
2532
|
message: 'Произошла ошибка при получении задания на генерацию изображения',
|
|
2508
2533
|
httpCode: 500,
|
|
2509
2534
|
},
|
|
2510
2535
|
IMAGE_GENERATION_RETRY_JOB_ERROR: {
|
|
2511
|
-
code: '
|
|
2536
|
+
code: 'A517',
|
|
2512
2537
|
message: 'Произошла ошибка при повторном запросе на генерацию изображения',
|
|
2513
2538
|
httpCode: 500,
|
|
2514
2539
|
},
|
|
2515
2540
|
IMAGE_GENERATION_SET_REACTION_ERROR: {
|
|
2516
|
-
code: '
|
|
2541
|
+
code: 'A518',
|
|
2517
2542
|
message: 'Произошла ошибка при установке оценки задания на генерацию изображения',
|
|
2518
2543
|
httpCode: 500,
|
|
2519
2544
|
},
|
|
2520
2545
|
IMAGE_GENERATION_UPDATE_TITLE_ERROR: {
|
|
2521
|
-
code: '
|
|
2546
|
+
code: 'A519',
|
|
2522
2547
|
message: 'Произошла ошибка при обновлении названия задания на генерацию изображения',
|
|
2523
2548
|
httpCode: 500,
|
|
2524
2549
|
},
|
|
2525
2550
|
IMAGE_GENERATION_DELETE_JOB_ERROR: {
|
|
2526
|
-
code: '
|
|
2551
|
+
code: 'A520',
|
|
2527
2552
|
message: 'Произошла ошибка при удалении задания на генерацию изображения',
|
|
2528
2553
|
httpCode: 500,
|
|
2529
2554
|
},
|
|
2530
2555
|
IMAGE_GENERATION_DELETE_ALL_JOBS_ERROR: {
|
|
2531
|
-
code: '
|
|
2556
|
+
code: 'A521',
|
|
2532
2557
|
message: 'Произошла ошибка при удалении всех заданий на генерацию изображений',
|
|
2533
2558
|
httpCode: 500,
|
|
2534
2559
|
},
|
|
2535
2560
|
IMAGE_GENERATION_MODEL_NOT_FOUND: {
|
|
2536
|
-
code: '
|
|
2561
|
+
code: 'A522',
|
|
2537
2562
|
message: 'Не удалось найти указанную модель для генерации изображений',
|
|
2538
2563
|
httpCode: 400,
|
|
2539
2564
|
},
|
|
2540
2565
|
IMAGE_GENERATION_MODEL_INACTIVE: {
|
|
2541
|
-
code: '
|
|
2566
|
+
code: 'A523',
|
|
2542
2567
|
message: 'Модель для генерации изображений неактивна',
|
|
2543
2568
|
httpCode: 400,
|
|
2544
2569
|
},
|
|
2545
2570
|
IMAGE_GENERATION_MODEL_NOT_AVAILABLE: {
|
|
2546
|
-
code: '
|
|
2571
|
+
code: 'A524',
|
|
2547
2572
|
message: 'Модель для генерации изображений недоступна для данного пользователя',
|
|
2548
2573
|
httpCode: 403,
|
|
2549
2574
|
},
|
|
2550
2575
|
IMAGE_GENERATION_MAX_SYMBOLS_EXCEEDED: {
|
|
2551
|
-
code: '
|
|
2576
|
+
code: 'A525',
|
|
2552
2577
|
message: 'Превышена максимальная количество символов',
|
|
2553
2578
|
httpCode: 400,
|
|
2554
2579
|
},
|
|
2580
|
+
MODERATION_NOT_COMPLIANT: {
|
|
2581
|
+
code: 'A526',
|
|
2582
|
+
message: 'Публикация не соответствует внутренним правилам сервиса.',
|
|
2583
|
+
httpCode: 400,
|
|
2584
|
+
},
|
|
2555
2585
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommunityPostReportSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../../constants");
|
|
6
|
+
exports.CommunityPostReportSchema = zod_1.z.object({
|
|
7
|
+
uuid: zod_1.z.string().uuid(),
|
|
8
|
+
communityPostId: zod_1.z.string().uuid(),
|
|
9
|
+
userId: zod_1.z.string().uuid(),
|
|
10
|
+
reason: zod_1.z.nativeEnum(constants_1.COMMUNITY_POST_REPORT_REASON),
|
|
11
|
+
createdAt: zod_1.z.date(),
|
|
12
|
+
updatedAt: zod_1.z.date(),
|
|
13
|
+
});
|
|
@@ -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("./community-post-report.schema"), exports);
|
|
@@ -21,6 +21,7 @@ exports.CommunityPostSchema = zod_1.z.object({
|
|
|
21
21
|
toolType: zod_1.z.nativeEnum(constants_1.COMMUNITY_TOOL_TYPE).nullable(),
|
|
22
22
|
views: zod_1.z.number(),
|
|
23
23
|
likesCount: zod_1.z.number(),
|
|
24
|
+
reportsCount: zod_1.z.number(),
|
|
24
25
|
publishedAt: zod_1.z.date().nullable(),
|
|
25
26
|
archivedAt: zod_1.z.date().nullable(),
|
|
26
27
|
createdAt: zod_1.z.date(),
|
|
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./community-post.schema"), exports);
|
|
18
18
|
__exportStar(require("./community-post-media-data.schema"), exports);
|
|
19
|
+
__exportStar(require("./community-post-report"), exports);
|
|
@@ -12,6 +12,7 @@ exports.ImageGenerationJobSchema = tool_job_schema_1.ToolJobSchema.extend({
|
|
|
12
12
|
title: zod_1.z.string(),
|
|
13
13
|
prompt: zod_1.z.string(),
|
|
14
14
|
reaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
|
|
15
|
+
presetId: zod_1.z.string().uuid().nullable().optional(),
|
|
15
16
|
images: zod_1.z
|
|
16
17
|
.array(zod_1.z.object({
|
|
17
18
|
uuid: zod_1.z.string(),
|
|
@@ -8,6 +8,7 @@ exports.MusicTrackSchema = zod_1.z.object({
|
|
|
8
8
|
audioId: zod_1.z.string(),
|
|
9
9
|
audioUrl: zod_1.z.string(),
|
|
10
10
|
coverUrl: zod_1.z.string(),
|
|
11
|
+
prompt: zod_1.z.string().nullable(),
|
|
11
12
|
tags: zod_1.z.string(),
|
|
12
13
|
duration: zod_1.z.number(),
|
|
13
14
|
genJobId: zod_1.z.string().nullable().optional(),
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ResponseCommunityPostSchema } from '../../models';
|
|
3
|
-
import {
|
|
4
|
-
COMMUNITY_POST_STATUS,
|
|
5
|
-
COMMUNITY_POST_VISIBILITY,
|
|
6
|
-
COMMUNITY_TOOL_TYPE,
|
|
7
|
-
} from '../../constants';
|
|
3
|
+
import { COMMUNITY_POST_VISIBILITY, COMMUNITY_TOOL_TYPE } from '../../constants';
|
|
8
4
|
|
|
9
5
|
export namespace CreateCommunityPostCommand {
|
|
10
6
|
export const RequestBodySchema = z
|
|
11
7
|
.object({
|
|
12
|
-
status: z.nativeEnum(COMMUNITY_POST_STATUS),
|
|
13
8
|
visibility: z.nativeEnum(COMMUNITY_POST_VISIBILITY),
|
|
14
9
|
caption: z.string().max(500).nullable().optional(),
|
|
15
10
|
messageId: z.string().uuid().nullable().optional(),
|
|
@@ -9,3 +9,4 @@ export * from './get-my-community-posts-by-criteria.command';
|
|
|
9
9
|
export * from './share-my-community-post.command';
|
|
10
10
|
export * from './get-my-likes-community-posts.command';
|
|
11
11
|
export * from './get-my-favorite-community-posts.command';
|
|
12
|
+
export * from './send-report-to-community-post.command';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { COMMUNITY_POST_REPORT_REASON } from '../../constants';
|
|
3
|
+
|
|
4
|
+
export namespace SendReportToCommunityPostCommand {
|
|
5
|
+
export const RequestSchema = z.object({
|
|
6
|
+
uuid: z.string().uuid(),
|
|
7
|
+
});
|
|
8
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
9
|
+
|
|
10
|
+
export const RequestBodySchema = z.object({
|
|
11
|
+
reason: z.nativeEnum(COMMUNITY_POST_REPORT_REASON),
|
|
12
|
+
});
|
|
13
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
14
|
+
|
|
15
|
+
export const ResponseSchema = z.void();
|
|
16
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export enum COMMUNITY_POST_REPORT_REASON {
|
|
2
|
+
SPAM = 'spam',
|
|
3
|
+
COPYRIGHT = 'copyright', // копирование стиля, чужих работ, треков
|
|
4
|
+
TRADEMARK = 'trademark', // логотипы, бренды без прав
|
|
5
|
+
HATE_SPEECH = 'hate_speech',
|
|
6
|
+
VIOLENCE = 'violence',
|
|
7
|
+
SEXUAL_CONTENT = 'sexual_content', // NSFW, запрещённые сцены
|
|
8
|
+
CHILD_SAFE_VIOLATION = 'child_safe_violation', // любые темы, нарушающие безопасность детей
|
|
9
|
+
ILLEGAL_CONTENT = 'illegal_content', // наркотики, оружие и др.
|
|
10
|
+
PRIVACY_VIOLATION = 'privacy_violation', // реалистичные лица обычных людей без согласия
|
|
11
|
+
DEEPFAKE = 'deepfake', // выдача человека за конкретного без разрешения
|
|
12
|
+
OFFENSIVE_CONTENT = 'offensive_content',
|
|
13
|
+
MISINFORMATION = 'misinformation', // фейковые реалистичные изображения событий/лиц
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './community-post-report-reason.enum';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums';
|
|
@@ -2490,75 +2490,105 @@ export const ERRORS = {
|
|
|
2490
2490
|
message: 'Произошла ошибка при повторном запросе перефразирования',
|
|
2491
2491
|
httpCode: 500,
|
|
2492
2492
|
},
|
|
2493
|
-
|
|
2493
|
+
MODERATION_ERROR: {
|
|
2494
2494
|
code: 'A507',
|
|
2495
|
+
message: 'Произошла ошибка при попытке модерации',
|
|
2496
|
+
httpCode: 500,
|
|
2497
|
+
},
|
|
2498
|
+
MODERATION_SAVE_ERROR: {
|
|
2499
|
+
code: 'A508',
|
|
2500
|
+
message: 'Ошибка при сохранении лога модерации',
|
|
2501
|
+
httpCode: 500,
|
|
2502
|
+
},
|
|
2503
|
+
COMMUNITY_POST_REPORT_SEND_ERROR: {
|
|
2504
|
+
code: 'A509',
|
|
2505
|
+
message: 'Произошла ошибка при отправке жалобы на пост в сообществе',
|
|
2506
|
+
httpCode: 500,
|
|
2507
|
+
},
|
|
2508
|
+
COMMUNITY_POST_REPORT_FIND_INTERNAL_ERROR: {
|
|
2509
|
+
code: 'A510',
|
|
2510
|
+
message: 'Произошла ошибка при поиске жалобы на пост в сообществе',
|
|
2511
|
+
httpCode: 500,
|
|
2512
|
+
},
|
|
2513
|
+
COMMUNITY_POST_REPORT_ALREADY_SENT: {
|
|
2514
|
+
code: 'A511',
|
|
2515
|
+
message: 'Жалоба на пост в сообществе уже отправлена',
|
|
2516
|
+
httpCode: 400,
|
|
2517
|
+
},
|
|
2518
|
+
FILES_SAVE_ERROR: {
|
|
2519
|
+
code: 'A512',
|
|
2495
2520
|
message: 'Произошла ошибка при сохранении файлов',
|
|
2496
2521
|
httpCode: 500,
|
|
2497
2522
|
},
|
|
2498
2523
|
IMAGE_GENERATION_CONFIG_ERROR: {
|
|
2499
|
-
code: '
|
|
2524
|
+
code: 'A513',
|
|
2500
2525
|
message:
|
|
2501
2526
|
'Произошла ошибка при получении конфигурации инструмента для генерации изображений',
|
|
2502
2527
|
httpCode: 500,
|
|
2503
2528
|
},
|
|
2504
2529
|
IMAGE_GENERATION_SEND_REQUEST_ERROR: {
|
|
2505
|
-
code: '
|
|
2530
|
+
code: 'A514',
|
|
2506
2531
|
message: 'Произошла ошибка при отправке запроса на генерацию изображения',
|
|
2507
2532
|
httpCode: 500,
|
|
2508
2533
|
},
|
|
2509
2534
|
IMAGE_GENERATION_FIND_JOBS_ERROR: {
|
|
2510
|
-
code: '
|
|
2535
|
+
code: 'A515',
|
|
2511
2536
|
message: 'Произошла ошибка при получении списка заданий на генерацию изображений',
|
|
2512
2537
|
httpCode: 500,
|
|
2513
2538
|
},
|
|
2514
2539
|
IMAGE_GENERATION_FIND_JOB_ERROR: {
|
|
2515
|
-
code: '
|
|
2540
|
+
code: 'A516',
|
|
2516
2541
|
message: 'Произошла ошибка при получении задания на генерацию изображения',
|
|
2517
2542
|
httpCode: 500,
|
|
2518
2543
|
},
|
|
2519
2544
|
IMAGE_GENERATION_RETRY_JOB_ERROR: {
|
|
2520
|
-
code: '
|
|
2545
|
+
code: 'A517',
|
|
2521
2546
|
message: 'Произошла ошибка при повторном запросе на генерацию изображения',
|
|
2522
2547
|
httpCode: 500,
|
|
2523
2548
|
},
|
|
2524
2549
|
IMAGE_GENERATION_SET_REACTION_ERROR: {
|
|
2525
|
-
code: '
|
|
2550
|
+
code: 'A518',
|
|
2526
2551
|
message: 'Произошла ошибка при установке оценки задания на генерацию изображения',
|
|
2527
2552
|
httpCode: 500,
|
|
2528
2553
|
},
|
|
2529
2554
|
IMAGE_GENERATION_UPDATE_TITLE_ERROR: {
|
|
2530
|
-
code: '
|
|
2555
|
+
code: 'A519',
|
|
2531
2556
|
message: 'Произошла ошибка при обновлении названия задания на генерацию изображения',
|
|
2532
2557
|
httpCode: 500,
|
|
2533
2558
|
},
|
|
2534
2559
|
IMAGE_GENERATION_DELETE_JOB_ERROR: {
|
|
2535
|
-
code: '
|
|
2560
|
+
code: 'A520',
|
|
2536
2561
|
message: 'Произошла ошибка при удалении задания на генерацию изображения',
|
|
2537
2562
|
httpCode: 500,
|
|
2538
2563
|
},
|
|
2539
2564
|
IMAGE_GENERATION_DELETE_ALL_JOBS_ERROR: {
|
|
2540
|
-
code: '
|
|
2565
|
+
code: 'A521',
|
|
2541
2566
|
message: 'Произошла ошибка при удалении всех заданий на генерацию изображений',
|
|
2542
2567
|
httpCode: 500,
|
|
2543
2568
|
},
|
|
2544
2569
|
IMAGE_GENERATION_MODEL_NOT_FOUND: {
|
|
2545
|
-
code: '
|
|
2570
|
+
code: 'A522',
|
|
2546
2571
|
message: 'Не удалось найти указанную модель для генерации изображений',
|
|
2547
2572
|
httpCode: 400,
|
|
2548
2573
|
},
|
|
2549
2574
|
IMAGE_GENERATION_MODEL_INACTIVE: {
|
|
2550
|
-
code: '
|
|
2575
|
+
code: 'A523',
|
|
2551
2576
|
message: 'Модель для генерации изображений неактивна',
|
|
2552
2577
|
httpCode: 400,
|
|
2553
2578
|
},
|
|
2554
2579
|
IMAGE_GENERATION_MODEL_NOT_AVAILABLE: {
|
|
2555
|
-
code: '
|
|
2580
|
+
code: 'A524',
|
|
2556
2581
|
message: 'Модель для генерации изображений недоступна для данного пользователя',
|
|
2557
2582
|
httpCode: 403,
|
|
2558
2583
|
},
|
|
2559
2584
|
IMAGE_GENERATION_MAX_SYMBOLS_EXCEEDED: {
|
|
2560
|
-
code: '
|
|
2585
|
+
code: 'A525',
|
|
2561
2586
|
message: 'Превышена максимальная количество символов',
|
|
2562
2587
|
httpCode: 400,
|
|
2563
2588
|
},
|
|
2589
|
+
MODERATION_NOT_COMPLIANT: {
|
|
2590
|
+
code: 'A526',
|
|
2591
|
+
message: 'Публикация не соответствует внутренним правилам сервиса.',
|
|
2592
|
+
httpCode: 400,
|
|
2593
|
+
},
|
|
2564
2594
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { COMMUNITY_POST_REPORT_REASON } from '../../../constants';
|
|
3
|
+
|
|
4
|
+
export const CommunityPostReportSchema = z.object({
|
|
5
|
+
uuid: z.string().uuid(),
|
|
6
|
+
communityPostId: z.string().uuid(),
|
|
7
|
+
userId: z.string().uuid(),
|
|
8
|
+
reason: z.nativeEnum(COMMUNITY_POST_REPORT_REASON),
|
|
9
|
+
createdAt: z.date(),
|
|
10
|
+
updatedAt: z.date(),
|
|
11
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './community-post-report.schema';
|
|
@@ -24,6 +24,7 @@ export const CommunityPostSchema = z.object({
|
|
|
24
24
|
toolType: z.nativeEnum(COMMUNITY_TOOL_TYPE).nullable(),
|
|
25
25
|
views: z.number(),
|
|
26
26
|
likesCount: z.number(),
|
|
27
|
+
reportsCount: z.number(),
|
|
27
28
|
publishedAt: z.date().nullable(),
|
|
28
29
|
archivedAt: z.date().nullable(),
|
|
29
30
|
createdAt: z.date(),
|