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) } // SaveAction saves and updates an action. func (m *Model) SaveAction(action *Action) error { return m.UpdateAction(action) }