34 lines
939 B
TypeScript
34 lines
939 B
TypeScript
import { UserAggregate, UserState } from '../../../Domain/User/UserAggregate';
|
|
import { CreateUserDto, UpdateUserDto, ShortUserDto, DetailUserDto } from '../UserDto';
|
|
import { BaseMapper } from './BaseMapper';
|
|
|
|
export class UserMapper {
|
|
static toShortDto(user: UserAggregate): ShortUserDto {
|
|
return {
|
|
id: user.id,
|
|
username: user.username,
|
|
state: user.state,
|
|
authLevel: (user.state === UserState.ADMIN ? 1 : 0) as 0 | 1,
|
|
};
|
|
}
|
|
|
|
static toDetailDto(user: UserAggregate): DetailUserDto {
|
|
return {
|
|
id: user.id,
|
|
orgid: user.orgid,
|
|
username: user.username,
|
|
email: user.email,
|
|
fname: user.fname,
|
|
lname: user.lname,
|
|
code: user.token,
|
|
type: user.type,
|
|
phone: user.phone,
|
|
state: user.state,
|
|
};
|
|
}
|
|
|
|
static toShortDtoList(users: UserAggregate[]): ShortUserDto[] {
|
|
return BaseMapper.toShortDtoListStatic(users, UserMapper.toShortDto);
|
|
}
|
|
}
|