src/settings/settings.controller.ts
settings
Methods |
|
| Async canViewSettings | ||||
canViewSettings(request)
|
||||
Decorators :
@Get('canViewSettings')
|
||||
|
Defined in src/settings/settings.controller.ts:93
|
||||
|
Parameters :
Returns :
unknown
|
| defaultRole |
defaultRole()
|
Decorators :
@Get('defaultRole')
|
|
Defined in src/settings/settings.controller.ts:51
|
|
Returns :
any
|
| Async removeUser | |||||||||
removeUser(userId: string, request)
|
|||||||||
Decorators :
@Delete('users/:userId')
|
|||||||||
|
Defined in src/settings/settings.controller.ts:78
|
|||||||||
|
Parameters :
Returns :
unknown
|
| roles |
roles()
|
Decorators :
@Get('roles')
|
|
Defined in src/settings/settings.controller.ts:46
|
|
Returns :
any
|
| Async setTuroUser | |||||||||
setTuroUser(updateTuroUserDto: UpdateTuroUserDto, request)
|
|||||||||
Decorators :
@Post('users/assign')
|
|||||||||
|
Defined in src/settings/settings.controller.ts:56
|
|||||||||
|
Parameters :
Returns :
unknown
|
| Async users | ||||
users(request)
|
||||
Decorators :
@Get('users')
|
||||
|
Defined in src/settings/settings.controller.ts:31
|
||||
|
Parameters :
Returns :
unknown
|
import { PolicyService } from "../iam";
import {
Body,
Controller,
Get,
Request,
Post,
Param,
Delete,
UnauthorizedException,
} from "@nestjs/common";
import { ApiBearerAuth } from "@nestjs/swagger";
import { UpdateTuroUserDto } from "./dto/update-turo-user.dto";
import {
SETTINGS_DELETE_ACTION,
SETTINGS_READ_ACTION,
SETTINGS_RESOURCE_NAME,
SETTINGS_UPDATE_ACTION,
} from "./settings.constants";
import { SettingsService } from "./settings.service";
@ApiBearerAuth("access-token")
@Controller("settings")
export class SettingsController {
constructor(
private readonly settingsService: SettingsService,
private readonly policyService: PolicyService,
) {}
@Get("users")
async users(@Request() request) {
if (
!(await this.policyService.checkPermission(
request.user.permission,
0,
SETTINGS_RESOURCE_NAME,
SETTINGS_READ_ACTION,
))
) {
throw new UnauthorizedException();
}
return this.settingsService.getTuroUsers();
}
@Get("roles")
roles() {
return this.settingsService.getTuroRoles();
}
@Get("defaultRole")
defaultRole() {
return this.settingsService.getDefaultRole();
}
@Post("users/assign")
async setTuroUser(
@Body() updateTuroUserDto: UpdateTuroUserDto,
@Request() request,
) {
if (
!(await this.policyService.checkPermission(
request.user.permission,
0,
SETTINGS_RESOURCE_NAME,
SETTINGS_UPDATE_ACTION,
))
) {
throw new UnauthorizedException();
}
return this.settingsService.setTuroUser(
updateTuroUserDto.roleId,
updateTuroUserDto.userId,
request.user.id,
);
}
@Delete("users/:userId")
async removeUser(@Param("userId") userId: string, @Request() request) {
if (
!(await this.policyService.checkPermission(
request.user.permission,
0,
SETTINGS_RESOURCE_NAME,
SETTINGS_DELETE_ACTION,
))
) {
throw new UnauthorizedException();
}
return this.settingsService.removeUser(userId, request.user.id);
}
@Get("canViewSettings")
async canViewSettings(@Request() request) {
return this.policyService.checkPermission(
request.user.permission,
0,
SETTINGS_RESOURCE_NAME,
SETTINGS_READ_ACTION,
);
}
}