74 lines
1.5 KiB
Go

package main
import "time"
type User struct {
ID int `json:"id"`
Name string `json:"name"`
}
type UserWithAllowance struct {
ID int `json:"id"`
Name string `json:"name"`
Allowance float64 `json:"allowance"`
}
type History struct {
Allowance float64 `json:"allowance"`
Timestamp time.Time `json:"timestamp"`
}
type PostHistory struct {
Allowance float64 `json:"allowance"`
}
// Task represents a task in the system.
type Task struct {
ID int `json:"id"`
Name string `json:"name"`
Reward float64 `json:"reward"`
Assigned *int `json:"assigned"` // Pointer to allow null
}
type Allowance struct {
ID int `json:"id"`
Name string `json:"name"`
Target float64 `json:"target"`
Progress float64 `json:"progress"`
Weight float64 `json:"weight"`
Colour string `json:"colour"`
}
type CreateAllowanceRequest struct {
Name string `json:"name"`
Target float64 `json:"target"`
Weight float64 `json:"weight"`
Colour string `json:"colour"`
}
type UpdateAllowanceRequest struct {
Name string `json:"name"`
Target float64 `json:"target"`
Weight float64 `json:"weight"`
Colour string `json:"colour"`
}
type BulkUpdateAllowanceRequest struct {
ID int `json:"id"`
Weight float64 `json:"weight"`
}
type CreateGoalResponse struct {
ID int `json:"id"`
}
type CreateTaskRequest struct {
Name string `json:"name" binding:"required"`
Reward float64 `json:"reward"`
Assigned *int `json:"assigned"`
}
type CreateTaskResponse struct {
ID int `json:"id"`
}