34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// Action represents a single action item.
|
|
type Action struct {
|
|
ActionID int64 `json:"action_id"`
|
|
ActionDescription string `json:"action_description"`
|
|
EstimatedChunks int `json:"estimated_chunks"`
|
|
CompletedChunks int `json:"completed_chunks"`
|
|
CompletedOn *time.Time `json:"completed_on,omitempty"`
|
|
PlanID int `json:"plan_id"`
|
|
CreatedAt *time.Time `json:"created_at,omitempty"`
|
|
UpdatedAt *time.Time `json:"updated_at,omitempty"`
|
|
}
|
|
|
|
// Actions returns all actions from the model.
|
|
func (m *Model) Actions() ([]*Action, error) {
|
|
return m.SelectActions()
|
|
}
|
|
|
|
// Action returns a single action from its ID
|
|
func (m *Model) Action(id int) (*Action, error) {
|
|
act, err := m.SelectActionByID(id)
|
|
return act, wrapNotFound(err)
|
|
}
|
|
|
|
// AddAction inserts a given action into the store, returning the generated ActionID. The provided ActionID is ignored.
|
|
func (m *Model) AddAction(action *Action) (int, error) {
|
|
return m.InsertAction(action)
|
|
}
|