refactor: 📝 Use References nomenclature instead of URI

This commit is contained in:
Jesse Wierzbinski 2025-05-05 14:33:22 +02:00
parent d886b83e62
commit bcdf0ec251
No known key found for this signature in database
16 changed files with 137 additions and 90 deletions

View file

@ -93,11 +93,11 @@ Indicates that a [User](/entities/user) wishes to subscribe to a group.
<Property name="type" type="string" required={true}>
Must be `pub.versia:groups/Subscribe`.
</Property>
<Property name="subscriber" type="URI" required={true} typeLink="/types#uri">
URI of the [User](/entities/user) subscribing to the group.
<Property name="subscriber" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the [User](/entities/user) subscribing to the group.
</Property>
<Property name="group" type="URI" required={true} typeLink="/types#uri">
URI of the group to subscribe to.
<Property name="group" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the group to subscribe to.
</Property>
</Properties>
</Col>
@ -131,11 +131,11 @@ Indicates that a [User](/entities/user) wishes to unsubscribe from a group.
<Property name="type" type="string" required={true}>
Must be `pub.versia:groups/Unsubscribe`.
</Property>
<Property name="subscriber" type="URI" required={true} typeLink="/types#uri">
URI of the [User](/entities/user) unsubscribing from the group.
<Property name="subscriber" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the [User](/entities/user) unsubscribing from the group.
</Property>
<Property name="group" type="URI" required={true} typeLink="/types#uri">
URI of the group to unsubscribe from.
<Property name="group" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the group to unsubscribe from.
</Property>
</Properties>
</Col>
@ -169,11 +169,11 @@ Indicates that a [Group](#entity-definition) has accepted a [User](/entities/use
<Property name="type" type="string" required={true}>
Must be `pub.versia:groups/SubscribeAccept`.
</Property>
<Property name="subscriber" type="URI" required={true} typeLink="/types#uri">
URI of the [User](/entities/user) subscribing to the group.
<Property name="subscriber" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the [User](/entities/user) subscribing to the group.
</Property>
<Property name="group" type="URI" required={true} typeLink="/types#uri">
URI of the group that accepted the subscription.
<Property name="group" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the group that accepted the subscription.
</Property>
</Properties>
</Col>
@ -207,11 +207,11 @@ Indicates that a [Group](#entity-definition) has rejected a [User](/entities/use
<Property name="type" type="string" required={true}>
Must be `pub.versia:groups/SubscribeReject`.
</Property>
<Property name="subscriber" type="URI" required={true} typeLink="/types#uri">
URI of the [User](/entities/user) subscribing to the group.
<Property name="subscriber" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the [User](/entities/user) subscribing to the group.
</Property>
<Property name="group" type="URI" required={true} typeLink="/types#uri">
URI of the group that rejected the subscription.
<Property name="group" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the group that rejected the subscription.
</Property>
</Properties>
</Col>
@ -253,11 +253,11 @@ The `GroupFederate` entity allows a group to federate a note to all of its membe
<Property name="type" type="string" required={true}>
Must be `pub.versia:groups/Federate`.
</Property>
<Property name="note" type="URI" required={true} typeLink="/types#uri">
URI of the note to federate.
<Property name="note" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the note to federate.
</Property>
<Property name="group" type="URI" required={true} typeLink="/types#uri">
URI of the group federating the note.
<Property name="group" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the group federating the note.
</Property>
</Properties>
</Col>

View file

@ -22,11 +22,11 @@ Likes are a way for users to show appreciation for a note, like Twitter's "heart
<Property name="type" type="string" required={true}>
Must be `pub.versia:likes/Like`.
</Property>
<Property name="author" type="URI" required={true} typeLink="/types#uri">
Creator of the Like.
<Property name="author" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the creator of the Like.
</Property>
<Property name="liked" type="URI" required={true} typeLink="/types#uri">
URI of the note being liked. Must link to a [Note](/entities/note).
<Property name="liked" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the note being liked.
</Property>
</Properties>
</Col>
@ -58,11 +58,11 @@ Dislikes are a way for users to show disapproval for a note, like YouTube's "dis
<Property name="type" type="string" required={true}>
Must be `pub.versia:likes/Dislike`.
</Property>
<Property name="author" type="URI" required={true} typeLink="/types#uri">
Creator of the Dislike.
<Property name="author" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the creator of the Dislike.
</Property>
<Property name="disliked" type="URI" required={true} typeLink="/types#uri">
URI of the note being disliked. Must link to a [Note](/entities/note).
<Property name="disliked" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the note being disliked.
</Property>
</Properties>
</Col>

View file

@ -40,11 +40,11 @@ Migration happens in three steps:
<Property name="type" type="string" required={true}>
Must be `pub.versia:migration/Migration`.
</Property>
<Property name="author" type="URI" typeLink="/types#uri" required={true}>
URI of the [User](/entities/user) who is migrating.
<Property name="author" type="Reference" typeLink="/types#reference" required={true}>
[Reference](/types#reference) to the [User](/entities/user) who is migrating.
</Property>
<Property name="destination" type="URI" required={true} typeLink="/types#uri">
URI of the destination [User](/entities/user) on the new instance.
<Property name="destination" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the destination [User](/entities/user) on the new instance.
</Property>
</Properties>
</Col>
@ -71,11 +71,11 @@ The following extensions to [User](/entities/user) are used by the migration ext
<Row>
<Col>
<Properties name="MigrationExtension">
<Property name="previous" type="URI" required={true} typeLink="/types#uri">
If this user has migrated from another instance, this property **MUST** be set to the URI of the user on the previous instance.
<Property name="previous" type="Reference" required={true} typeLink="/types#reference">
If this user has migrated from another instance, this property **MUST** be a [Reference](/types#reference) to the user on the previous instance.
</Property>
<Property name="new" type="URI" required={false} typeLink="/types#uri">
If this user has migrated to another instance, this property **MUST** be set to the URI of the user on the new instance.
<Property name="new" type="Reference" required={false} typeLink="/types#reference">
If this user has migrated to another instance, this property **MUST** be a [Reference](/types#reference) to the URI of the user on the new instance.
</Property>
</Properties>
</Col>

View file

@ -97,11 +97,11 @@ If a vote is cast to a poll that is closed, the vote should be rejected with a `
<Property name="type" type="string" required="true">
Must be `pub.versia:polls/Vote`.
</Property>
<Property name="author" type="URI" required="true" typeLink="/types#uri">
URI to the user who cast the vote.
<Property name="author" type="Reference" required="true" typeLink="/types#reference">
[Reference](/types#reference) of the user who cast the vote.
</Property>
<Property name="poll" type="URI" required="true" typeLink="/types#uri">
URI to the poll that the user voted on. Must link to a [Note](/entities/note) with a valid poll.
<Property name="poll" type="Reference" required="true" typeLink="/types#reference">
[Reference](/types#reference) to the note with poll that the user voted on.
</Property>
<Property name="option" type="number" required="true" numberType="u64">
Index of the option that the user voted for. This should be a valid index into the `options` array of the poll.

View file

@ -19,11 +19,11 @@ User reactions are (like every other entity) federated to all followers, and can
<Property name="type" type="string" required>
Must be `pub.versia:reactions/Reaction`.
</Property>
<Property name="author" type="URI" required typeLink="/types#uri">
URI of the [User](/entities/user) that is reacting.
<Property name="author" type="Reference" required typeLink="/types#reference">
[Reference](/types#reference) to the [User](/entities/user) that is reacting.
</Property>
<Property name="object" type="URI" required typeLink="/types#uri">
URI of the [Note](/entities/note) attached to the reaction.
<Property name="object" type="Reference" required typeLink="/types#reference">
[Reference](/types#reference) to the [Note](/entities/note) attached to the reaction.
</Property>
<Property name="content" type="string" required>
Emoji content of reaction. May also be arbitrary text, or [Custom Emoji](/extensions/custom-emojis) if supported.

View file

@ -21,11 +21,11 @@ When an instance receives a report, it *should* be reviewed by a moderator or ad
<Property name="type" type="string" required={true}>
Must be `pub.versia:reports/Report`.
</Property>
<Property name="author" type="URI" required={false} typeLink="/types#uri">
URI of the reporting [User](/entities/user). Optional if the report is anonymous.
<Property name="author" type="Reference" required={false} typeLink="/types#reference">
[Reference](/types#reference) to the reporting [User](/entities/user). Optional if the report is anonymous.
</Property>
<Property name="reported" type="URI[]" required={true} typeLink="/types#uri">
URIs of the content being reported.
<Property name="reported" type="Reference[]" required={true} typeLink="/types#reference">
[References](/types#reference) to the content being reported.
</Property>
<Property name="tags" type="string[]" required={true}>
Report tags. Should be concise and clear, such as `spam`, `harassment`, `misinformation`, etc. Used for categorization.

View file

@ -21,11 +21,11 @@ When a user shares a note, the note's original author **must** receive the entit
<Property name="type" type="string" required={true}>
Must be `pub.versia:share/Share`.
</Property>
<Property name="author" type="URI" required={true} typeLink="/types#uri">
Creator of the Share.
<Property name="author" type="Reference" required={true} typeLink="/types#referece">
[Reference](/types#reference) to the creator of the Share.
</Property>
<Property name="shared" type="URI" required={true} typeLink="/types#uri">
URI of the note being shared. Must link to a [Note](/entities/note).
<Property name="shared" type="Reference" required={true} typeLink="/types#reference">
[Reference](/types#reference) to the note being shared.
</Property>
</Properties>
</Col>

View file

@ -72,8 +72,8 @@ All properties are optional.
<Property name="timezone" type="string" required={false}>
User's timezone. Should be a valid [IANA timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) string.
</Property>
<Property name="aliases" type="URI[]" required={false} typeLink="/types#uri">
Versia profiles that should be considered aliases of this profile.
<Property name="aliases" type="References[]" required={false} typeLink="/types#reference">
[References](/types#reference) to Versia profiles that should be considered aliases (or "alt accounts") of this profile.
</Property>
</Properties>
</Col>