@@ -4,9 +4,9 @@ import {
|
||||
IsObject
|
||||
} from "class-validator";
|
||||
import { Permission } from '../entities/Permission';
|
||||
import { Principal } from '../entities/Principal';
|
||||
import { PermissionAction } from '../enums/PermissionAction';
|
||||
import { PermissionTarget } from '../enums/PermissionTargets';
|
||||
import { ResponsePrincipal } from './ResponsePrincipal';
|
||||
|
||||
/**
|
||||
* Defines a track of given length.
|
||||
@@ -23,7 +23,7 @@ export class ResponsePermission {
|
||||
*/
|
||||
@IsObject()
|
||||
@IsNotEmpty()
|
||||
principal: Principal;
|
||||
principal: ResponsePrincipal;
|
||||
|
||||
/**
|
||||
* The permissions's target.
|
||||
@@ -39,7 +39,7 @@ export class ResponsePermission {
|
||||
|
||||
public constructor(permission: Permission) {
|
||||
this.id = permission.id;
|
||||
this.principal = permission.principal;
|
||||
this.principal = permission.principal.toResponse();
|
||||
this.target = permission.target;
|
||||
this.action = permission.action;
|
||||
}
|
||||
|
||||
45
src/models/responses/ResponseUserGroup.ts
Normal file
45
src/models/responses/ResponseUserGroup.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import {
|
||||
IsArray,
|
||||
|
||||
|
||||
IsNotEmpty,
|
||||
|
||||
IsOptional,
|
||||
IsString
|
||||
} from "class-validator";
|
||||
import { Permission } from '../entities/Permission';
|
||||
import { UserGroup } from '../entities/UserGroup';
|
||||
import { ResponsePrincipal } from './ResponsePrincipal';
|
||||
|
||||
/**
|
||||
* Defines a user response.
|
||||
*/
|
||||
export class ResponseUserGroup extends ResponsePrincipal {
|
||||
/**
|
||||
* The group's name
|
||||
*/
|
||||
@IsNotEmpty()
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* The group's description
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* permissions
|
||||
*/
|
||||
@IsArray()
|
||||
@IsOptional()
|
||||
permissions: Permission[];
|
||||
|
||||
public constructor(group: UserGroup) {
|
||||
super(group);
|
||||
this.name = group.name;
|
||||
this.description = group.description;
|
||||
this.permissions = group.permissions;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user