ducky-dash/db/query.go

68 lines
1.5 KiB
Go

package db
import (
"context"
"git.duckylabs.xyz/duckbox/ducky-dash/models"
"github.com/google/uuid"
)
func UpdateAccount(account *models.Account) error {
_, err := Bun.NewUpdate().
Model(account).
WherePK().
Exec(context.Background())
return err
}
func GetAccountByUserID(userID uuid.UUID) (models.Account, error) {
var account models.Account
err := Bun.NewSelect().
Model(&account).
Where("user_id = ?", userID).
Scan(context.Background())
return account, err
}
func GetAllAccounts() ([]models.Account, error) {
var accounts []models.Account
err := Bun.NewSelect().
Model(&accounts).
Scan(context.Background())
return accounts, err
}
func GetAccountByID(id uuid.UUID) (models.Account, error) {
var account models.Account
err := Bun.NewSelect().
Model(&account).
Where("user_id = ?", id).
Scan(context.Background())
return account, err
}
func GetUserTasks(account models.AuthenticatedUser) ([]models.Task, error) {
var tasks []models.Task
err := Bun.NewSelect().
Model(&tasks).
Where("author_id = ? OR assignee = ?", account.UserID, account.UserID).
Order("created_at DESC").
Scan(context.Background())
return tasks, err
}
func CreateAccount(account *models.Account) error {
_, err := Bun.NewInsert().
Model(account).
Exec(context.Background())
return err
}
func CreateTask(task *models.Task) error {
_, err := Bun.NewInsert().
Model(task).
Exec(context.Background())
return err
}