45 lines
1.1 KiB
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
|
|
}
|