90 lines
1.9 KiB
TypeScript
90 lines
1.9 KiB
TypeScript
// project.ts
|
|
class Project {
|
|
private _idProject?: number;
|
|
private _projectName?: string;
|
|
private _creationDate?: string;
|
|
private _logo?: string;
|
|
private _status?: "PENDING" | "ACTIVE" | "ENDED" | "ABORTED" | "REJECTED";
|
|
|
|
constructor(data: Partial<Project> = {}) {
|
|
this._idProject = data.idProject;
|
|
this._projectName = data.projectName;
|
|
this._creationDate = data.creationDate;
|
|
this._logo = data.logo;
|
|
this._status = data.status;
|
|
}
|
|
|
|
get idProject(): number | undefined {
|
|
return this._idProject;
|
|
}
|
|
|
|
set idProject(value: number | undefined) {
|
|
this._idProject = value;
|
|
}
|
|
|
|
get projectName(): string {
|
|
return this._projectName ?? "";
|
|
}
|
|
|
|
set projectName(value: string | undefined) {
|
|
this._projectName = value;
|
|
}
|
|
|
|
get creationDate(): string {
|
|
return this._creationDate ?? "";
|
|
}
|
|
|
|
set creationDate(value: string | undefined) {
|
|
this._creationDate = value;
|
|
}
|
|
|
|
get logo(): string | undefined {
|
|
return this._logo;
|
|
}
|
|
|
|
set logo(value: string | undefined) {
|
|
this._logo = value;
|
|
}
|
|
|
|
get status():
|
|
| "PENDING"
|
|
| "ACTIVE"
|
|
| "ENDED"
|
|
| "ABORTED"
|
|
| "REJECTED"
|
|
| undefined {
|
|
return this._status;
|
|
}
|
|
|
|
set status(
|
|
value:
|
|
| "PENDING"
|
|
| "ACTIVE"
|
|
| "ENDED"
|
|
| "ABORTED"
|
|
| "REJECTED"
|
|
| undefined
|
|
) {
|
|
this._status = value;
|
|
}
|
|
|
|
toObject() {
|
|
return {
|
|
idProject: this.idProject,
|
|
projectName: this.projectName,
|
|
creationDate: this.creationDate,
|
|
logo: this.logo,
|
|
status: this.status,
|
|
};
|
|
}
|
|
|
|
toCreatePayload() {
|
|
return {
|
|
projectName: this.projectName,
|
|
logo: this.logo,
|
|
};
|
|
}
|
|
}
|
|
|
|
export default Project;
|