feat: 优化部分接口
parent
7e7b6152f7
commit
8a2a6930ce
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -10,7 +10,7 @@ export class PaginationDto {
|
|||
@IsNumber()
|
||||
@Min(1)
|
||||
@Transform(({ value }) => Number(value))
|
||||
page: number;
|
||||
page?: number;
|
||||
|
||||
/**
|
||||
* 每页条数
|
||||
|
|
@ -19,5 +19,5 @@ export class PaginationDto {
|
|||
@IsNumber()
|
||||
@Min(1)
|
||||
@Transform(({ value }) => Number(value))
|
||||
size: number;
|
||||
size?: number;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,22 @@
|
|||
import { IsOptional, IsString } from 'class-validator';
|
||||
|
||||
export class CreatePermissionDto {
|
||||
/**
|
||||
* 权限名称
|
||||
* @example 权限名称
|
||||
*/
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 权限标识
|
||||
* @example permission:permission
|
||||
*/
|
||||
@IsString()
|
||||
slug: string;
|
||||
|
||||
/**
|
||||
* 权限描述
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
description: string;
|
||||
description?: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { CreatePermissionDto } from './dto/create-permission.dto';
|
||||
import { UpdatePermissionDto } from './dto/update-permission.dto';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Permission } from './entities/permission.entity';
|
||||
import { Repository } from 'typeorm';
|
||||
|
||||
@Injectable()
|
||||
export class PermissionService {
|
||||
|
|
@ -23,8 +23,8 @@ export class PermissionService {
|
|||
return `This action returns a #${id} permission`;
|
||||
}
|
||||
|
||||
update(id: number, updatePermissionDto: UpdatePermissionDto) {
|
||||
return `This action updates a #${id} permission`;
|
||||
async update(id: number, updatePermissionDto: UpdatePermissionDto) {
|
||||
await this.permissionRepository.update(id, updatePermissionDto);
|
||||
}
|
||||
|
||||
remove(id: number) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { Injectable } from '@nestjs/common';
|
||||
import { CreateRoleDto } from './dto/create-role.dto';
|
||||
import { UpdateRoleDto } from './dto/update-role.dto';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { CreateRoleDto } from './dto/create-role.dto';
|
||||
import { UpdateRoleDto } from './dto/update-role.dto';
|
||||
import { Role } from './entities/role.entity';
|
||||
|
||||
@Injectable()
|
||||
|
|
@ -19,17 +19,18 @@ export class RoleService {
|
|||
}
|
||||
|
||||
findAll() {
|
||||
return this.roleRepository.findAndCount({
|
||||
relations: ['permissions'],
|
||||
});
|
||||
return this.roleRepository.findAndCount({ relations: ['permissions'] });
|
||||
}
|
||||
|
||||
findOne(id: number) {
|
||||
return `This action returns a #${id} role`;
|
||||
}
|
||||
|
||||
update(id: number, updateRoleDto: UpdateRoleDto) {
|
||||
return `This action updates a #${id} role`;
|
||||
async update(id: number, updateRoleDto: UpdateRoleDto) {
|
||||
if (updateRoleDto.permissions) {
|
||||
delete updateRoleDto.permissions;
|
||||
}
|
||||
await this.roleRepository.update(id, updateRoleDto);
|
||||
}
|
||||
|
||||
remove(id: number) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { PaginationDto } from '@/features/pagination';
|
||||
import { IntersectionType } from '@nestjs/swagger';
|
||||
import { IsOptional, IsString } from 'class-validator';
|
||||
import { PaginationDto } from '@/features/pagination';
|
||||
|
||||
export class FindUserDto extends IntersectionType(PaginationDto) {
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
nickname: string;
|
||||
nickname?: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
import { BaseController } from '@/features/base';
|
||||
import { Respond } from '@/features/response';
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, Query, Version } from '@nestjs/common';
|
||||
import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||
import { Respond } from '@/features/response';
|
||||
import { BaseController } from '@/features/base';
|
||||
import { CreateUserDto, UpdateUserDto } from './dto';
|
||||
import { FindUserDto } from './dto/find-user.dto';
|
||||
import { User } from './entities';
|
||||
import { UserService } from './user.service';
|
||||
import { Permission, PermissionEnum } from '@/features/permission/permission.decorator';
|
||||
import { Public } from '@/modules/auth/jwt/jwt-decorator';
|
||||
|
||||
@ApiTags('user')
|
||||
@Controller('users')
|
||||
|
|
@ -23,9 +21,7 @@ export class UserController extends BaseController {
|
|||
}
|
||||
|
||||
@Get()
|
||||
@Public(false)
|
||||
@Respond(Respond.PAGINATION)
|
||||
@Permission(PermissionEnum.READ)
|
||||
@ApiOkResponse({ isArray: true, type: User })
|
||||
@ApiOperation({ summary: '批量查询', operationId: 'getUsers' })
|
||||
async findMany(@Query() query: FindUserDto) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue