test-todo-api-golang/repositories/todo_repository.go

41 lines
1.1 KiB
Go
Raw Normal View History

2024-06-11 10:26:29 +00:00
package repositories
import (
"todolist/config"
"todolist/domain"
)
// CreateTodoRepository создает новую задачу в базе данных.
func CreateTodoRepository(todo *domain.Todo) error {
db := config.GetDB()
return db.Create(todo).Error
}
// GetTodosRepository возвращает все задачи из базы данных.
func GetTodosRepository() ([]domain.Todo, error) {
var todos []domain.Todo
db := config.GetDB()
err := db.Find(&todos).Error
return todos, err
}
// GetTodoByIDRepository возвращает задачу по ее ID.
func GetTodoByIDRepository(id uint) (*domain.Todo, error) {
var todo domain.Todo
db := config.GetDB()
err := db.First(&todo, id).Error
return &todo, err
}
// UpdateTodoRepository обновляет информацию о задаче в базе данных.
func UpdateTodoRepository(todo *domain.Todo) error {
db := config.GetDB()
return db.Save(todo).Error
}
// DeleteTodoRepository удаляет задачу из базы данных.
func DeleteTodoRepository(id uint) error {
db := config.GetDB()
return db.Delete(&domain.Todo{}, id).Error
}