Files
energy_dist/dist/generated/api/generated_document.controller.js
T
2026-04-21 22:34:39 +08:00

434 lines
18 KiB
JavaScript

"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GeneratedDocumentController = void 0;
const openapi = require("@nestjs/swagger");
const common_1 = require("@nestjs/common");
const swagger_1 = require("@nestjs/swagger");
const api_1 = require("../../app/common/api");
const typeorm_1 = require("@nestjs/typeorm");
const typeorm_2 = require("typeorm");
const api_optional_decorator_1 = require("../../app/common/decorator/api_optional.decorator");
const class_validator_1 = require("class-validator");
const order_by_enum_1 = require("../../app/common/enum/order_by.enum");
const expression_enum_1 = require("../../app/common/enum/expression.enum");
const class_transformer_1 = require("class-transformer");
const document_model_1 = require("../../model/document.model");
const ExtraExp = {
eq: (k, v) => {
return (0, typeorm_2.Equal)(v);
},
neq: (k, v) => {
return (0, typeorm_2.Not)(v);
},
gt: (k, v) => {
return (0, typeorm_2.MoreThan)(v);
},
egt: (k, v) => {
return (0, typeorm_2.MoreThanOrEqual)(v);
},
lt: (k, v) => {
return (0, typeorm_2.LessThan)(v);
},
elt: (k, v) => {
return (0, typeorm_2.LessThanOrEqual)(v);
},
between: (k, v) => {
const p = Array.isArray(v) ? v : `${v}`.split(',');
if (p.length < 2) {
return undefined;
}
if (typeof p[1] == 'undefined') {
throw new common_1.BadRequestException({
message: k + '字段,between查询参数错误需要用逗号分割',
});
}
return (0, typeorm_2.Between)(p[0], p[1]);
},
'not between': (k, v) => {
const p = Array.isArray(v) ? v : `${v}`.split(',');
if (p.length < 2) {
return undefined;
}
if (typeof p[1] == 'undefined') {
throw new common_1.BadRequestException({
message: k + '字段,between查询参数错误需要用逗号分割',
});
}
return (0, typeorm_2.Not)((0, typeorm_2.Between)(p[0], p[1]));
},
in: (k, v) => {
if (!Array.isArray(v)) {
v = `${v}`.split(',');
}
return (0, typeorm_2.In)(v);
},
'not in': (k, v) => {
if (!Array.isArray(v)) {
v = `${v}`.split(',');
}
return (0, typeorm_2.Not)((0, typeorm_2.In)(v));
},
like: (k, v) => {
return (0, typeorm_2.Like)(`%${v}%`);
},
slike: (k, v) => {
return (0, typeorm_2.Like)(`${v}%`);
},
elike: (k, v) => {
return (0, typeorm_2.Like)(`${v}%`);
},
};
class GeneratedDocumentFindOrderDto {
id;
createTime;
updateTime;
deleteTime;
title;
content;
publishTime;
type;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: 'ID', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "id", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '创建时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "createTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '更新时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "updateTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '删除时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "deleteTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '标题', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "title", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '文档库内容', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "content", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '发布时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "publishTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '类型:1&#x3D;服务协议,2&#x3D;隐私协议', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedDocumentFindOrderDto.prototype, "type", void 0);
class GeneratedDocumentFindRelationDto {
}
class GeneratedDocumentFindExpressionDto {
id;
createTime;
updateTime;
deleteTime;
title;
content;
publishTime;
type;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: 'ID', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "id", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '创建时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "createTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '更新时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "updateTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '删除时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "deleteTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '标题', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "title", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '文档库内容', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "content", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '发布时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "publishTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '类型:1&#x3D;服务协议,2&#x3D;隐私协议', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedDocumentFindExpressionDto.prototype, "type", void 0);
class GeneratedDocumentFindExtraDto {
expression;
order;
relations;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '查询表达式',
example: { "id": "gt" },
type: GeneratedDocumentFindExpressionDto
}),
(0, class_transformer_1.Type)(() => GeneratedDocumentFindExpressionDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedDocumentFindExpressionDto)
], GeneratedDocumentFindExtraDto.prototype, "expression", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '指定字段排序',
example: { "id": "desc" },
type: [GeneratedDocumentFindOrderDto],
}),
(0, class_validator_1.IsArray)(),
(0, class_transformer_1.Type)(() => GeneratedDocumentFindOrderDto),
(0, class_validator_1.ValidateNested)({ each: true }),
__metadata("design:type", Array)
], GeneratedDocumentFindExtraDto.prototype, "order", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '查询关联数据',
type: GeneratedDocumentFindRelationDto,
}),
(0, class_transformer_1.Type)(() => GeneratedDocumentFindRelationDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedDocumentFindRelationDto)
], GeneratedDocumentFindExtraDto.prototype, "relations", void 0);
class GeneratedDocumentFindWhereDto {
id;
createTime;
updateTime;
deleteTime;
title;
content;
publishTime;
type;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'ID' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", Number)
], GeneratedDocumentFindWhereDto.prototype, "id", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "createTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "updateTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "deleteTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '标题' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "title", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '文档库内容' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "content", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '发布时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedDocumentFindWhereDto.prototype, "publishTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '类型:1&#x3D;服务协议,2&#x3D;隐私协议' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", Number)
], GeneratedDocumentFindWhereDto.prototype, "type", void 0);
class GeneratedDocumentFindDto {
paginated;
where;
extra;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '分页', type: api_1.PaginatedDto }),
(0, class_transformer_1.Type)(() => api_1.PaginatedDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", api_1.PaginatedDto)
], GeneratedDocumentFindDto.prototype, "paginated", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedDocumentFindWhereDto }),
(0, class_transformer_1.Type)(() => GeneratedDocumentFindWhereDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedDocumentFindWhereDto)
], GeneratedDocumentFindDto.prototype, "where", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedDocumentFindExtraDto }),
(0, class_transformer_1.Type)(() => GeneratedDocumentFindExtraDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedDocumentFindExtraDto)
], GeneratedDocumentFindDto.prototype, "extra", void 0);
class GeneratedDocumentCreateDto extends (0, swagger_1.OmitType)(document_model_1.DocumentModel, [
'id',
'createTime',
'updateTime',
'deleteTime',
]) {
}
class GeneratedDocumentUpdateDto extends (0, swagger_1.PartialType)(GeneratedDocumentCreateDto) {
}
class GeneratedDocumentDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedDocumentFindWhereDto, ['id'])) {
}
class GeneratedDocumentDetailDto {
where;
extra;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedDocumentDetailWhereDto }),
(0, class_validator_1.Allow)(),
__metadata("design:type", GeneratedDocumentDetailWhereDto)
], GeneratedDocumentDetailDto.prototype, "where", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedDocumentFindExtraDto }),
(0, class_validator_1.Allow)(),
__metadata("design:type", GeneratedDocumentFindExtraDto)
], GeneratedDocumentDetailDto.prototype, "extra", void 0);
const identity = 'userId';
const identityExist = false;
let GeneratedDocumentController = class GeneratedDocumentController {
repos;
constructor(repos) {
this.repos = repos;
}
async list(dto) {
const page = dto.paginated?.page || 1;
const size = dto.paginated?.size || 15;
const skip = (page - 1) * size;
let where;
if (dto.extra?.expression && dto.where) {
where = Object.fromEntries(Object.entries(dto.where).map(([key, value]) => {
const expression = dto.extra?.expression[key];
if (typeof value != 'undefined' && value != '' && value != null) {
if (expression && ExtraExp[expression]) {
value = ExtraExp[expression](key, value);
}
}
if (expression == expression_enum_1.Expression.between &&
(!value || (Array.isArray(value) && value.length < 2))) {
value = undefined;
}
return [key, value];
}));
}
else {
where = (dto.where || {});
}
where = Object.fromEntries(Object.entries(where).filter(([_, v]) => {
if (typeof v == 'undefined') {
return false;
}
if (typeof v == 'string' && !v) {
return false;
}
return true;
}));
const o = dto.extra?.order && dto.extra?.order.length
? dto.extra?.order
: [{ id: 'desc' }];
const order = Object.fromEntries(o.map((it) => Object.keys(it).map((key) => [key, it[key]]))[0]);
const list = await this.repos.find({
where,
order,
skip: skip,
take: size,
relations: typeof dto.extra?.relations == 'object'
? Object.keys(dto.extra?.relations).filter((it) => dto.extra?.relations[it])
: [],
});
const count = await this.repos.count({
where: where,
});
return api_1.Api.pagination(list, count);
}
async detail(id, dto) {
const where = {
id,
...dto.where,
};
const item = await this.repos.findOne({
where,
relations: typeof dto.extra?.relations == 'object'
? Object.keys(dto.extra?.relations).filter((it) => dto.extra?.relations[it])
: [],
});
return api_1.Api.success(item);
}
};
exports.GeneratedDocumentController = GeneratedDocumentController;
__decorate([
(0, common_1.Post)('list'),
(0, swagger_1.ApiOperation)({ summary: '文档库列表' }),
api_1.Api.ApiPaginatedResponse({
model: document_model_1.DocumentModel,
codeDescription: '200成功',
}),
openapi.ApiResponse({ status: 201 }),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [GeneratedDocumentFindDto]),
__metadata("design:returntype", Promise)
], GeneratedDocumentController.prototype, "list", null);
__decorate([
(0, common_1.Post)('detail/:id'),
(0, swagger_1.ApiParam)({ name: 'id', description: '文档库ID' }),
(0, swagger_1.ApiOperation)({ summary: '文档库详情' }),
api_1.Api.ApiResponse({
model: document_model_1.DocumentModel,
codeDescription: '200成功',
}),
openapi.ApiResponse({ status: 201 }),
__param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Number, GeneratedDocumentDetailDto]),
__metadata("design:returntype", Promise)
], GeneratedDocumentController.prototype, "detail", null);
exports.GeneratedDocumentController = GeneratedDocumentController = __decorate([
(0, common_1.Controller)('generated/document'),
(0, swagger_1.ApiTags)('G文档库'),
__param(0, (0, typeorm_1.InjectRepository)(document_model_1.DocumentModel)),
__metadata("design:paramtypes", [typeorm_2.Repository])
], GeneratedDocumentController);
//# sourceMappingURL=generated_document.controller.js.map