summaryrefslogtreecommitdiff
path: root/internal/typeutils
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-07-05 13:23:03 +0200
committerLibravatar GitHub <noreply@github.com>2021-07-05 13:23:03 +0200
commitd389e7b150df6ecd215c7b661b294ea153ad0103 (patch)
tree8739e3103cb5130875d903cc7fc72fd9db3b8434 /internal/typeutils
parentFix 404 contact (#74) (diff)
downloadgotosocial-d389e7b150df6ecd215c7b661b294ea153ad0103.tar.xz
Domain block (#76)
* start work on admin domain blocking * move stuff around + further work on domain blocks * move + restructure processor * prep work for deleting account * tidy * go fmt * formatting * domain blocking more work * check domain blocks way earlier on * progress on delete account * delete more stuff when an account is gone * and more... * domain blocky block block * get individual domain block, delete a block
Diffstat (limited to 'internal/typeutils')
-rw-r--r--internal/typeutils/converter.go2
-rw-r--r--internal/typeutils/internaltofrontend.go20
2 files changed, 22 insertions, 0 deletions
diff --git a/internal/typeutils/converter.go b/internal/typeutils/converter.go
index 80a922635..30c1c7d2c 100644
--- a/internal/typeutils/converter.go
+++ b/internal/typeutils/converter.go
@@ -76,6 +76,8 @@ type TypeConverter interface {
RelationshipToMasto(r *gtsmodel.Relationship) (*model.Relationship, error)
// NotificationToMasto converts a gts notification into a mastodon notification
NotificationToMasto(n *gtsmodel.Notification) (*model.Notification, error)
+ // DomainBlockTomasto converts a gts model domin block into a mastodon domain block, for serving at /api/v1/admin/domain_blocks
+ DomainBlockToMasto(b *gtsmodel.DomainBlock, export bool) (*model.DomainBlock, error)
/*
FRONTEND (mastodon) MODEL TO INTERNAL (gts) MODEL
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index c2f00c77d..61c11b8ef 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -644,3 +644,23 @@ func (c *converter) NotificationToMasto(n *gtsmodel.Notification) (*model.Notifi
Status: mastoStatus,
}, nil
}
+
+func (c *converter) DomainBlockToMasto(b *gtsmodel.DomainBlock, export bool) (*model.DomainBlock, error) {
+
+ domainBlock := &model.DomainBlock{
+ Domain: b.Domain,
+ PublicComment: b.PublicComment,
+ }
+
+ // 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 = b.CreatedAt.Format(time.RFC3339)
+ }
+
+ return domainBlock, nil
+}