package Ġcom . tencent . devops . common . auth . api Ċ Ċ import Ġcom . tencent . devops . common . auth . api . external . Abstract Auth Ex Permission Api Ċ import Ġcom . tencent . devops . common . auth . api . external . Auth Task Service Ċ import Ġcom . tencent . devops . common . auth . api . pojo . Bk Auth Group Ċ import Ġcom . tencent . devops . common . auth . api . pojo . external . Code CC Auth Action Ċ import Ġcom . tencent . devops . common . auth . api . pojo . external . model . Bk Auth Ex Resource Action Model Ċ import Ġcom . tencent . devops . common . auth . code . Blue king V 3 Pipeline Auth Service Code Ċ import Ġcom . tencent . devops . common . auth . code . Pipeline Auth Service Code Ċ import Ġcom . tencent . devops . common . auth . pojo . Code CC Auth Service Code Ċ import Ġcom . tencent . devops . common . client . Client Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . data . redis . core . Redis Template Ċ Ċ class ĠV 3 Auth Ex Permission Api ( client : ĠClient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredis Template : ĠRedis Template < String , ĠString >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġauth Task Service : ĠAuth Task Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcode cc Auth Permission Api : ĠAuth Permission Str Api ) ĊĠĠĠ Ġ: ĠAbstract Auth Ex Permission Api ( ĊĠĠĠ Ġclient , ĊĠĠĠ Ġredis Template ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( V 3 Auth Ex Permission Api :: class . java ) ĊĊĠĠĠ Ġprivate Ġval ĠCODE CC _ RESOURCE _ TYPE Ġ= Ġ" CODE CC _ TASK " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ æĮĩå®ļ çĶ¨æĪ· çī¹å®ļ æĿĥéĻĲ ä¸ĭçļĦ æµģ æ°´ çº¿ æ¸ħ åįķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġquery Pipeline List ForUser ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠSet < String > ĊĠĠĠ Ġ): ĠSet < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Task Service . query Pipeline List ForUser ( user , ĠprojectId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ æĮĩå®ļ çĶ¨æĪ· çī¹å®ļ æĿĥéĻĲ ä¸ĭçļĦ ä»£çłģ æ£ĢæŁ¥ ä»»åĬ¡ æ¸ħ åįķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġquery TaskList ForUser ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠSet < String > ĊĠĠĠ Ġ): ĠSet < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Map Ġ= Ġcode cc Auth Permission Api . getUser Resources By Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġuser , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice Code Ġ= ĠCode CC Auth Service Code (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Type Ġ= ĠCODE CC _ RESOURCE _ TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Code Ġ= ĠprojectId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpermissions Ġ= Ġactions ) Ġ{ Ġmutable ListOf () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresource Set Ġ= Ġmutable Set Of < String >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Map . values . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . first OrNull () Ġ== Ġ"* ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Set . addAll ( auth Task Service . query TaskList ForUser ( user , ĠprojectId , Ġactions )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource Set . addAll ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresource Set ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e Ġ: ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error ( e . message , Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ æĮĩå®ļ ä»£çłģ æ£ĢæŁ¥ ä»»åĬ¡ ä¸ĭ çī¹å®ļ æĿĥéĻĲ çļĦ çĶ¨æĪ· æ¸ħ åįķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġquery Task UserList For Action ( ĊĠĠĠĠĠĠĠ ĠtaskId : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠSet < String > ĊĠĠĠ Ġ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġv 3 Ġauth Ġcenter Ġnot Ġsupport ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æī¹éĩı æł¡éªĮ æµģ æ°´ çº¿ æĿĥéĻĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġvalidate Pipeline Batch Permission ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ Ġpipeline Id : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠSet < String > ĊĠĠĠ Ġ): ĠList < Bk Auth Ex Resource Action Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( Bk Auth Ex Resource Action Model ("", Ġ"", ĠlistOf (), Ġtrue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æī¹éĩı æł¡éªĮ ä»£çłģ æ£ĢæŁ¥ ä»»åĬ¡ æĿĥéĻĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġvalidate Task Batch Permission ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ ĠtaskId : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠSet < String > ĊĠĠĠ Ġ): ĠList < Bk Auth Ex Resource Action Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( Bk Auth Ex Resource Action Model ( is Pass Ġ= Ġtrue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æł¡éªĮ å·¥ è ľ Ĥ å¹³åı° æĿĥéĻĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġvalidate G ong f eng Permission ( ĊĠĠĠĠĠĠĠ Ġuser : ĠString , ĊĠĠĠĠĠĠĠ ĠtaskId : ĠString , ĊĠĠĠĠĠĠĠ ĠprojectId : ĠString , ĊĠĠĠĠĠĠĠ Ġactions : ĠList < Code CC Auth Action > ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġauth Project Manager ( projectId : ĠString , Ġuser : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }