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 { 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 => ({
|
export const mapActivityDtoToActivity = (dto: ActivityDto): Activity => ({
|
||||||
...dto,
|
...dto,
|
||||||
|
createdAt: new Date(dto.createdAt),
|
||||||
|
updatedAt: new Date(dto.updatedAt),
|
||||||
|
lastEditorID: dto.lastEditorID as UserId,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type ActivityCreate = ActivityCreateDto;
|
export type ActivityCreate = ActivityCreateDto;
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
|
import { BaseEntity } from "./base";
|
||||||
import { CompanyDto, CompanyCreateDto, CompanyUpdateDto } from "./dto";
|
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 => ({
|
export const mapCompanyDtoToCompany = (dto: CompanyDto): Company => ({
|
||||||
...dto,
|
...dto,
|
||||||
|
createdAt: new Date(dto.createdAt),
|
||||||
|
updatedAt: new Date(dto.updatedAt),
|
||||||
|
lastEditorID: dto.lastEditorID as UserId,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type CompanyCreate = CompanyCreateDto;
|
export type CompanyCreate = CompanyCreateDto;
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
|
import { BaseEntity } from "./base";
|
||||||
import { CustomerDto, CustomerCreateDto, CustomerUpdateDto } from "./dto";
|
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 => ({
|
export const mapCustomerDtoToCustomer = (dto: CustomerDto): Customer => ({
|
||||||
...dto,
|
...dto,
|
||||||
|
createdAt: new Date(dto.createdAt),
|
||||||
|
updatedAt: new Date(dto.updatedAt),
|
||||||
|
lastEditorID: dto.lastEditorID as UserId,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type CustomerCreate = CustomerCreateDto;
|
export type CustomerCreate = CustomerCreateDto;
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
|
import { BaseEntity } from "./base";
|
||||||
import { ProjectDto, ProjectCreateDto, ProjectUpdateDto } from "./dto";
|
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 => ({
|
export const mapProjectDtoToProject = (dto: ProjectDto): Project => ({
|
||||||
...dto,
|
...dto,
|
||||||
|
createdAt: new Date(dto.createdAt),
|
||||||
|
updatedAt: new Date(dto.updatedAt),
|
||||||
|
lastEditorID: dto.lastEditorID as UserId,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type ProjectCreate = ProjectCreateDto;
|
export type ProjectCreate = ProjectCreateDto;
|
||||||
|
@ -1,14 +1,25 @@
|
|||||||
|
import { BaseEntity } from "./base";
|
||||||
import { TimeEntryDto, TimeEntryCreateDto, TimeEntryUpdateDto } from "./dto";
|
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;
|
start: Date;
|
||||||
end: Date;
|
end: Date;
|
||||||
};
|
userId: UserId;
|
||||||
|
projectId: ProjectId;
|
||||||
|
activityId: ActivityId;
|
||||||
|
} & BaseEntity;
|
||||||
|
|
||||||
export const mapTimeEntryDtoToTimeEntry = (dto: TimeEntryDto): TimeEntry => ({
|
export const mapTimeEntryDtoToTimeEntry = (dto: TimeEntryDto): TimeEntry => ({
|
||||||
...dto,
|
...dto,
|
||||||
start: new Date(dto.start),
|
start: new Date(dto.start),
|
||||||
end: new Date(dto.end),
|
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"> & {
|
export type TimeEntryCreate = Omit<TimeEntryCreateDto, "start" | "end"> & {
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
import { BaseEntity } from "./base";
|
import { BaseEntity } from "./base";
|
||||||
import { UserDto, UserCreateDto, UserUpdateDto } from "./dto";
|
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 => ({
|
export const mapUserDtoToUser = (dto: UserDto): User => ({
|
||||||
...dto,
|
...dto,
|
||||||
|
createdAt: new Date(dto.createdAt),
|
||||||
|
updatedAt: new Date(dto.updatedAt),
|
||||||
|
lastEditorID: dto.lastEditorID as UserId,
|
||||||
});
|
});
|
||||||
|
|
||||||
export type UserCreate = Omit<UserCreateDto, never>;
|
export type UserCreate = Omit<UserCreateDto, never>;
|
||||||
|
@ -6,4 +6,5 @@ export type TimeEntryId = ValueId<"TimeEntryId">;
|
|||||||
export type CompanyId = ValueId<"CompanyId">;
|
export type CompanyId = ValueId<"CompanyId">;
|
||||||
export type UserId = ValueId<"UserId">;
|
export type UserId = ValueId<"UserId">;
|
||||||
export type RoleId = ValueId<"RoleId">;
|
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