pub async fn profiles_unlock(
app: AppHandle,
db: State<'_, DatabaseWrapper>,
creds: State<'_, CredentialStoreWrapper>,
auth_manager: State<'_, AuthManagerWrapper>,
repository_manager: State<'_, RepositoryManagerWrapper>,
session_poller: State<'_, SessionPollerWrapper>,
user_id: String,
pin_code: Option<String>,
) -> Result<UnlockOutcome, String>Expand description
Enter a profile, with its PIN if it has one.
A profile with no PIN ignores whatever pin was passed — the frontend cannot
invent a lock the backend does not have, and cannot skip one it does.
TRACES: UR-082, UR-083 | DR-267, DR-268, DR-270