feat: Add Delegation

This commit is contained in:
Jesse Wierzbinski 2024-08-23 16:43:37 +02:00
parent e75eb6d2f5
commit 04b03e136b
No known key found for this signature in database
7 changed files with 34 additions and 4 deletions

View file

@ -12,7 +12,7 @@ Signals the deletion of an entity. {{ className: 'lead' }}
Implementations **must** ensure that the author of the `Delete` entity has the authorization to delete the target entity.
Having the authorization is defined as:
- The author is the creator of the target entity (including [delegation](/delegation)).
- The author is the creator of the target entity (including [delegation](/federation/delegation)).
- The author is the instance.
## Entity Definition

View file

@ -72,7 +72,7 @@ On all entities that have an `author` field, the `author` can be `null` to repre
```
- `algorithm`: Algorithm used for the public key. Can only be `ed25519` for now.
- `key`: Public key of the instance. Must follow the [Versia Public Key](/signatures) format.
- `key`: Instance public key, in SPKI-encoded base64 (from raw bytes, not a PEM format).
</Property>
<Property name="moderators" type="URI" required={false}>
URI to [Collection](/structures/collection) of instance moderators.

View file

@ -71,9 +71,11 @@ Instance **must** be the host of the instance the user is on (hostname with opti
A header image for the user's profile. Also known as a cover photo or a banner. Must be an image format (`image/*`).
</Property>
<Property name="public_key" type="PublicKey" required={true}>
The user's public key. Must follow the [Versia Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the user to act on behalf of the other user (see [delegation](/delegation)).
The user's public key. Must follow the [Versia Public Key](/signatures) format. `actor` may be a URI to another user's profile, in which case this key may allow the other user act on behalf of this user (see [delegation](/federation/delegation)).
`algorithm` must be `ed25519` for now.
- `algorithm`: Must be `ed25519` for now.
- `key`: The public key in SPKI-encoded base64 (from raw bytes, not a PEM format). Must be the key associated with the `actor` URI.
- `actor`: URI to a user's profile, most often the user's own profile.
```typescript
type URI = string;