summaryrefslogtreecommitdiff
path: root/internal/typeutils
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils')
-rw-r--r--internal/typeutils/converter.go4
-rw-r--r--internal/typeutils/internaltofrontend.go37
2 files changed, 24 insertions, 17 deletions
diff --git a/internal/typeutils/converter.go b/internal/typeutils/converter.go
index 774b68157..af77734cc 100644
--- a/internal/typeutils/converter.go
+++ b/internal/typeutils/converter.go
@@ -91,8 +91,8 @@ type TypeConverter interface {
RelationshipToAPIRelationship(ctx context.Context, r *gtsmodel.Relationship) (*apimodel.Relationship, error)
// NotificationToAPINotification converts a gts notification into a api notification
NotificationToAPINotification(ctx context.Context, n *gtsmodel.Notification) (*apimodel.Notification, error)
- // DomainBlockToAPIDomainBlock converts a gts model domin block into a api domain block, for serving at /api/v1/admin/domain_blocks
- DomainBlockToAPIDomainBlock(ctx context.Context, b *gtsmodel.DomainBlock, export bool) (*apimodel.DomainBlock, error)
+ // DomainPermToAPIDomainPerm converts a gts model domin block or allow into an api domain permission.
+ DomainPermToAPIDomainPerm(ctx context.Context, d gtsmodel.DomainPermission, export bool) (*apimodel.DomainPermission, error)
// ReportToAPIReport converts a gts model report into an api model report, for serving at /api/v1/reports
ReportToAPIReport(ctx context.Context, r *gtsmodel.Report) (*apimodel.Report, error)
// ReportToAdminAPIReport converts a gts model report into an admin view report, for serving at /api/v1/admin/reports
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index 050997bda..11838e2bd 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -1041,32 +1041,39 @@ func (c *converter) NotificationToAPINotification(ctx context.Context, n *gtsmod
}, nil
}
-func (c *converter) DomainBlockToAPIDomainBlock(ctx context.Context, b *gtsmodel.DomainBlock, export bool) (*apimodel.DomainBlock, error) {
+func (c *converter) DomainPermToAPIDomainPerm(
+ ctx context.Context,
+ d gtsmodel.DomainPermission,
+ export bool,
+) (*apimodel.DomainPermission, error) {
// Domain may be in Punycode,
// de-punify it just in case.
- d, err := util.DePunify(b.Domain)
+ domain, err := util.DePunify(d.GetDomain())
if err != nil {
- return nil, fmt.Errorf("DomainBlockToAPIDomainBlock: error de-punifying domain %s: %w", b.Domain, err)
+ return nil, gtserror.Newf("error de-punifying domain %s: %w", d.GetDomain(), err)
}
- domainBlock := &apimodel.DomainBlock{
+ domainPerm := &apimodel.DomainPermission{
Domain: apimodel.Domain{
- Domain: d,
- PublicComment: b.PublicComment,
+ Domain: domain,
+ PublicComment: d.GetPublicComment(),
},
}
- // if we're exporting a domain block, return it with minimal information attached
- if !export {
- domainBlock.ID = b.ID
- domainBlock.Obfuscate = *b.Obfuscate
- domainBlock.PrivateComment = b.PrivateComment
- domainBlock.SubscriptionID = b.SubscriptionID
- domainBlock.CreatedBy = b.CreatedByAccountID
- domainBlock.CreatedAt = util.FormatISO8601(b.CreatedAt)
+ // If we're exporting, provide
+ // only bare minimum detail.
+ if export {
+ return domainPerm, nil
}
- return domainBlock, nil
+ domainPerm.ID = d.GetID()
+ domainPerm.Obfuscate = *d.GetObfuscate()
+ domainPerm.PrivateComment = d.GetPrivateComment()
+ domainPerm.SubscriptionID = d.GetSubscriptionID()
+ domainPerm.CreatedBy = d.GetCreatedByAccountID()
+ domainPerm.CreatedAt = util.FormatISO8601(d.GetCreatedAt())
+
+ return domainPerm, nil
}
func (c *converter) ReportToAPIReport(ctx context.Context, r *gtsmodel.Report) (*apimodel.Report, error) {