mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-19 01:47:29 -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
|
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
|
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
|
type PolicyValues []PolicyValue
|
||||||
|
|
||||||
// An InteractionPolicy determines which
|
|
||||||
// interactions will be accepted for an
|
|
||||||
// item, and according to what rules.
|
|
||||||
type InteractionPolicy struct {
|
type InteractionPolicy struct {
|
||||||
// Conditions in which a Like
|
CanLike PolicyRules
|
||||||
// interaction will be accepted
|
CanReply PolicyRules
|
||||||
// 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.
|
|
||||||
CanAnnounce 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 {
|
type PolicyRules struct {
|
||||||
// Always is for PolicyValues who are
|
Always PolicyValues
|
||||||
// permitted to do an interaction
|
|
||||||
// without requiring approval.
|
|
||||||
Always PolicyValues
|
|
||||||
// WithApproval is for PolicyValues who
|
|
||||||
// are conditionally permitted to do
|
|
||||||
// an interaction, pending approval.
|
|
||||||
WithApproval PolicyValues
|
WithApproval PolicyValues
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue