pydantic model generator for atproto lexicons
at main 107 lines 6.4 kB view raw
1//! built-in atproto lexicons for resolving external refs 2 3use atrium_lex::LexiconDoc; 4use std::sync::LazyLock; 5 6/// all bundled com.atproto.* lexicons 7static LEXICONS: LazyLock<Vec<LexiconDoc>> = LazyLock::new(|| { 8 let mut docs = Vec::new(); 9 10 for json in LEXICON_JSON { 11 if let Ok(doc) = serde_json::from_str::<LexiconDoc>(json) { 12 docs.push(doc); 13 } 14 } 15 16 docs.sort_by(|a, b| a.id.cmp(&b.id)); 17 docs 18}); 19 20/// get all built-in lexicon documents 21pub fn builtin_lexicons() -> &'static [LexiconDoc] { 22 &LEXICONS 23} 24 25const LEXICON_JSON: &[&str] = &[ 26 include_str!("../lexicons/com/atproto/admin/defs.json"), 27 include_str!("../lexicons/com/atproto/admin/deleteAccount.json"), 28 include_str!("../lexicons/com/atproto/admin/disableAccountInvites.json"), 29 include_str!("../lexicons/com/atproto/admin/disableInviteCodes.json"), 30 include_str!("../lexicons/com/atproto/admin/enableAccountInvites.json"), 31 include_str!("../lexicons/com/atproto/admin/getAccountInfo.json"), 32 include_str!("../lexicons/com/atproto/admin/getAccountInfos.json"), 33 include_str!("../lexicons/com/atproto/admin/getInviteCodes.json"), 34 include_str!("../lexicons/com/atproto/admin/getSubjectStatus.json"), 35 include_str!("../lexicons/com/atproto/admin/searchAccounts.json"), 36 include_str!("../lexicons/com/atproto/admin/sendEmail.json"), 37 include_str!("../lexicons/com/atproto/admin/updateAccountEmail.json"), 38 include_str!("../lexicons/com/atproto/admin/updateAccountHandle.json"), 39 include_str!("../lexicons/com/atproto/admin/updateAccountPassword.json"), 40 include_str!("../lexicons/com/atproto/admin/updateSubjectStatus.json"), 41 include_str!("../lexicons/com/atproto/identity/getRecommendedDidCredentials.json"), 42 include_str!("../lexicons/com/atproto/identity/requestPlcOperationSignature.json"), 43 include_str!("../lexicons/com/atproto/identity/resolveHandle.json"), 44 include_str!("../lexicons/com/atproto/identity/signPlcOperation.json"), 45 include_str!("../lexicons/com/atproto/identity/submitPlcOperation.json"), 46 include_str!("../lexicons/com/atproto/identity/updateHandle.json"), 47 include_str!("../lexicons/com/atproto/label/defs.json"), 48 include_str!("../lexicons/com/atproto/label/queryLabels.json"), 49 include_str!("../lexicons/com/atproto/label/subscribeLabels.json"), 50 include_str!("../lexicons/com/atproto/moderation/createReport.json"), 51 include_str!("../lexicons/com/atproto/moderation/defs.json"), 52 include_str!("../lexicons/com/atproto/repo/applyWrites.json"), 53 include_str!("../lexicons/com/atproto/repo/createRecord.json"), 54 include_str!("../lexicons/com/atproto/repo/defs.json"), 55 include_str!("../lexicons/com/atproto/repo/deleteRecord.json"), 56 include_str!("../lexicons/com/atproto/repo/describeRepo.json"), 57 include_str!("../lexicons/com/atproto/repo/getRecord.json"), 58 include_str!("../lexicons/com/atproto/repo/importRepo.json"), 59 include_str!("../lexicons/com/atproto/repo/listMissingBlobs.json"), 60 include_str!("../lexicons/com/atproto/repo/listRecords.json"), 61 include_str!("../lexicons/com/atproto/repo/putRecord.json"), 62 include_str!("../lexicons/com/atproto/repo/strongRef.json"), 63 include_str!("../lexicons/com/atproto/repo/uploadBlob.json"), 64 include_str!("../lexicons/com/atproto/server/activateAccount.json"), 65 include_str!("../lexicons/com/atproto/server/checkAccountStatus.json"), 66 include_str!("../lexicons/com/atproto/server/confirmEmail.json"), 67 include_str!("../lexicons/com/atproto/server/createAccount.json"), 68 include_str!("../lexicons/com/atproto/server/createAppPassword.json"), 69 include_str!("../lexicons/com/atproto/server/createInviteCode.json"), 70 include_str!("../lexicons/com/atproto/server/createInviteCodes.json"), 71 include_str!("../lexicons/com/atproto/server/createSession.json"), 72 include_str!("../lexicons/com/atproto/server/deactivateAccount.json"), 73 include_str!("../lexicons/com/atproto/server/defs.json"), 74 include_str!("../lexicons/com/atproto/server/deleteAccount.json"), 75 include_str!("../lexicons/com/atproto/server/deleteSession.json"), 76 include_str!("../lexicons/com/atproto/server/describeServer.json"), 77 include_str!("../lexicons/com/atproto/server/getAccountInviteCodes.json"), 78 include_str!("../lexicons/com/atproto/server/getServiceAuth.json"), 79 include_str!("../lexicons/com/atproto/server/getSession.json"), 80 include_str!("../lexicons/com/atproto/server/listAppPasswords.json"), 81 include_str!("../lexicons/com/atproto/server/refreshSession.json"), 82 include_str!("../lexicons/com/atproto/server/requestAccountDelete.json"), 83 include_str!("../lexicons/com/atproto/server/requestEmailConfirmation.json"), 84 include_str!("../lexicons/com/atproto/server/requestEmailUpdate.json"), 85 include_str!("../lexicons/com/atproto/server/requestPasswordReset.json"), 86 include_str!("../lexicons/com/atproto/server/reserveSigningKey.json"), 87 include_str!("../lexicons/com/atproto/server/resetPassword.json"), 88 include_str!("../lexicons/com/atproto/server/revokeAppPassword.json"), 89 include_str!("../lexicons/com/atproto/server/updateEmail.json"), 90 include_str!("../lexicons/com/atproto/sync/getBlob.json"), 91 include_str!("../lexicons/com/atproto/sync/getBlocks.json"), 92 include_str!("../lexicons/com/atproto/sync/getCheckout.json"), 93 include_str!("../lexicons/com/atproto/sync/getHead.json"), 94 include_str!("../lexicons/com/atproto/sync/getLatestCommit.json"), 95 include_str!("../lexicons/com/atproto/sync/getRecord.json"), 96 include_str!("../lexicons/com/atproto/sync/getRepo.json"), 97 include_str!("../lexicons/com/atproto/sync/getRepoStatus.json"), 98 include_str!("../lexicons/com/atproto/sync/listBlobs.json"), 99 include_str!("../lexicons/com/atproto/sync/listRepos.json"), 100 include_str!("../lexicons/com/atproto/sync/notifyOfUpdate.json"), 101 include_str!("../lexicons/com/atproto/sync/requestCrawl.json"), 102 include_str!("../lexicons/com/atproto/sync/subscribeRepos.json"), 103 include_str!("../lexicons/com/atproto/temp/addReservedHandle.json"), 104 include_str!("../lexicons/com/atproto/temp/checkSignupQueue.json"), 105 include_str!("../lexicons/com/atproto/temp/fetchLabels.json"), 106 include_str!("../lexicons/com/atproto/temp/requestPhoneVerification.json"), 107];