Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/add-profile-lexicon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@hypercerts-org/lexicon": minor
---

Add profile lexicon for Hypercert account profiles with support for display name, description, pronouns, website, avatar, banner.
20 changes: 20 additions & 0 deletions SCHEMAS.md
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,26 @@ Certified lexicons are common/shared lexicons that can be used across multiple p

---

### `app.certified.profile`

**Description:** A declaration of a Hypercert account profile.

**Key:** `literal:self`

#### Properties

| Property | Type | Required | Description | Comments |
| ------------- | -------- | -------- | ------------------------------------------------------------------------------ | ---------------------------------- |
| `displayName` | `string` | ❌ | | maxLength: 640, maxGraphemes: 64 |
| `description` | `string` | ❌ | Free-form profile description text. | maxLength: 2560, maxGraphemes: 256 |
| `pronouns` | `string` | ❌ | Free-form pronouns text. | maxLength: 200, maxGraphemes: 20 |
| `website` | `string` | ❌ | | |
| `avatar` | `union` | ❌ | Small image to be displayed next to posts from account. AKA, 'profile picture' | |
| `banner` | `union` | ❌ | Larger horizontal image to display behind profile view. | |
| `createdAt` | `string` | ❌ | | |

---

## Type Definitions

Common type definitions used across all protocols.
Expand Down
51 changes: 51 additions & 0 deletions lexicons/app/certified/profile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"lexicon": 1,
"id": "app.certified.profile",
"defs": {
"main": {
"type": "record",
"description": "A declaration of a Hypercert account profile.",
"key": "literal:self",
"record": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"maxGraphemes": 64,
"maxLength": 640
},
"description": {
"type": "string",
"description": "Free-form profile description text.",
"maxGraphemes": 256,
"maxLength": 2560
},
"pronouns": {
"type": "string",
"description": "Free-form pronouns text.",
"maxGraphemes": 20,
"maxLength": 200
},
"website": { "type": "string", "format": "uri" },
"avatar": {
"type": "union",
"refs": [
"org.hypercerts.defs#uri",
"org.hypercerts.defs#smallImage"
],
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'"
},
"banner": {
"type": "union",
"refs": [
"org.hypercerts.defs#uri",
"org.hypercerts.defs#largeImage"
],
"description": "Larger horizontal image to display behind profile view."
},
"createdAt": { "type": "string", "format": "datetime" }
Comment thread
coderabbitai[bot] marked this conversation as resolved.
}
}
}
}
}