Foysal Ahamed 45354c84f8
❇️ Verifications manager in ozone (#3765)
* First vouch implementation

* Remove unneeded endpoints

* wip

*  wip

*  Process jetstream events through p-queue and add tests

*  Add test for cursor update

* 🐛 Use utc time to update updatedAt

* 🧹 Cleanup

* 🔨 Fix pnpm versioning issues

*  Replace jetstream lib with manual implementation

*  Remove unnecessary 3p dep

*  Add e2e test for jetstream

* 🚨 Fix import

* 🧹 Remove unnecessary property

*  Fix dev-env and add profile to verification view in ozone

*  Add profile type

*  Add backpressure handling to jetstream listener

*  Use WebSocketKeepAlive from xrpc-server and replace partysocket

*  Add a new verifier role to ozone team meber roles

* 📝 Run codegen

* 🐛 Fix auth check

* 🐛 Fix test failure check

* 🚨 Fix json formatting

* 🐛 Fix team role check

* 🚧 Checking failing test

*  Fix tests

*  Address review comments

*  Add xrpc-server to version

* 🚨 Fix linter issue

* 🚨 Fix linter issue

*  Resolve race condition in cursor update

*  Add verification check on profile

* 🐛 Fix missing cid in test and firehose cursor

*  Fix test

*  Add record validation for verification and separate xrpc-server version

*  Return error object for failed revocations

*  Add re-login on expired session case

* 📝 Fix typo

---------

Co-authored-by: rafael <rafael@blueskyweb.xyz>
2025-04-24 10:49:45 +02:00

47 lines
1.3 KiB
JSON

{
"lexicon": 1,
"id": "tools.ozone.team.defs",
"defs": {
"member": {
"type": "object",
"required": ["did", "role"],
"properties": {
"did": { "type": "string", "format": "did" },
"disabled": { "type": "boolean" },
"profile": {
"type": "ref",
"ref": "app.bsky.actor.defs#profileViewDetailed"
},
"createdAt": { "type": "string", "format": "datetime" },
"updatedAt": { "type": "string", "format": "datetime" },
"lastUpdatedBy": { "type": "string" },
"role": {
"type": "string",
"knownValues": [
"#roleAdmin",
"#roleModerator",
"#roleTriage",
"#roleVerifier"
]
}
}
},
"roleAdmin": {
"type": "token",
"description": "Admin role. Highest level of access, can perform all actions."
},
"roleModerator": {
"type": "token",
"description": "Moderator role. Can perform most actions."
},
"roleTriage": {
"type": "token",
"description": "Triage role. Mostly intended for monitoring and escalating issues."
},
"roleVerifier": {
"type": "token",
"description": "Verifier role. Only allowed to issue verifications."
}
}
}