CV/src/skills/skills.types.ts

32 lines
800 B
TypeScript

import { ApiProperty } from "@nestjs/swagger";
import { DtoClass } from "@/common/dtoClass.factory";
type StarRating = 0 | 1 | 2 | 3 | 4 | 5;
export type SkillType = {
name: string;
category: string;
description: string;
stars: StarRating;
};
export class SkillDto extends DtoClass<SkillType, SkillDto>() implements SkillType {
@ApiProperty()
readonly name: string;
@ApiProperty()
readonly category: string;
@ApiProperty()
readonly description: string;
@ApiProperty()
readonly stars: StarRating;
constructor(skill: SkillType) {
super(skill);
Object.assign(this, {
name: skill.name,
category: skill.category,
descriptions: skill.description,
stars: skill.stars,
});
}
}