···7474 return Err(ApiError::InvalidChannel);
7575 }
76767777- let did_typed: Did = did.parse().map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
7777+ let did_typed: Did = did
7878+ .parse()
7979+ .map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
7880 let user = state
7981 .user_repo
8082 .get_verification_info(&did_typed)
···116118 channel: &str,
117119 identifier: &str,
118120) -> Result<Json<VerifyTokenOutput>, ApiError> {
119119- let did_typed: Did = did.parse().map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
121121+ let did_typed: Did = did
122122+ .parse()
123123+ .map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
120124 let user_id = state
121125 .user_repo
122126 .get_id_by_did(&did_typed)
···189193 channel: &str,
190194 _identifier: &str,
191195) -> Result<Json<VerifyTokenOutput>, ApiError> {
192192- let did_typed: Did = did.parse().map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
196196+ let did_typed: Did = did
197197+ .parse()
198198+ .map_err(|_| ApiError::InvalidDid("Invalid DID format".into()))?;
193199 let user = state
194200 .user_repo
195201 .get_verification_info(&did_typed)
+4-1
crates/tranquil-pds/src/auth/mod.rs
···434434 .await
435435 {
436436 Ok(result) => {
437437- let result_did: Did = result.did.parse().map_err(|_| TokenValidationError::InvalidToken)?;
437437+ let result_did: Did = result
438438+ .did
439439+ .parse()
440440+ .map_err(|_| TokenValidationError::InvalidToken)?;
438441 let user_info = user_repo
439442 .get_user_info_by_did(&result_did)
440443 .await
···703703 "signingInAs": "Signing in as:",
704704 "permissionsRequested": "Permissions Requested",
705705 "required": "Required",
706706- "rememberChoiceLabel": "Remember my choice for this application"
706706+ "rememberChoiceLabel": "Remember my choice for this application",
707707+ "scopes": {
708708+ "atproto": {
709709+ "name": "Full Account Access",
710710+ "description": "Full access to read, write, and manage this account"
711711+ },
712712+ "atprotoWithGranular": {
713713+ "name": "AT Protocol Access",
714714+ "description": "AT Protocol baseline scope (permissions determined by selected options below)"
715715+ },
716716+ "transitionGeneric": {
717717+ "name": "Transition Access",
718718+ "description": "Generic transition scope for compatibility"
719719+ },
720720+ "transitionChat": {
721721+ "name": "Chat Access",
722722+ "description": "Access to Bluesky chat features"
723723+ },
724724+ "transitionEmail": {
725725+ "name": "Email Access",
726726+ "description": "Read your account email address"
727727+ },
728728+ "repoCreate": {
729729+ "name": "Create Records",
730730+ "description": "Create new records in your repository"
731731+ },
732732+ "repoUpdate": {
733733+ "name": "Update Records",
734734+ "description": "Update existing records in your repository"
735735+ },
736736+ "repoDelete": {
737737+ "name": "Delete Records",
738738+ "description": "Delete records from your repository"
739739+ },
740740+ "blobAll": {
741741+ "name": "Upload Media",
742742+ "description": "Upload images, videos, and other media files"
743743+ },
744744+ "repoFull": {
745745+ "name": "Full Repository Access",
746746+ "description": "Full read and write access to all repository records"
747747+ },
748748+ "accountManage": {
749749+ "name": "Manage Account",
750750+ "description": "Manage account settings and preferences"
751751+ }
752752+ }
707753 },
708754 "accounts": {
709755 "title": "Choose Account",
···9991045 "accessLevel": "Access Level",
10001046 "adding": "Adding...",
10011047 "addControllerButton": "+ Add Controller",
10481048+ "addControllerWarningTitle": "Important: This will change how you log in",
10491049+ "addControllerWarningText": "Adding a controller means that only the controller account will be able to log into this account via OAuth. You will no longer be able to log in directly with your own credentials through third-party apps or the web interface.",
10501050+ "addControllerWarningBullet1": "The controller will be able to act on your behalf with the permissions you grant",
10511051+ "addControllerWarningBullet2": "You will need to log in as the controller first, then switch to this account",
10521052+ "addControllerWarningBullet3": "You can remove the controller later to regain direct login access",
10531053+ "addControllerConfirm": "I understand that I will no longer be able to log in directly",
10021054 "controllerAdded": "Controller added successfully",
10031055 "controllerRemoved": "Controller removed successfully",
10041056 "failedToAddController": "Failed to add controller",