package common import ( "encoding/json" "fmt" ) func (todo Todo) Store(store *BoltStore, user string) error { if todo.Owner != user { return fmt.Errorf("unauthorized user") } todoJson, err := json.Marshal(todo) if err != nil { return err } return store.SaveValueToBucket(user, todo.Name, string(todoJson)) } func (todoRequest StoreTodoRequest) Store(store *BoltStore, user string) error { todo := Todo{ Name: todoRequest.Name, Description: todoRequest.Description, Status: todoRequest.Status, Owner: user, } todoJson, err := json.Marshal(todo) if err != nil { return err } return store.SaveValueToBucket(user, todo.Name, string(todoJson)) } func (todos TodoList) FindByName(name string) (Todo, bool) { for _, todo := range todos.Todos { if todo.Name == name { return todo, true } } return Todo{}, false }