"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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NewsModel = exports.NewsType = void 0; const openapi = require("@nestjs/swagger"); const typeorm_1 = require("typeorm"); const _base_model_1 = require("./_base_model"); const swagger_1 = require("@nestjs/swagger"); const class_validator_1 = require("class-validator"); const news_category_model_1 = require("./news_category.model"); const is_number_or_number_str_1 = require("../app/common/decorator/is_number_or_number_str"); const api_optional_decorator_1 = require("../app/common/decorator/api_optional.decorator"); var NewsType; (function (NewsType) { NewsType[NewsType["ImageText"] = 1] = "ImageText"; NewsType[NewsType["Video"] = 2] = "Video"; })(NewsType || (exports.NewsType = NewsType = {})); let NewsModel = class NewsModel extends _base_model_1.BaseModel { categoryId; coverImage; video; title; content; publishTime; readCount; type; isRecommended; isHeadline; isShow; category; static _OPENAPI_METADATA_FACTORY() { return { categoryId: { required: true, type: () => Number }, coverImage: { required: true, type: () => String }, video: { required: false, type: () => String }, title: { required: true, type: () => String }, content: { required: true, type: () => String }, publishTime: { required: true, type: () => String }, readCount: { required: true, type: () => Number }, type: { required: true, enum: require("./news.model").NewsType }, isRecommended: { required: true, type: () => Number }, isHeadline: { required: true, type: () => Number }, isShow: { required: true, type: () => Number }, category: { required: false, type: () => require("./news_category.model").NewsCategoryModel } }; } }; exports.NewsModel = NewsModel; __decorate([ (0, swagger_1.ApiProperty)({ description: '资讯分类 ID' }), (0, class_validator_1.IsInt)(), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'int', comment: '资讯分类 ID', }), __metadata("design:type", Number) ], NewsModel.prototype, "categoryId", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '封面图' }), (0, class_validator_1.IsString)(), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'varchar', comment: '封面图', }), __metadata("design:type", String) ], NewsModel.prototype, "coverImage", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '视频链接', nullable: true }), (0, class_validator_1.IsString)(), (0, typeorm_1.Column)({ type: 'varchar', comment: '视频链接', nullable: true, }), __metadata("design:type", String) ], NewsModel.prototype, "video", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '标题' }), (0, class_validator_1.IsString)(), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'varchar', comment: '标题', }), __metadata("design:type", String) ], NewsModel.prototype, "title", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '图文资讯内容' }), (0, class_validator_1.IsString)(), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'text', comment: '图文资讯内容', }), __metadata("design:type", String) ], NewsModel.prototype, "content", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '发布时间' }), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'datetime', comment: '发布时间', }), __metadata("design:type", String) ], NewsModel.prototype, "publishTime", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '阅读数量' }), (0, is_number_or_number_str_1.IsNumberOrNumberStr)(), (0, typeorm_1.Column)({ type: 'int', default: 0, comment: '阅读数量', }), __metadata("design:type", Number) ], NewsModel.prototype, "readCount", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '类型:1=图文,2=视频', enum: NewsType, }), (0, class_validator_1.IsNotEmpty)(), (0, typeorm_1.Column)({ type: 'int', comment: '类型:1=图文,2=视频', }), __metadata("design:type", Number) ], NewsModel.prototype, "type", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '是否推荐:0=否,1=是' }), (0, typeorm_1.Column)({ type: 'int', default: 0, comment: '是否推荐:0=否,1=是', }), __metadata("design:type", Number) ], NewsModel.prototype, "isRecommended", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '是否头条:0=否,1=是' }), (0, typeorm_1.Column)({ type: 'int', default: 0, comment: '是否头条:0=否,1=是', }), __metadata("design:type", Number) ], NewsModel.prototype, "isHeadline", void 0); __decorate([ (0, swagger_1.ApiProperty)({ description: '是否展示:0=否,1=是' }), (0, typeorm_1.Column)({ type: 'int', default: 1, comment: '是否展示:0=否,1=是', }), __metadata("design:type", Number) ], NewsModel.prototype, "isShow", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '资讯分类', type: news_category_model_1.NewsCategoryModel, nullable: true, }), (0, typeorm_1.ManyToOne)(() => news_category_model_1.NewsCategoryModel, { createForeignKeyConstraints: false, }), (0, typeorm_1.JoinColumn)({ name: 'categoryId' }), __metadata("design:type", news_category_model_1.NewsCategoryModel) ], NewsModel.prototype, "category", void 0); exports.NewsModel = NewsModel = __decorate([ (0, typeorm_1.Entity)({ comment: '资讯', }) ], NewsModel); //# sourceMappingURL=news.model.js.map