feat: Add create and update DTOs for Company, Customer, Project, Activity, User, and TimeEntry entities
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import { ActivityDto, ActivityCreateDto, ActivityUpdateDto } from "./dto";
|
||||
|
||||
export type Activity = ActivityDto;
|
||||
|
||||
export const mapActivityDtoToActivity = (dto: ActivityDto): Activity => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type ActivityCreate = ActivityCreateDto;
|
||||
|
||||
export const mapActivityCreateDtoToActivityCreate = (dto: ActivityCreateDto): ActivityCreate => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type ActivityUpdate = ActivityUpdateDto;
|
||||
|
||||
export const mapActivityUpdateDtoToActivityUpdate = (dto: ActivityUpdateDto): ActivityUpdate => ({
|
||||
...dto,
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { CompanyDto, CompanyCreateDto, CompanyUpdateDto } from "./dto";
|
||||
|
||||
export type Company = CompanyDto;
|
||||
|
||||
export const mapCompanyDtoToCompany = (dto: CompanyDto): Company => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type CompanyCreate = CompanyCreateDto;
|
||||
|
||||
export const mapCompanyCreateDtoToCompanyCreate = (dto: CompanyCreateDto): CompanyCreate => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type CompanyUpdate = CompanyUpdateDto;
|
||||
|
||||
export const mapCompanyUpdateDtoToCompanyUpdate = (dto: CompanyUpdateDto): CompanyUpdate => ({
|
||||
...dto,
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { CustomerDto, CustomerCreateDto, CustomerUpdateDto } from "./dto";
|
||||
|
||||
export type Customer = CustomerDto;
|
||||
|
||||
export const mapCustomerDtoToCustomer = (dto: CustomerDto): Customer => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type CustomerCreate = CustomerCreateDto;
|
||||
|
||||
export const mapCustomerCreateDtoToCustomerCreate = (dto: CustomerCreateDto): CustomerCreate => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type CustomerUpdate = CustomerUpdateDto;
|
||||
|
||||
export const mapCustomerUpdateDtoToCustomerUpdate = (dto: CustomerUpdateDto): CustomerUpdate => ({
|
||||
...dto,
|
||||
});
|
||||
@@ -0,0 +1,130 @@
|
||||
// Code generated by tygo. DO NOT EDIT.
|
||||
|
||||
//////////
|
||||
// source: activity_dto.go
|
||||
|
||||
export interface ActivityDto {
|
||||
id: string;
|
||||
name: string;
|
||||
billingRate: number /* float64 */;
|
||||
}
|
||||
export interface ActivityCreateDto {
|
||||
name: string;
|
||||
billingRate: number /* float64 */;
|
||||
}
|
||||
export interface ActivityUpdateDto {
|
||||
id: string;
|
||||
name?: string;
|
||||
billingRate?: number /* float64 */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: company_dto.go
|
||||
|
||||
export interface CompanyDto {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
export interface CompanyCreateDto {
|
||||
name: string;
|
||||
}
|
||||
export interface CompanyUpdateDto {
|
||||
id: string;
|
||||
name?: string;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: customer_dto.go
|
||||
|
||||
export interface CustomerDto {
|
||||
id: string;
|
||||
name: string;
|
||||
companyId: number /* int */;
|
||||
}
|
||||
export interface CustomerCreateDto {
|
||||
name: string;
|
||||
companyId: number /* int */;
|
||||
}
|
||||
export interface CustomerUpdateDto {
|
||||
id: string;
|
||||
name?: string;
|
||||
companyId?: number /* int */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: project_dto.go
|
||||
|
||||
export interface ProjectDto {
|
||||
id: string;
|
||||
name: string;
|
||||
customerId: number /* int */;
|
||||
}
|
||||
export interface ProjectCreateDto {
|
||||
name: string;
|
||||
customerId: number /* int */;
|
||||
}
|
||||
export interface ProjectUpdateDto {
|
||||
id: string;
|
||||
name?: string;
|
||||
customerId?: number /* int */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: timeentry_dto.go
|
||||
|
||||
export interface TimeEntryDto {
|
||||
id: string;
|
||||
userId: number /* int */;
|
||||
projectId: number /* int */;
|
||||
activityId: number /* int */;
|
||||
start: string;
|
||||
end: string;
|
||||
description: string;
|
||||
billable: number /* int */; // Percentage (0-100)
|
||||
}
|
||||
export interface TimeEntryCreateDto {
|
||||
userId: number /* int */;
|
||||
projectId: number /* int */;
|
||||
activityId: number /* int */;
|
||||
start: string;
|
||||
end: string;
|
||||
description: string;
|
||||
billable: number /* int */; // Percentage (0-100)
|
||||
}
|
||||
export interface TimeEntryUpdateDto {
|
||||
id: string;
|
||||
userId?: number /* int */;
|
||||
projectId?: number /* int */;
|
||||
activityId?: number /* int */;
|
||||
start?: string;
|
||||
end?: string;
|
||||
description?: string;
|
||||
billable?: number /* int */; // Percentage (0-100)
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: user_dto.go
|
||||
|
||||
export interface UserDto {
|
||||
id: string;
|
||||
username: string;
|
||||
password: string; // Note: In a real application, you would NEVER send the password in a DTO. This is just for demonstration.
|
||||
role: string;
|
||||
companyId: number /* int */;
|
||||
hourlyRate: number /* float64 */;
|
||||
}
|
||||
export interface UserCreateDto {
|
||||
username: string;
|
||||
password: string; // Note: In a real application, you would NEVER send the password in a DTO. This is just for demonstration.
|
||||
role: string;
|
||||
companyId: number /* int */;
|
||||
hourlyRate: number /* float64 */;
|
||||
}
|
||||
export interface UserUpdateDto {
|
||||
id: string;
|
||||
username?: string;
|
||||
password?: string; // Note: In a real application, you would NEVER send the password in a DTO. This is just for demonstration.
|
||||
role?: string;
|
||||
companyId?: number /* int */;
|
||||
hourlyRate?: number /* float64 */;
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
// Code generated by tygo. DO NOT EDIT.
|
||||
|
||||
//////////
|
||||
// source: activity_dto.go
|
||||
|
||||
export interface ActivityDto {
|
||||
id: string;
|
||||
name: string;
|
||||
billingRate: number /* float64 */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: company_dto.go
|
||||
|
||||
export interface CompanyDto {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: customer_dto.go
|
||||
|
||||
export interface CustomerDto {
|
||||
id: string;
|
||||
name: string;
|
||||
companyId: number /* int */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: project_dto.go
|
||||
|
||||
export interface ProjectDto {
|
||||
id: string;
|
||||
name: string;
|
||||
customerId: number /* int */;
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: timeentry_dto.go
|
||||
|
||||
export interface TimeEntryDto {
|
||||
id: string;
|
||||
userId: number /* int */;
|
||||
projectId: number /* int */;
|
||||
activityId: number /* int */;
|
||||
start: string;
|
||||
end: string;
|
||||
description: string;
|
||||
billable: number /* int */; // Percentage (0-100)
|
||||
}
|
||||
|
||||
//////////
|
||||
// source: user_dto.go
|
||||
|
||||
export interface UserDto {
|
||||
id: string;
|
||||
username: string;
|
||||
password: string; // Note: In a real application, you would NEVER send the password in a DTO. This is just for demonstration.
|
||||
role: string;
|
||||
companyId: number /* int */;
|
||||
hourlyRate: number /* float64 */;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import { ProjectDto, ProjectCreateDto, ProjectUpdateDto } from "./dto";
|
||||
|
||||
export type Project = ProjectDto;
|
||||
|
||||
export const mapProjectDtoToProject = (dto: ProjectDto): Project => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type ProjectCreate = ProjectCreateDto;
|
||||
|
||||
export const mapProjectCreateDtoToProjectCreate = (dto: ProjectCreateDto): ProjectCreate => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type ProjectUpdate = ProjectUpdateDto;
|
||||
|
||||
export const mapProjectUpdateDtoToProjectUpdate = (dto: ProjectUpdateDto): ProjectUpdate => ({
|
||||
...dto,
|
||||
});
|
||||
@@ -0,0 +1,34 @@
|
||||
import { TimeEntryDto, TimeEntryCreateDto, TimeEntryUpdateDto } from "./dto";
|
||||
|
||||
export type TimeEntry = Omit<TimeEntryDto, "start" | "end"> & {
|
||||
start: Date;
|
||||
end: Date;
|
||||
};
|
||||
|
||||
export const mapTimeEntryDtoToTimeEntry = (dto: TimeEntryDto): TimeEntry => ({
|
||||
...dto,
|
||||
start: new Date(dto.start),
|
||||
end: new Date(dto.end),
|
||||
});
|
||||
|
||||
export type TimeEntryCreate = Omit<TimeEntryCreateDto, "start" | "end"> & {
|
||||
start: Date;
|
||||
end: Date;
|
||||
};
|
||||
|
||||
export const mapTimeEntryCreateDtoToTimeEntryCreate = (dto: TimeEntryCreateDto): TimeEntryCreate => ({
|
||||
...dto,
|
||||
start: new Date(dto.start),
|
||||
end: new Date(dto.end),
|
||||
});
|
||||
|
||||
export type TimeEntryUpdate = Omit<TimeEntryUpdateDto, "start" | "end"> & {
|
||||
start?: Date;
|
||||
end?: Date;
|
||||
};
|
||||
|
||||
export const mapTimeEntryUpdateDtoToTimeEntryUpdate = (dto: TimeEntryUpdateDto): TimeEntryUpdate => ({
|
||||
...dto,
|
||||
start: dto.start ? new Date(dto.start) : undefined,
|
||||
end: dto.end ? new Date(dto.end) : undefined,
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
import { UserDto, UserCreateDto, UserUpdateDto } from "./dto";
|
||||
|
||||
export type User = Omit<UserDto, never>;
|
||||
|
||||
export const mapUserDtoToUser = (dto: UserDto): User => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type UserCreate = Omit<UserCreateDto, never>;
|
||||
|
||||
export const mapUserCreateDtoToUserCreate = (dto: UserCreateDto): UserCreate => ({
|
||||
...dto,
|
||||
});
|
||||
|
||||
export type UserUpdate = Omit<UserUpdateDto, never>;
|
||||
|
||||
export const mapUserUpdateDtoToUserUpdate = (dto: UserUpdateDto): UserUpdate => ({
|
||||
...dto,
|
||||
});
|
||||
Reference in New Issue
Block a user