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

86 lines
2.7 KiB
JSON

{
"lexicon": 1,
"id": "tools.ozone.verification.defs",
"defs": {
"verificationView": {
"type": "object",
"description": "Verification data for the associated subject.",
"required": [
"issuer",
"uri",
"subject",
"handle",
"displayName",
"createdAt"
],
"properties": {
"issuer": {
"type": "string",
"description": "The user who issued this verification.",
"format": "did"
},
"uri": {
"type": "string",
"description": "The AT-URI of the verification record.",
"format": "at-uri"
},
"subject": {
"type": "string",
"format": "did",
"description": "The subject of the verification."
},
"handle": {
"type": "string",
"description": "Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying.",
"format": "handle"
},
"displayName": {
"type": "string",
"description": "Display name of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current displayName matches the one at the time of verifying."
},
"createdAt": {
"type": "string",
"description": "Timestamp when the verification was created.",
"format": "datetime"
},
"revokeReason": {
"type": "string",
"description": "Describes the reason for revocation, also indicating that the verification is no longer valid."
},
"revokedAt": {
"type": "string",
"description": "Timestamp when the verification was revoked.",
"format": "datetime"
},
"revokedBy": {
"type": "string",
"description": "The user who revoked this verification.",
"format": "did"
},
"subjectProfile": {
"type": "union",
"refs": []
},
"issuerProfile": {
"type": "union",
"refs": []
},
"subjectRepo": {
"type": "union",
"refs": [
"tools.ozone.moderation.defs#repoViewDetail",
"tools.ozone.moderation.defs#repoViewNotFound"
]
},
"issuerRepo": {
"type": "union",
"refs": [
"tools.ozone.moderation.defs#repoViewDetail",
"tools.ozone.moderation.defs#repoViewNotFound"
]
}
}
}
}
}