567 lines
24 KiB
JavaScript
567 lines
24 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.GeneratedNewsController = 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 news_model_1 = require("../../model/news.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 GeneratedNewsFindOrderDto {
|
|
id;
|
|
createTime;
|
|
updateTime;
|
|
deleteTime;
|
|
categoryId;
|
|
coverImage;
|
|
video;
|
|
title;
|
|
content;
|
|
publishTime;
|
|
readCount;
|
|
type;
|
|
isRecommended;
|
|
isHeadline;
|
|
isShow;
|
|
}
|
|
__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)
|
|
], GeneratedNewsFindOrderDto.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)
|
|
], GeneratedNewsFindOrderDto.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)
|
|
], GeneratedNewsFindOrderDto.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)
|
|
], GeneratedNewsFindOrderDto.prototype, "deleteTime", void 0);
|
|
__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)
|
|
], GeneratedNewsFindOrderDto.prototype, "categoryId", 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)
|
|
], GeneratedNewsFindOrderDto.prototype, "coverImage", 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)
|
|
], GeneratedNewsFindOrderDto.prototype, "video", 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)
|
|
], GeneratedNewsFindOrderDto.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)
|
|
], GeneratedNewsFindOrderDto.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)
|
|
], GeneratedNewsFindOrderDto.prototype, "publishTime", 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)
|
|
], GeneratedNewsFindOrderDto.prototype, "readCount", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '类型:1=图文,2=视频', enum: order_by_enum_1.OrderBy }),
|
|
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindOrderDto.prototype, "type", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否推荐:0=否,1=是', enum: order_by_enum_1.OrderBy }),
|
|
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindOrderDto.prototype, "isRecommended", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否头条:0=否,1=是', enum: order_by_enum_1.OrderBy }),
|
|
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindOrderDto.prototype, "isHeadline", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否展示:0=否,1=是', enum: order_by_enum_1.OrderBy }),
|
|
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindOrderDto.prototype, "isShow", void 0);
|
|
class GeneratedNewsFindRelationDto {
|
|
category;
|
|
}
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '' }),
|
|
(0, class_validator_1.IsBoolean)(),
|
|
__metadata("design:type", Boolean)
|
|
], GeneratedNewsFindRelationDto.prototype, "category", void 0);
|
|
class GeneratedNewsFindExpressionDto {
|
|
id;
|
|
createTime;
|
|
updateTime;
|
|
deleteTime;
|
|
categoryId;
|
|
coverImage;
|
|
video;
|
|
title;
|
|
content;
|
|
publishTime;
|
|
readCount;
|
|
type;
|
|
isRecommended;
|
|
isHeadline;
|
|
isShow;
|
|
}
|
|
__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)
|
|
], GeneratedNewsFindExpressionDto.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)
|
|
], GeneratedNewsFindExpressionDto.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)
|
|
], GeneratedNewsFindExpressionDto.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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "deleteTime", void 0);
|
|
__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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "categoryId", 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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "coverImage", 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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "video", 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)
|
|
], GeneratedNewsFindExpressionDto.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)
|
|
], GeneratedNewsFindExpressionDto.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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "publishTime", 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)
|
|
], GeneratedNewsFindExpressionDto.prototype, "readCount", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '类型:1=图文,2=视频', enum: expression_enum_1.Expression }),
|
|
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindExpressionDto.prototype, "type", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否推荐:0=否,1=是', enum: expression_enum_1.Expression }),
|
|
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindExpressionDto.prototype, "isRecommended", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否头条:0=否,1=是', enum: expression_enum_1.Expression }),
|
|
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindExpressionDto.prototype, "isHeadline", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({ description: '是否展示:0=否,1=是', enum: expression_enum_1.Expression }),
|
|
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindExpressionDto.prototype, "isShow", void 0);
|
|
class GeneratedNewsFindExtraDto {
|
|
expression;
|
|
order;
|
|
relations;
|
|
}
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({
|
|
description: '查询表达式',
|
|
example: { "id": "gt" },
|
|
type: GeneratedNewsFindExpressionDto
|
|
}),
|
|
(0, class_transformer_1.Type)(() => GeneratedNewsFindExpressionDto),
|
|
(0, class_validator_1.ValidateNested)(),
|
|
__metadata("design:type", GeneratedNewsFindExpressionDto)
|
|
], GeneratedNewsFindExtraDto.prototype, "expression", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({
|
|
description: '指定字段排序',
|
|
example: { "id": "desc" },
|
|
type: [GeneratedNewsFindOrderDto],
|
|
}),
|
|
(0, class_validator_1.IsArray)(),
|
|
(0, class_transformer_1.Type)(() => GeneratedNewsFindOrderDto),
|
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
__metadata("design:type", Array)
|
|
], GeneratedNewsFindExtraDto.prototype, "order", void 0);
|
|
__decorate([
|
|
(0, api_optional_decorator_1.ApiOptional)({
|
|
description: '查询关联数据',
|
|
type: GeneratedNewsFindRelationDto,
|
|
}),
|
|
(0, class_transformer_1.Type)(() => GeneratedNewsFindRelationDto),
|
|
(0, class_validator_1.ValidateNested)(),
|
|
__metadata("design:type", GeneratedNewsFindRelationDto)
|
|
], GeneratedNewsFindExtraDto.prototype, "relations", void 0);
|
|
class GeneratedNewsFindWhereDto {
|
|
id;
|
|
createTime;
|
|
updateTime;
|
|
deleteTime;
|
|
categoryId;
|
|
coverImage;
|
|
video;
|
|
title;
|
|
content;
|
|
publishTime;
|
|
readCount;
|
|
type;
|
|
isRecommended;
|
|
isHeadline;
|
|
isShow;
|
|
}
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: 'ID' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "id", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "createTime", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "updateTime", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "deleteTime", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '资讯分类 ID' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "categoryId", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '封面图' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "coverImage", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '视频链接' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "video", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '标题' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "title", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '图文资讯内容' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "content", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '发布时间' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", String)
|
|
], GeneratedNewsFindWhereDto.prototype, "publishTime", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '阅读数量' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "readCount", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '类型:1=图文,2=视频' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "type", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '是否推荐:0=否,1=是' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "isRecommended", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '是否头条:0=否,1=是' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "isHeadline", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '是否展示:0=否,1=是' }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", Number)
|
|
], GeneratedNewsFindWhereDto.prototype, "isShow", void 0);
|
|
class GeneratedNewsFindDto {
|
|
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)
|
|
], GeneratedNewsFindDto.prototype, "paginated", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedNewsFindWhereDto }),
|
|
(0, class_transformer_1.Type)(() => GeneratedNewsFindWhereDto),
|
|
(0, class_validator_1.ValidateNested)(),
|
|
__metadata("design:type", GeneratedNewsFindWhereDto)
|
|
], GeneratedNewsFindDto.prototype, "where", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedNewsFindExtraDto }),
|
|
(0, class_transformer_1.Type)(() => GeneratedNewsFindExtraDto),
|
|
(0, class_validator_1.ValidateNested)(),
|
|
__metadata("design:type", GeneratedNewsFindExtraDto)
|
|
], GeneratedNewsFindDto.prototype, "extra", void 0);
|
|
class GeneratedNewsCreateDto extends (0, swagger_1.OmitType)(news_model_1.NewsModel, [
|
|
'id',
|
|
'createTime',
|
|
'updateTime',
|
|
'deleteTime',
|
|
'category',
|
|
]) {
|
|
}
|
|
class GeneratedNewsUpdateDto extends (0, swagger_1.PartialType)(GeneratedNewsCreateDto) {
|
|
}
|
|
class GeneratedNewsDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedNewsFindWhereDto, ['id'])) {
|
|
}
|
|
class GeneratedNewsDetailDto {
|
|
where;
|
|
extra;
|
|
}
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedNewsDetailWhereDto }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", GeneratedNewsDetailWhereDto)
|
|
], GeneratedNewsDetailDto.prototype, "where", void 0);
|
|
__decorate([
|
|
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedNewsFindExtraDto }),
|
|
(0, class_validator_1.Allow)(),
|
|
__metadata("design:type", GeneratedNewsFindExtraDto)
|
|
], GeneratedNewsDetailDto.prototype, "extra", void 0);
|
|
const identity = 'userId';
|
|
const identityExist = false;
|
|
let GeneratedNewsController = class GeneratedNewsController {
|
|
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.GeneratedNewsController = GeneratedNewsController;
|
|
__decorate([
|
|
(0, common_1.Post)('list'),
|
|
(0, swagger_1.ApiOperation)({ summary: '资讯列表' }),
|
|
api_1.Api.ApiPaginatedResponse({
|
|
model: news_model_1.NewsModel,
|
|
codeDescription: '200成功',
|
|
}),
|
|
openapi.ApiResponse({ status: 201 }),
|
|
__param(0, (0, common_1.Body)()),
|
|
__metadata("design:type", Function),
|
|
__metadata("design:paramtypes", [GeneratedNewsFindDto]),
|
|
__metadata("design:returntype", Promise)
|
|
], GeneratedNewsController.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: news_model_1.NewsModel,
|
|
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, GeneratedNewsDetailDto]),
|
|
__metadata("design:returntype", Promise)
|
|
], GeneratedNewsController.prototype, "detail", null);
|
|
exports.GeneratedNewsController = GeneratedNewsController = __decorate([
|
|
(0, common_1.Controller)('generated/news'),
|
|
(0, swagger_1.ApiTags)('G资讯'),
|
|
__param(0, (0, typeorm_1.InjectRepository)(news_model_1.NewsModel)),
|
|
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
], GeneratedNewsController);
|
|
//# sourceMappingURL=generated_news.controller.js.map
|