Files
yunhaifinance/backend/src/modules/roles/roles.controller.ts
T

57 lines
1.5 KiB
TypeScript

import { Controller, Get, Post, Put, Delete, Body, Param, UseGuards } from '@nestjs/common';
import { RolesService } from './roles.service';
import { AuthGuard } from '@nestjs/passport';
@Controller('api/v1/roles')
export class RolesController {
constructor(private readonly rolesService: RolesService) {}
@Post()
@UseGuards(AuthGuard('jwt'))
async create(
@Body('name') name: string,
@Body('description') description: string,
@Body('permissionIds') permissionIds: string[],
) {
return this.rolesService.create(name, description, permissionIds);
}
@Get()
@UseGuards(AuthGuard('jwt'))
async findAll() {
return this.rolesService.findAll();
}
@Get(':id')
@UseGuards(AuthGuard('jwt'))
async findById(@Param('id') id: string) {
return this.rolesService.findById(id);
}
@Put(':id')
@UseGuards(AuthGuard('jwt'))
async update(
@Param('id') id: string,
@Body('name') name: string,
@Body('description') description: string,
@Body('permissionIds') permissionIds: string[],
) {
return this.rolesService.update(id, name, description, permissionIds);
}
@Delete(':id')
@UseGuards(AuthGuard('jwt'))
async delete(@Param('id') id: string) {
return this.rolesService.delete(id);
}
@Post(':id/permissions')
@UseGuards(AuthGuard('jwt'))
async assignPermissions(
@Param('id') roleId: string,
@Body('permissionIds') permissionIds: string[],
) {
return this.rolesService.assignPermissions(roleId, permissionIds);
}
}