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

45 lines
1.1 KiB
Go

package db
import (
"context"
imcdb "git.workaround.org/chaas/imc/backend/internal/db/sqlc"
)
func (d *DB) GetAllDomains(ctx context.Context) ([]imcdb.VirtualDomain, error) {
return d.Queries.GetAllDomains(ctx)
}
func (d *DB) GetDomainByID(ctx context.Context, id uint32) (imcdb.VirtualDomain, error) {
return d.Queries.GetDomainByID(ctx, id)
}
func (d *DB) GetDomainByName(ctx context.Context, name string) (imcdb.VirtualDomain, error) {
return d.Queries.GetDomainByName(ctx, name)
}
func (d *DB) CreateDomain(ctx context.Context, name string) error {
return d.Queries.CreateDomain(ctx, name)
}
func (d *DB) DeleteDomain(ctx context.Context, id uint32) error {
return d.Queries.DeleteDomain(ctx, id)
}
func (d *DB) GetAllDomainsWithCounts(ctx context.Context) ([]DomainStats, error) {
results, err := d.Queries.GetAllDomainsWithCounts(ctx)
if err != nil {
return nil, err
}
stats := make([]DomainStats, len(results))
for i, r := range results {
stats[i] = DomainStats{
ID: r.ID,
Name: r.Name,
UserCount: r.UserCount,
AliasCount: r.AliasCount,
}
}
return stats, nil
}