package main

import (
	"errors"
	"fmt"
)

type Todo struct {
	Title   string
	Content string
}

type Todos struct {
	Items []Todo
}

func (todo *Todos) AddTodo(newTodo Todo) {
	todo.Items = append(todo.Items, newTodo)
}

func (todo *Todos) RemoveTodo(index int) (err error) {
	//remove todo via index
	if len(todo.Items) == 0 {
		return errors.New("[ERR] Todo list is empty!\n")
	}

	if index > len(todo.Items) {
		return errors.New("[ERR] Index out of bounds\n")
	}

	todo.Items = append(todo.Items[:index], todo.Items[index+1:]...)
	return nil
}

func (todo *Todos) ListTodo() int {
	if len(todo.Items) == 0 {
		return 0
	}
	for k, v := range todo.Items {
		fmt.Printf("%d:%s\n", k, v)
	}
	return 1
}
