diff --git a/backend/internal/domain/entities/customer.go b/backend/internal/domain/entities/customer.go index c6d6daf..39eb16e 100644 --- a/backend/internal/domain/entities/customer.go +++ b/backend/internal/domain/entities/customer.go @@ -3,7 +3,7 @@ package entities import "github.com/oklog/ulid/v2" type Customer struct { - ID ulid.ULID + EntityBase Name string CompanyID int } diff --git a/backend/internal/domain/entities/project.go b/backend/internal/domain/entities/project.go index 310e16a..76f03aa 100644 --- a/backend/internal/domain/entities/project.go +++ b/backend/internal/domain/entities/project.go @@ -3,7 +3,7 @@ package entities import "github.com/oklog/ulid/v2" type Project struct { - ID ulid.ULID + EntityBase Name string CustomerID int } diff --git a/frontend/src/types/activity.ts b/frontend/src/types/activity.ts index acb506a..48a79ed 100644 --- a/frontend/src/types/activity.ts +++ b/frontend/src/types/activity.ts @@ -1,11 +1,14 @@ import { BaseEntity } from "./base"; import { ActivityDto, ActivityCreateDto, ActivityUpdateDto } from "./dto"; -import { UserId } from "./value-ids"; +import { UserId, ActivityId } from "./value-ids"; -export type Activity = Omit & BaseEntity; +export type Activity = Omit & { + id: ActivityId; +} & BaseEntity; export const mapActivityDtoToActivity = (dto: ActivityDto): Activity => ({ ...dto, + id: dto.id as ActivityId, createdAt: new Date(dto.createdAt), updatedAt: new Date(dto.updatedAt), lastEditorID: dto.lastEditorID as UserId, diff --git a/frontend/src/types/base.ts b/frontend/src/types/base.ts index 5c3af01..d51189b 100644 --- a/frontend/src/types/base.ts +++ b/frontend/src/types/base.ts @@ -1,6 +1,8 @@ +import { UserId } from "./value-ids"; + export type BaseEntity = { createdAt: Date; updatedAt: Date; - lastEditorID: string; + lastEditorID: UserId; }; diff --git a/frontend/src/types/company.ts b/frontend/src/types/company.ts index 5ef59e5..f64f639 100644 --- a/frontend/src/types/company.ts +++ b/frontend/src/types/company.ts @@ -1,11 +1,14 @@ import { BaseEntity } from "./base"; import { CompanyDto, CompanyCreateDto, CompanyUpdateDto } from "./dto"; -import { UserId } from "./value-ids"; +import { UserId, CompanyId } from "./value-ids"; -export type Company = Omit & BaseEntity; +export type Company = Omit & { + id: CompanyId; +} & BaseEntity; export const mapCompanyDtoToCompany = (dto: CompanyDto): Company => ({ ...dto, + id: dto.id as CompanyId, createdAt: new Date(dto.createdAt), updatedAt: new Date(dto.updatedAt), lastEditorID: dto.lastEditorID as UserId, diff --git a/frontend/src/types/customer.ts b/frontend/src/types/customer.ts index 9a2752a..e9a2810 100644 --- a/frontend/src/types/customer.ts +++ b/frontend/src/types/customer.ts @@ -1,11 +1,14 @@ import { BaseEntity } from "./base"; import { CustomerDto, CustomerCreateDto, CustomerUpdateDto } from "./dto"; -import { UserId } from "./value-ids"; +import { UserId, CustomerId } from "./value-ids"; -export type Customer = Omit & BaseEntity; +export type Customer = Omit & { + id: CustomerId; +} & BaseEntity; export const mapCustomerDtoToCustomer = (dto: CustomerDto): Customer => ({ ...dto, + id: dto.id as CustomerId, createdAt: new Date(dto.createdAt), updatedAt: new Date(dto.updatedAt), lastEditorID: dto.lastEditorID as UserId, diff --git a/frontend/src/types/project.ts b/frontend/src/types/project.ts index 75a6cf7..28ab4b8 100644 --- a/frontend/src/types/project.ts +++ b/frontend/src/types/project.ts @@ -1,11 +1,14 @@ import { BaseEntity } from "./base"; import { ProjectDto, ProjectCreateDto, ProjectUpdateDto } from "./dto"; -import { UserId } from "./value-ids"; +import { UserId, ProjectId } from "./value-ids"; -export type Project = Omit & BaseEntity; +export type Project = Omit & { + id: ProjectId; +} & BaseEntity; export const mapProjectDtoToProject = (dto: ProjectDto): Project => ({ ...dto, + id: dto.id as ProjectId, createdAt: new Date(dto.createdAt), updatedAt: new Date(dto.updatedAt), lastEditorID: dto.lastEditorID as UserId, diff --git a/frontend/src/types/timeentry.ts b/frontend/src/types/timeentry.ts index 4fc674f..6231c26 100644 --- a/frontend/src/types/timeentry.ts +++ b/frontend/src/types/timeentry.ts @@ -1,8 +1,9 @@ import { BaseEntity } from "./base"; import { TimeEntryDto, TimeEntryCreateDto, TimeEntryUpdateDto } from "./dto"; -import { UserId, ProjectId, ActivityId } from "./value-ids"; +import { UserId, ProjectId, ActivityId, TimeEntryId } from "./value-ids"; -export type TimeEntry = Omit & { +export type TimeEntry = Omit & { + id: TimeEntryId; start: Date; end: Date; userId: UserId; @@ -12,6 +13,7 @@ export type TimeEntry = Omit ({ ...dto, + id: dto.id as TimeEntryId, start: new Date(dto.start), end: new Date(dto.end), userId: dto.userId.toString() as UserId, diff --git a/frontend/src/types/user.ts b/frontend/src/types/user.ts index 04cd7a8..63a6c68 100644 --- a/frontend/src/types/user.ts +++ b/frontend/src/types/user.ts @@ -2,10 +2,13 @@ import { BaseEntity } from "./base"; import { UserDto, UserCreateDto, UserUpdateDto } from "./dto"; import { UserId } from "./value-ids"; -export type User = Omit & BaseEntity; +export type User = Omit & { + id: UserId; +} & BaseEntity; export const mapUserDtoToUser = (dto: UserDto): User => ({ ...dto, + id: dto.id as UserId, createdAt: new Date(dto.createdAt), updatedAt: new Date(dto.updatedAt), lastEditorID: dto.lastEditorID as UserId,