diff options
author | 2022-06-23 16:54:54 +0200 | |
---|---|---|
committer | 2022-06-23 16:54:54 +0200 | |
commit | 5f00d4980bdc55bce8d23e38392b345d525dbf4a (patch) | |
tree | 5300f3bbe38d7fcbf5ba07eda2c8c2142c573040 /internal/api/model | |
parent | [bugfix] Don't remove jpeg orientation metadata (#663) (diff) | |
download | gotosocial-5f00d4980bdc55bce8d23e38392b345d525dbf4a.tar.xz |
[feature] Implement `/api/v1/instance/peers` endpoint (#660)
* add missing license headers
* start adding instance peers get
* rename domainblock.go
* embed domain in domainblock so it can be reused
* update swagger docs
* add test instances to db
* update tests
* add/update instancepeersget
* update domain model
* add getinstancepeers to db
* instance-expose-peers, instance-expose-suspended
* add auth checks for both current filters
* attach endpoint to router
* include public comment
* obfuscate domain if required
* go mod tidy
* update swagger docs
* remove unnecessary comment
* return 'flat' peerlist if no query params provided
Diffstat (limited to 'internal/api/model')
-rw-r--r-- | internal/api/model/domain.go (renamed from internal/api/model/domainblock.go) | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/internal/api/model/domainblock.go b/internal/api/model/domain.go index 2911dfbaa..90c08fa6f 100644 --- a/internal/api/model/domainblock.go +++ b/internal/api/model/domain.go @@ -20,17 +20,33 @@ package model import "mime/multipart" +// Domain represents a remote domain +// +// swagger:model domain +type Domain struct { + // The hostname of the domain. + // example: example.org + Domain string `form:"domain" json:"domain" validate:"required"` + // Time at which this domain was suspended. Key will not be present on open domains. + // example: 2021-07-30T09:20:25+00:00 + SuspendedAt string `json:"suspended_at,omitempty"` + // Time at which this domain was silenced. Key will not be present on open domains. + // example: 2021-07-30T09:20:25+00:00 + SilencedAt string `json:"silenced_at,omitempty"` + // If the domain is blocked, what's the publicly-stated reason for the block. + // example: they smell + PublicComment string `form:"public_comment" json:"public_comment,omitempty"` +} + // DomainBlock represents a block on one domain // // swagger:model domainBlock type DomainBlock struct { + Domain // The ID of the domain block. // example: 01FBW21XJA09XYX51KV5JVBW0F // readonly: true ID string `json:"id,omitempty"` - // The hostname of the blocked domain. - // example: example.org - Domain string `form:"domain" json:"domain" validation:"required"` // Obfuscate the domain name when serving this domain block publicly. // A useful anti-harassment tool. // example: false @@ -38,9 +54,6 @@ type DomainBlock struct { // Private comment for this block, visible to our instance admins only. // example: they are poopoo PrivateComment string `json:"private_comment,omitempty"` - // Public comment for this block, visible if domain blocks are served publicly. - // example: they smell - PublicComment string `form:"public_comment" json:"public_comment,omitempty"` // The ID of the subscription that created/caused this domain block. // example: 01FBW25TF5J67JW3HFHZCSD23K SubscriptionID string `json:"subscription_id,omitempty"` |