41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
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
|
||
}
|