package main import ( "database/sql" "fmt" "log" "gitea.michaelthomson.dev/mthomson/habits/internal/migrate" todosqliterepository "gitea.michaelthomson.dev/mthomson/habits/internal/todo/repository/sqlite" todoservice "gitea.michaelthomson.dev/mthomson/habits/internal/todo/service" _ "github.com/mattn/go-sqlite3" ) func main() { // create db pool db, err := sql.Open("sqlite3", "./habits.db") if err != nil { log.Fatal("Failed to open db pool") } defer db.Close() // run migrations migrate.Migrate(db); // create repos todoRepository := todosqliterepository.NewSqliteTodoRepository(db) // create services todoService := todoservice.NewTodoService(&todoRepository) // create todo todo := todoservice.NewTodo("clean dishes", false) newTodo, err := todoService.CreateTodo(todo) if err != nil { log.Fatal(err) } fmt.Printf("ID of created todo: %d\n", newTodo.Id) }