From b2926b19647d384e33d4038b12a5a1e3881fb9d3 Mon Sep 17 00:00:00 2001 From: RWDai <27391645+RWDai@users.noreply.github.com> Date: Mon, 1 Jul 2024 18:35:34 +0800 Subject: [PATCH 1/2] feat: add batch-third-party api (#793) * feat: add batch-third-party api * update --- .../api/iam_ci_account_api.rs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/backend/supports/iam/src/console_interface/api/iam_ci_account_api.rs b/backend/supports/iam/src/console_interface/api/iam_ci_account_api.rs index cf6d61a6e..d66169497 100644 --- a/backend/supports/iam/src/console_interface/api/iam_ci_account_api.rs +++ b/backend/supports/iam/src/console_interface/api/iam_ci_account_api.rs @@ -256,6 +256,35 @@ impl IamCiAccountApi { TardisResp::ok(result) } + /// Batch Find Account By ThirdParty Cert ak + /// 通过三方凭证ak批量查找帐户 + /// + #[oai(path = "/batch-third-party", method = "get")] + async fn batch_by_third_party(&self, supplier: Query, aks: Query, mut ctx: TardisContextExtractor, request: &Request) -> TardisApiResult> { + let funs = iam_constants::get_tardis_inst(); + check_without_owner_and_unsafe_fill_ctx(request, &funs, &mut ctx.0)?; + let mut result=vec![]; + for ak in aks.0.split(','){ + let cert = IamCertServ::get_3th_kind_cert_by_ak(&supplier.0, &ak, true, &funs, &ctx.0).await?; + result.push(IamAccountServ::get_item( + &cert.rel_rbum_id, + &IamAccountFilterReq { + basic: RbumBasicFilterReq { + own_paths: Some("".to_string()), + with_sub_own_paths: true, + ..Default::default() + }, + ..Default::default() + }, + &funs, + &ctx.0, + ) + .await?); + } + + TardisResp::ok(result) + } + /// Find App Set Items (Account) ctx /// 查找应用集合项(帐户)上下文 #[oai(path = "/apps/item/ctx", method = "get")] From dc8418a67525115f50711dbfd12ed84c1421a855 Mon Sep 17 00:00:00 2001 From: RWDai <27391645+RWDai@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:17:47 +0800 Subject: [PATCH 2/2] fix:fix show_sk function (#794) --- backend/supports/iam/src/basic/serv/iam_cert_serv.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/supports/iam/src/basic/serv/iam_cert_serv.rs b/backend/supports/iam/src/basic/serv/iam_cert_serv.rs index 25b46ca81..119e3edf9 100644 --- a/backend/supports/iam/src/basic/serv/iam_cert_serv.rs +++ b/backend/supports/iam/src/basic/serv/iam_cert_serv.rs @@ -768,7 +768,7 @@ impl IamCertServ { .await?; if let Some(ext_cert) = ext_cert { let encoded_sk = if show_sk { - let now_sk = RbumCertServ::show_sk(ext_cert.id.as_str(), &RbumCertFilterReq::default(), funs, ctx).await?; + let now_sk = RbumCertServ::show_sk(ext_cert.id.as_str(), &RbumCertFilterReq::default(), funs, &mock_ctx).await?; encode_cert(&ext_cert.id, now_sk, ext_cert.sk_invisible)? } else { "".to_string()