"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.GeneratedInvite_code_poolController = 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 invite_code_pool_model_1 = require("../../model/invite_code_pool.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 GeneratedInvite_code_poolFindOrderDto { id; createTime; updateTime; deleteTime; code; } __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) ], GeneratedInvite_code_poolFindOrderDto.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) ], GeneratedInvite_code_poolFindOrderDto.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) ], GeneratedInvite_code_poolFindOrderDto.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) ], GeneratedInvite_code_poolFindOrderDto.prototype, "deleteTime", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '邀请码,邀请码的id跟用户的id是一一对应的', enum: order_by_enum_1.OrderBy }), (0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy), __metadata("design:type", String) ], GeneratedInvite_code_poolFindOrderDto.prototype, "code", void 0); class GeneratedInvite_code_poolFindRelationDto { } class GeneratedInvite_code_poolFindExpressionDto { id; createTime; updateTime; deleteTime; code; } __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) ], GeneratedInvite_code_poolFindExpressionDto.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) ], GeneratedInvite_code_poolFindExpressionDto.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) ], GeneratedInvite_code_poolFindExpressionDto.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) ], GeneratedInvite_code_poolFindExpressionDto.prototype, "deleteTime", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '邀请码,邀请码的id跟用户的id是一一对应的', enum: expression_enum_1.Expression }), (0, class_validator_1.IsEnum)(expression_enum_1.Expression), __metadata("design:type", String) ], GeneratedInvite_code_poolFindExpressionDto.prototype, "code", void 0); class GeneratedInvite_code_poolFindExtraDto { expression; order; relations; } __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询表达式', example: { "id": "gt" }, type: GeneratedInvite_code_poolFindExpressionDto }), (0, class_transformer_1.Type)(() => GeneratedInvite_code_poolFindExpressionDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedInvite_code_poolFindExpressionDto) ], GeneratedInvite_code_poolFindExtraDto.prototype, "expression", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '指定字段排序', example: { "id": "desc" }, type: [GeneratedInvite_code_poolFindOrderDto], }), (0, class_validator_1.IsArray)(), (0, class_transformer_1.Type)(() => GeneratedInvite_code_poolFindOrderDto), (0, class_validator_1.ValidateNested)({ each: true }), __metadata("design:type", Array) ], GeneratedInvite_code_poolFindExtraDto.prototype, "order", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询关联数据', type: GeneratedInvite_code_poolFindRelationDto, }), (0, class_transformer_1.Type)(() => GeneratedInvite_code_poolFindRelationDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedInvite_code_poolFindRelationDto) ], GeneratedInvite_code_poolFindExtraDto.prototype, "relations", void 0); class GeneratedInvite_code_poolFindWhereDto { id; createTime; updateTime; deleteTime; code; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: 'ID' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedInvite_code_poolFindWhereDto.prototype, "id", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedInvite_code_poolFindWhereDto.prototype, "createTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedInvite_code_poolFindWhereDto.prototype, "updateTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedInvite_code_poolFindWhereDto.prototype, "deleteTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '邀请码,邀请码的id跟用户的id是一一对应的' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedInvite_code_poolFindWhereDto.prototype, "code", void 0); class GeneratedInvite_code_poolFindDto { 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) ], GeneratedInvite_code_poolFindDto.prototype, "paginated", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedInvite_code_poolFindWhereDto }), (0, class_transformer_1.Type)(() => GeneratedInvite_code_poolFindWhereDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedInvite_code_poolFindWhereDto) ], GeneratedInvite_code_poolFindDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedInvite_code_poolFindExtraDto }), (0, class_transformer_1.Type)(() => GeneratedInvite_code_poolFindExtraDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedInvite_code_poolFindExtraDto) ], GeneratedInvite_code_poolFindDto.prototype, "extra", void 0); class GeneratedInvite_code_poolCreateDto extends (0, swagger_1.OmitType)(invite_code_pool_model_1.InviteCodePoolModel, [ 'id', 'createTime', 'updateTime', 'deleteTime', ]) { } class GeneratedInvite_code_poolUpdateDto extends (0, swagger_1.PartialType)(GeneratedInvite_code_poolCreateDto) { } class GeneratedInvite_code_poolDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedInvite_code_poolFindWhereDto, ['id'])) { } class GeneratedInvite_code_poolDetailDto { where; extra; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedInvite_code_poolDetailWhereDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedInvite_code_poolDetailWhereDto) ], GeneratedInvite_code_poolDetailDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedInvite_code_poolFindExtraDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedInvite_code_poolFindExtraDto) ], GeneratedInvite_code_poolDetailDto.prototype, "extra", void 0); const identity = 'userId'; const identityExist = false; let GeneratedInvite_code_poolController = class GeneratedInvite_code_poolController { 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.GeneratedInvite_code_poolController = GeneratedInvite_code_poolController; __decorate([ (0, common_1.Post)('list'), (0, swagger_1.ApiOperation)({ summary: '邀请码池列表' }), api_1.Api.ApiPaginatedResponse({ model: invite_code_pool_model_1.InviteCodePoolModel, codeDescription: '200成功', }), openapi.ApiResponse({ status: 201 }), __param(0, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [GeneratedInvite_code_poolFindDto]), __metadata("design:returntype", Promise) ], GeneratedInvite_code_poolController.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: invite_code_pool_model_1.InviteCodePoolModel, 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, GeneratedInvite_code_poolDetailDto]), __metadata("design:returntype", Promise) ], GeneratedInvite_code_poolController.prototype, "detail", null); exports.GeneratedInvite_code_poolController = GeneratedInvite_code_poolController = __decorate([ (0, common_1.Controller)('generated/invite_code_pool'), (0, swagger_1.ApiTags)('G邀请码池'), __param(0, (0, typeorm_1.InjectRepository)(invite_code_pool_model_1.InviteCodePoolModel)), __metadata("design:paramtypes", [typeorm_2.Repository]) ], GeneratedInvite_code_poolController); //# sourceMappingURL=generated_invite_code_pool.controller.js.map