mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-18 15:39:20 -06:00
tidy up some cruft
This commit is contained in:
parent
22ce924129
commit
65409f224a
1 changed files with 3 additions and 70 deletions
|
|
@ -17,83 +17,16 @@
|
|||
|
||||
package gtsmodel
|
||||
|
||||
// A policy URI is GoToSocial's internal representation of
|
||||
// one ActivityPub URI for an Actor or a Collection of Actors,
|
||||
// specific to the domain of enforcing interaction policies.
|
||||
//
|
||||
// A PolicyValue can be stored in the database either as one
|
||||
// of the Value constants defined below (to save space), OR as
|
||||
// a full-fledged ActivityPub URI.
|
||||
//
|
||||
// A PolicyValue should be translated to the canonical string
|
||||
// value of the represented URI when federating an item, or
|
||||
// from the canonical string value of the URI when receiving
|
||||
// or retrieving an item.
|
||||
//
|
||||
// For example, if the PolicyValue `followers` was being
|
||||
// federated outwards in an interaction policy attached to an
|
||||
// item created by the actor `https://example.org/users/someone`,
|
||||
// then it should be translated to their followers URI when sent,
|
||||
// eg., `https://example.org/users/someone/followers`.
|
||||
//
|
||||
// Likewise, if GoToSocial receives an item with an interaction
|
||||
// policy containing `https://example.org/users/someone/followers`,
|
||||
// and the item was created by `https://example.org/users/someone`,
|
||||
// then the followers URI would be converted to `followers`
|
||||
// for internal storage.
|
||||
type PolicyValue string
|
||||
|
||||
const (
|
||||
// Stand-in for ActivityPub magic public URI,
|
||||
// which encompasses every possible Actor URI.
|
||||
PolicyValuePublic PolicyValue = "public"
|
||||
// Stand-in for the Followers Collection of
|
||||
// the item owner's Actor.
|
||||
PolicyValueFollowers PolicyValue = "followers"
|
||||
// Stand-in for the Following Collection of
|
||||
// the item owner's Actor.
|
||||
PolicyValueFollowing PolicyValue = "following"
|
||||
// Stand-in for the Mutuals Collection of
|
||||
// the item owner's Actor.
|
||||
//
|
||||
// (TODO: Reserved, currently unused).
|
||||
PolicyValueMutuals PolicyValue = "mutuals"
|
||||
// Stand-in for Actor URIs tagged in the item.
|
||||
PolicyValueMentioned PolicyValue = "mentioned"
|
||||
// Stand-in for the Actor URI of the item owner.
|
||||
PolicyValueAuthor PolicyValue = "author"
|
||||
)
|
||||
|
||||
type PolicyValues []PolicyValue
|
||||
|
||||
// An InteractionPolicy determines which
|
||||
// interactions will be accepted for an
|
||||
// item, and according to what rules.
|
||||
type InteractionPolicy struct {
|
||||
// Conditions in which a Like
|
||||
// interaction will be accepted
|
||||
// for an item with this policy.
|
||||
CanLike PolicyRules
|
||||
// Conditions in which a Reply
|
||||
// interaction will be accepted
|
||||
// for an item with this policy.
|
||||
CanReply PolicyRules
|
||||
// Conditions in which an Announce
|
||||
// interaction will be accepted
|
||||
// for an item with this policy.
|
||||
CanLike PolicyRules
|
||||
CanReply PolicyRules
|
||||
CanAnnounce PolicyRules
|
||||
}
|
||||
|
||||
// PolicyRules represents the rules according
|
||||
// to which a certain interaction is permitted
|
||||
// to various Actor and Actor Collection URIs.
|
||||
type PolicyRules struct {
|
||||
// Always is for PolicyValues who are
|
||||
// permitted to do an interaction
|
||||
// without requiring approval.
|
||||
Always PolicyValues
|
||||
// WithApproval is for PolicyValues who
|
||||
// are conditionally permitted to do
|
||||
// an interaction, pending approval.
|
||||
Always PolicyValues
|
||||
WithApproval PolicyValues
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue