backend/src/models/actions/update/UpdateUserGroup.ts

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;
}
}