feat: Refactor entity types to include BaseEntity properties and update date handling
This commit is contained in:
parent
b2328b4e0c
commit
86f4c757e3
@ -1,9 +1,14 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { ActivityDto, ActivityCreateDto, ActivityUpdateDto } from "./dto";
|
||||
import { UserId } from "./value-ids";
|
||||
|
||||
export type Activity = ActivityDto;
|
||||
export type Activity = Omit<ActivityDto, "createdAt" | "updatedAt" | "lastEditorID"> & BaseEntity;
|
||||
|
||||
export const mapActivityDtoToActivity = (dto: ActivityDto): Activity => ({
|
||||
...dto,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type ActivityCreate = ActivityCreateDto;
|
||||
|
@ -1,9 +1,14 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { CompanyDto, CompanyCreateDto, CompanyUpdateDto } from "./dto";
|
||||
import { UserId } from "./value-ids";
|
||||
|
||||
export type Company = CompanyDto;
|
||||
export type Company = Omit<CompanyDto, "createdAt" | "updatedAt" | "lastEditorID"> & BaseEntity;
|
||||
|
||||
export const mapCompanyDtoToCompany = (dto: CompanyDto): Company => ({
|
||||
...dto,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type CompanyCreate = CompanyCreateDto;
|
||||
|
@ -1,9 +1,14 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { CustomerDto, CustomerCreateDto, CustomerUpdateDto } from "./dto";
|
||||
import { UserId } from "./value-ids";
|
||||
|
||||
export type Customer = CustomerDto;
|
||||
export type Customer = Omit<CustomerDto, "createdAt" | "updatedAt" | "lastEditorID"> & BaseEntity;
|
||||
|
||||
export const mapCustomerDtoToCustomer = (dto: CustomerDto): Customer => ({
|
||||
...dto,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type CustomerCreate = CustomerCreateDto;
|
||||
|
@ -1,9 +1,14 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { ProjectDto, ProjectCreateDto, ProjectUpdateDto } from "./dto";
|
||||
import { UserId } from "./value-ids";
|
||||
|
||||
export type Project = ProjectDto;
|
||||
export type Project = Omit<ProjectDto, "createdAt" | "updatedAt" | "lastEditorID"> & BaseEntity;
|
||||
|
||||
export const mapProjectDtoToProject = (dto: ProjectDto): Project => ({
|
||||
...dto,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type ProjectCreate = ProjectCreateDto;
|
||||
|
@ -1,14 +1,25 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { TimeEntryDto, TimeEntryCreateDto, TimeEntryUpdateDto } from "./dto";
|
||||
import { UserId, ProjectId, ActivityId } from "./value-ids";
|
||||
|
||||
export type TimeEntry = Omit<TimeEntryDto, "start" | "end"> & {
|
||||
export type TimeEntry = Omit<TimeEntryDto, "start" | "end" | "userId" | "projectId" | "activityId" | "lastEditorID" | "createdAt" | "updatedAt"> & {
|
||||
start: Date;
|
||||
end: Date;
|
||||
};
|
||||
userId: UserId;
|
||||
projectId: ProjectId;
|
||||
activityId: ActivityId;
|
||||
} & BaseEntity;
|
||||
|
||||
export const mapTimeEntryDtoToTimeEntry = (dto: TimeEntryDto): TimeEntry => ({
|
||||
...dto,
|
||||
start: new Date(dto.start),
|
||||
end: new Date(dto.end),
|
||||
userId: dto.userId.toString() as UserId,
|
||||
projectId: dto.projectId.toString() as ProjectId,
|
||||
activityId: dto.activityId.toString() as ActivityId,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type TimeEntryCreate = Omit<TimeEntryCreateDto, "start" | "end"> & {
|
||||
|
@ -1,10 +1,14 @@
|
||||
import { BaseEntity } from "./base";
|
||||
import { UserDto, UserCreateDto, UserUpdateDto } from "./dto";
|
||||
import { UserId } from "./value-ids";
|
||||
|
||||
export type User = Omit<UserDto & BaseEntity, never>;
|
||||
export type User = Omit<UserDto, "createdAt" | "updatedAt" | "lastEditorID"> & BaseEntity;
|
||||
|
||||
export const mapUserDtoToUser = (dto: UserDto): User => ({
|
||||
...dto,
|
||||
createdAt: new Date(dto.createdAt),
|
||||
updatedAt: new Date(dto.updatedAt),
|
||||
lastEditorID: dto.lastEditorID as UserId,
|
||||
});
|
||||
|
||||
export type UserCreate = Omit<UserCreateDto, never>;
|
||||
|
@ -6,4 +6,5 @@ export type TimeEntryId = ValueId<"TimeEntryId">;
|
||||
export type CompanyId = ValueId<"CompanyId">;
|
||||
export type UserId = ValueId<"UserId">;
|
||||
export type RoleId = ValueId<"RoleId">;
|
||||
export type PermissionId = ValueId<"PermissionId">;
|
||||
export type PermissionId = ValueId<"PermissionId">;
|
||||
export type ActivityId = ValueId<"ActivityId">;
|
||||
|
Loading…
x
Reference in New Issue
Block a user