39 lines
920 B
TypeScript
39 lines
920 B
TypeScript
|
import { IsInt, IsOptional, IsString } from 'class-validator';
|
||
|
import { UserGroup } from '../../entities/UserGroup';
|
||
|
|
||
|
/**
|
||
|
* This class is used to update a UserGroup entity (via put request).
|
||
|
*/
|
||
|
export class UpdateUserGroup {
|
||
|
|
||
|
/**
|
||
|
* The updated group's id.
|
||
|
* This shouldn't have changed but it is here in case anyone ever wants to enable id changes (whyever they would want to).
|
||
|
*/
|
||
|
@IsInt()
|
||
|
id: number;
|
||
|
|
||
|
/**
|
||
|
* The updated group's name.
|
||
|
*/
|
||
|
@IsString()
|
||
|
name: string;
|
||
|
|
||
|
/**
|
||
|
* The updated groups's description.
|
||
|
*/
|
||
|
@IsString()
|
||
|
@IsOptional()
|
||
|
description?: string;
|
||
|
|
||
|
/**
|
||
|
* Updates a group entity based on this.
|
||
|
* @param group The group that shall be updated.
|
||
|
*/
|
||
|
public async update(group: UserGroup): Promise<UserGroup> {
|
||
|
group.name = this.name;
|
||
|
group.description = this.description;
|
||
|
|
||
|
return group;
|
||
|
}
|
||
|
}
|