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
|
|||
|
}
|