feat: Generate TypeScript interfaces for backend entities using Tygo
This commit is contained in:
parent
98d21724ee
commit
56a6f3cfc4
62
backend/internal/interfaces/http/dto/typescript/index.ts
Normal file
62
backend/internal/interfaces/http/dto/typescript/index.ts
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// Code generated by tygo. DO NOT EDIT.
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: activity.go
|
||||||
|
|
||||||
|
export interface Activity {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
BillingRate: number /* float64 */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: company.go
|
||||||
|
|
||||||
|
export interface Company {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: customer.go
|
||||||
|
|
||||||
|
export interface Customer {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
CompanyID: number /* int */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: project.go
|
||||||
|
|
||||||
|
export interface Project {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
CustomerID: number /* int */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: timeentry.go
|
||||||
|
|
||||||
|
export interface TimeEntry {
|
||||||
|
ID: number /* int */;
|
||||||
|
UserID: number /* int */;
|
||||||
|
ProjectID: number /* int */;
|
||||||
|
ActivityID: number /* int */;
|
||||||
|
Start: string;
|
||||||
|
End: string;
|
||||||
|
Description: string;
|
||||||
|
Billable: number /* int */; // Percentage (0-100)
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: user.go
|
||||||
|
|
||||||
|
export interface User {
|
||||||
|
ID: number /* int */;
|
||||||
|
Username: string;
|
||||||
|
Password: string;
|
||||||
|
Role: string;
|
||||||
|
CompanyID: number /* int */;
|
||||||
|
HourlyRate: number /* float64 */;
|
||||||
|
}
|
5
backend/tygo.yml
Normal file
5
backend/tygo.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
packages:
|
||||||
|
- path: github.com/timetracker/backend/internal/domain/entities
|
||||||
|
type_mappings:
|
||||||
|
"time.Time": "string"
|
||||||
|
output_path: ./internal/interfaces/http/dto/typescript
|
62
frontend/src/types/index.ts
Normal file
62
frontend/src/types/index.ts
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// Code generated by tygo. DO NOT EDIT.
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: activity.go
|
||||||
|
|
||||||
|
export interface Activity {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
BillingRate: number /* float64 */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: company.go
|
||||||
|
|
||||||
|
export interface Company {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: customer.go
|
||||||
|
|
||||||
|
export interface Customer {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
CompanyID: number /* int */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: project.go
|
||||||
|
|
||||||
|
export interface Project {
|
||||||
|
ID: number /* int */;
|
||||||
|
Name: string;
|
||||||
|
CustomerID: number /* int */;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: timeentry.go
|
||||||
|
|
||||||
|
export interface TimeEntry {
|
||||||
|
ID: number /* int */;
|
||||||
|
UserID: number /* int */;
|
||||||
|
ProjectID: number /* int */;
|
||||||
|
ActivityID: number /* int */;
|
||||||
|
Start: string;
|
||||||
|
End: string;
|
||||||
|
Description: string;
|
||||||
|
Billable: number /* int */; // Percentage (0-100)
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
// source: user.go
|
||||||
|
|
||||||
|
export interface User {
|
||||||
|
ID: number /* int */;
|
||||||
|
Username: string;
|
||||||
|
Password: string;
|
||||||
|
Role: string;
|
||||||
|
CompanyID: number /* int */;
|
||||||
|
HourlyRate: number /* float64 */;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user