package dto import ( "time" "github.com/timetracker/backend/internal/types" ) type UserDto 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"` Email string `json:"email" example:"test@example.com"` Role string `json:"role" example:"admin"` CompanyID *string `json:"companyId,omitempty" example:"01HGW2BBG0000000000000000"` HourlyRate float64 `json:"hourlyRate" example:"50.00"` } type UserCreateDto struct { Email string `json:"email" example:"test@example.com"` Password string `json:"password" example:"password123"` Role string `json:"role" example:"admin"` CompanyID *string `json:"companyId" example:"01HGW2BBG0000000000000000"` HourlyRate float64 `json:"hourlyRate" example:"50.00"` } type UserUpdateDto struct { 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"` Email *string `json:"email" example:"test@example.com"` Password *string `json:"password" example:"password123"` Role *string `json:"role" example:"admin"` CompanyID types.Nullable[string] `json:"companyId" example:"01HGW2BBG0000000000000000"` HourlyRate *float64 `json:"hourlyRate" example:"50.00"` }