MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / apply_minted_credential

Function apply_minted_credential

crates/openshell-server/src/provider_refresh.rs:400–435  ·  view source on GitHub ↗
(
    store: &Store,
    provider: &Provider,
    credential_key: &str,
    minted: &MintedCredential,
)

Source from the content-addressed store, hash-verified

398}
399
400async fn apply_minted_credential(
401 store: &Store,
402 provider: &Provider,
403 credential_key: &str,
404 minted: &MintedCredential,
405) -> Result<(), Status> {
406 let mut updated = provider.clone();
407 updated
408 .credentials
409 .insert(credential_key.to_string(), minted.access_token.clone());
410 if minted.expires_at_ms > 0 {
411 updated
412 .credential_expires_at_ms
413 .insert(credential_key.to_string(), minted.expires_at_ms);
414 } else {
415 updated.credential_expires_at_ms.remove(credential_key);
416 }
417 crate::grpc::provider::validate_provider_update_against_attached_sandboxes(store, &updated)
418 .await?;
419 store
420 .update_message_cas::<Provider, _>(provider.object_id(), 0, |current| {
421 current
422 .credentials
423 .insert(credential_key.to_string(), minted.access_token.clone());
424 if minted.expires_at_ms > 0 {
425 current
426 .credential_expires_at_ms
427 .insert(credential_key.to_string(), minted.expires_at_ms);
428 } else {
429 current.credential_expires_at_ms.remove(credential_key);
430 }
431 })
432 .await
433 .map(|_| ())
434 .map_err(|e| Status::internal(format!("persist refreshed provider credential failed: {e}")))
435}
436
437async fn mint_credential(
438 state: &StoredProviderCredentialRefreshState,

Callers 1

Calls 3

object_idMethod · 0.80
removeMethod · 0.45

Tested by

no test coverage detected