diff options
Diffstat (limited to 'internal/db/bundb/domain.go')
-rw-r--r-- | internal/db/bundb/domain.go | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/internal/db/bundb/domain.go b/internal/db/bundb/domain.go index 5c92645de..2e8ce2a6b 100644 --- a/internal/db/bundb/domain.go +++ b/internal/db/bundb/domain.go @@ -42,7 +42,7 @@ func (d *domainDB) CreateDomainBlock(ctx context.Context, block *gtsmodel.Domain return err } - // Attempt to store domain in DB + // Attempt to store domain block in DB if _, err := d.conn.NewInsert(). Model(block). Exec(ctx); err != nil { @@ -82,6 +82,33 @@ func (d *domainDB) GetDomainBlock(ctx context.Context, domain string) (*gtsmodel return &block, nil } +func (d *domainDB) GetDomainBlocks(ctx context.Context) ([]*gtsmodel.DomainBlock, error) { + blocks := []*gtsmodel.DomainBlock{} + + if err := d.conn. + NewSelect(). + Model(&blocks). + Scan(ctx); err != nil { + return nil, d.conn.ProcessError(err) + } + + return blocks, nil +} + +func (d *domainDB) GetDomainBlockByID(ctx context.Context, id string) (*gtsmodel.DomainBlock, db.Error) { + var block gtsmodel.DomainBlock + + q := d.conn. + NewSelect(). + Model(&block). + Where("? = ?", bun.Ident("domain_block.id"), id) + if err := q.Scan(ctx); err != nil { + return nil, d.conn.ProcessError(err) + } + + return &block, nil +} + func (d *domainDB) DeleteDomainBlock(ctx context.Context, domain string) db.Error { // Normalize the domain as punycode domain, err := util.Punify(domain) |