42 lines
2.1 KiB
Go
42 lines
2.1 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type TimeEntryDto struct {
|
|
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
|
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
|
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
|
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
|
UserID string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
|
ProjectID string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
|
ActivityID string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
|
Start time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
|
End time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
|
Description string `json:"description" example:"Working on the Time Tracking App"`
|
|
Billable int `json:"billable" example:"100"` // Percentage (0-100)
|
|
}
|
|
|
|
type TimeEntryCreateDto struct {
|
|
UserID string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
|
ProjectID string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
|
ActivityID string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
|
Start time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
|
End time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
|
Description string `json:"description" example:"Working on the Time Tracking App"`
|
|
Billable int `json:"billable" example:"100"` // Percentage (0-100)
|
|
}
|
|
|
|
type TimeEntryUpdateDto struct {
|
|
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
|
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
|
UserID *string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
|
ProjectID *string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
|
ActivityID *string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
|
Start *time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
|
End *time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
|
Description *string `json:"description" example:"Working on the Time Tracking App"`
|
|
Billable *int `json:"billable" example:"100"` // Percentage (0-100)
|
|
}
|