46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/oklog/ulid/v2"
|
|
)
|
|
|
|
type TimeEntryDto struct {
|
|
ID ulid.ULID `json:"id"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
LastEditorID ulid.ULID `json:"lastEditorID"`
|
|
UserID int `json:"userId"`
|
|
ProjectID int `json:"projectId"`
|
|
ActivityID int `json:"activityId"`
|
|
Start time.Time `json:"start"`
|
|
End time.Time `json:"end"`
|
|
Description string `json:"description"`
|
|
Billable int `json:"billable"` // Percentage (0-100)
|
|
}
|
|
|
|
type TimeEntryCreateDto struct {
|
|
UserID int `json:"userId"`
|
|
ProjectID int `json:"projectId"`
|
|
ActivityID int `json:"activityId"`
|
|
Start time.Time `json:"start"`
|
|
End time.Time `json:"end"`
|
|
Description string `json:"description"`
|
|
Billable int `json:"billable"` // Percentage (0-100)
|
|
}
|
|
|
|
type TimeEntryUpdateDto struct {
|
|
ID ulid.ULID `json:"id"`
|
|
CreatedAt *time.Time `json:"createdAt"`
|
|
UpdatedAt *time.Time `json:"updatedAt"`
|
|
LastEditorID *ulid.ULID `json:"lastEditorID"`
|
|
UserID *int `json:"userId"`
|
|
ProjectID *int `json:"projectId"`
|
|
ActivityID *int `json:"activityId"`
|
|
Start *time.Time `json:"start"`
|
|
End *time.Time `json:"end"`
|
|
Description *string `json:"description"`
|
|
Billable *int `json:"billable"` // Percentage (0-100)
|
|
}
|