imc-vibe/backend/internal/db/virtual_users.go

54 lines
1.5 KiB
Go

package db
import (
"context"
"database/sql"
imcdb "git.workaround.org/chaas/imc/backend/internal/db/sqlc"
)
func (d *DB) GetAllMailUsers(ctx context.Context) ([]imcdb.VirtualUser, error) {
return d.Queries.GetAllMailUsers(ctx)
}
func (d *DB) GetUsersByDomain(ctx context.Context, domainID uint32) ([]imcdb.VirtualUser, error) {
return d.Queries.GetUsersByDomain(ctx, domainID)
}
func (d *DB) GetUserByID(ctx context.Context, id uint32) (imcdb.VirtualUser, error) {
return d.Queries.GetUserByID(ctx, id)
}
func (d *DB) GetUserByEmail(ctx context.Context, email string) (imcdb.VirtualUser, error) {
return d.Queries.GetUserByEmail(ctx, email)
}
func (d *DB) CreateUser(ctx context.Context, domainID uint32, email, passwordHash string, quota int64) error {
quotaNull := sql.NullInt64{Int64: quota, Valid: quota > 0}
return d.Queries.CreateUser(ctx, imcdb.CreateUserParams{
DomainID: domainID,
Email: email,
Password: passwordHash,
Quota: quotaNull,
})
}
func (d *DB) UpdateUserPassword(ctx context.Context, id uint32, passwordHash string) error {
return d.Queries.UpdateUserPassword(ctx, imcdb.UpdateUserPasswordParams{
Password: passwordHash,
ID: id,
})
}
func (d *DB) UpdateUserQuota(ctx context.Context, id uint32, quota int64) error {
quotaNull := sql.NullInt64{Int64: quota, Valid: quota > 0}
return d.Queries.UpdateUserQuota(ctx, imcdb.UpdateUserQuotaParams{
Quota: quotaNull,
ID: id,
})
}
func (d *DB) DeleteUser(ctx context.Context, id uint32) error {
return d.Queries.DeleteUser(ctx, id)
}