shrimpy-node
Version:
Client for the Shrimpy API
37 lines (33 loc) • 1.2 kB
text/typescript
import { IUserDto } from "../dtos";
import { IDtoConverter } from "../interfaces";
import { IUser } from "../models";
import { DateDtoConverter } from "./date-dto-converter";
export class UserDtoConverter implements IDtoConverter<IUserDto, IUser> {
private _dateDtoConverter = new DateDtoConverter();
public convertFromDto(dto: IUserDto): IUser {
let expirationDate: Date | null;
if (dto.expirationDate) {
expirationDate = this._dateDtoConverter.convertFromDto(dto.expirationDate)
} else {
expirationDate = null;
}
const result: IUser = {
expirationDate: expirationDate,
id: dto.id,
isEnabled: dto.isEnabled,
name: dto.name,
};
return result;
}
public convertToDto(model: IUser): IUserDto {
const result: IUserDto = {
id: model.id,
isEnabled: model.isEnabled,
name: model.name,
};
if (model.expirationDate != null) {
result.expirationDate = this._dateDtoConverter.convertToDto(model.expirationDate);
}
return result;
}
}