Updated the openapi descriptions for all permission routes

ref #49
This commit is contained in:
Nicolai Ort 2020-12-22 19:51:37 +01:00
parent b7827fef54
commit 05319e6f6e

View File

@ -26,7 +26,7 @@ export class PermissionController {
@Get() @Get()
@Authorized("PERMISSION:GET") @Authorized("PERMISSION:GET")
@ResponseSchema(ResponsePermission, { isArray: true }) @ResponseSchema(ResponsePermission, { isArray: true })
@OpenAPI({ description: 'Lists all permissions.' }) @OpenAPI({ description: 'Lists all permissions for all users and groups.' })
async getAll() { async getAll() {
let responsePermissions: ResponsePermission[] = new Array<ResponsePermission>(); let responsePermissions: ResponsePermission[] = new Array<ResponsePermission>();
const permissions = await this.permissionRepository.find({ relations: ['principal'] }); const permissions = await this.permissionRepository.find({ relations: ['principal'] });
@ -42,7 +42,7 @@ export class PermissionController {
@ResponseSchema(ResponsePermission) @ResponseSchema(ResponsePermission)
@ResponseSchema(PermissionNotFoundError, { statusCode: 404 }) @ResponseSchema(PermissionNotFoundError, { statusCode: 404 })
@OnUndefined(PermissionNotFoundError) @OnUndefined(PermissionNotFoundError)
@OpenAPI({ description: 'Returns a permissions of a specified id (if it exists)' }) @OpenAPI({ description: 'Lists all information about the permission whose id got provided.' })
async getOne(@Param('id') id: number) { async getOne(@Param('id') id: number) {
let permission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] }); let permission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] });
if (!permission) { throw new PermissionNotFoundError(); } if (!permission) { throw new PermissionNotFoundError(); }
@ -54,7 +54,7 @@ export class PermissionController {
@Authorized("PERMISSION:CREATE") @Authorized("PERMISSION:CREATE")
@ResponseSchema(ResponsePermission) @ResponseSchema(ResponsePermission)
@ResponseSchema(PrincipalNotFoundError, { statusCode: 404 }) @ResponseSchema(PrincipalNotFoundError, { statusCode: 404 })
@OpenAPI({ description: 'Create a new runnerTeam object (id will be generated automagicly).' }) @OpenAPI({ description: 'Create a new permission for a existing principal(user/group). <br> If a permission with this target, action and prinicpal already exists that permission will be returned instead of creating a new one.' })
async post(@Body({ validate: true }) createPermission: CreatePermission) { async post(@Body({ validate: true }) createPermission: CreatePermission) {
let permission; let permission;
try { try {
@ -79,7 +79,7 @@ export class PermissionController {
@ResponseSchema(PrincipalNotFoundError, { statusCode: 404 }) @ResponseSchema(PrincipalNotFoundError, { statusCode: 404 })
@ResponseSchema(PermissionIdsNotMatchingError, { statusCode: 406 }) @ResponseSchema(PermissionIdsNotMatchingError, { statusCode: 406 })
@ResponseSchema(PermissionNeedsPrincipalError, { statusCode: 406 }) @ResponseSchema(PermissionNeedsPrincipalError, { statusCode: 406 })
@OpenAPI({ description: "Update a permission object (id can't be changed)." }) @OpenAPI({ description: "Update a permission object. <br> If updateing the permission object would result in duplicate permission (same target, action and principal) this permission will get deleted and the existing permission will be returned. <br> Please remember that id's can't be changed." })
async put(@Param('id') id: number, @Body({ validate: true }) permission: UpdatePermission) { async put(@Param('id') id: number, @Body({ validate: true }) permission: UpdatePermission) {
let oldPermission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] }); let oldPermission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] });
@ -106,7 +106,7 @@ export class PermissionController {
@ResponseSchema(ResponsePermission) @ResponseSchema(ResponsePermission)
@ResponseSchema(ResponseEmpty, { statusCode: 204 }) @ResponseSchema(ResponseEmpty, { statusCode: 204 })
@OnUndefined(204) @OnUndefined(204)
@OpenAPI({ description: 'Delete a specified permission (if it exists).' }) @OpenAPI({ description: 'Deletes the permission whose id you provide. <br> If no permission with this id exists it will just return 204(no content).' })
async remove(@Param("id") id: number, @QueryParam("force") force: boolean) { async remove(@Param("id") id: number, @QueryParam("force") force: boolean) {
let permission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] }); let permission = await this.permissionRepository.findOne({ id: id }, { relations: ['principal'] });
if (!permission) { return null; } if (!permission) { return null; }