68 lines
1.5 KiB
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
|
|
}
|