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