package Ġcom . github . mam oru . pr aes idi ume . pr aes idi ume leader . cont ro ler Ċ Ċ import Ġcom . github . mam oru . pr aes idi ume . pr aes idi ume leader . dto . Package Dto Ċ import Ġcom . github . mam oru . pr aes idi ume . pr aes idi ume leader . dto . Package Version Dto Ċ import Ġcom . github . mam oru . pr aes idi ume . pr aes idi ume leader . service . Package Artifact Service Ċ import Ġorg . springframework . core . io . FileSystem Resource Ċ import Ġorg . springframework . web . bind . annotation .* Ċ Ċ @ RestController Ċ @ RequestMapping ("/ artifact ") Ċ class ĠArtifact Controller ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġartifact Service : ĠPackage Artifact Service Ċ ) Ġ{ ĊĠĠĠ Ġ@ GetMapping ("/ metadata /{ packageName }") ĊĠĠĠ Ġfun Ġget Package Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable (" packageName ") ĠpackageName : ĠString ĊĠĠĠ Ġ): ĠPackage Dto Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġartifact Service . get Package Meta ( packageName ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("/ metadata /{ packageName }/{ package Version }") ĊĠĠĠ Ġfun Ġget Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam Ġparams : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable (" packageName ") ĠpackageName : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable (" package Version ") Ġpackage Version : ĠString ĊĠĠĠ Ġ): ĠPackage Version Dto Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġartifact Service . get Artifact ( params , ĠpackageName , Ġpackage Version ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ GetMapping ("/ download /{ packageName }/{ package Version }") ĊĠĠĠ Ġfun ĠgetContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ RequestParam Ġparams : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable (" packageName ") ĠpackageName : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ PathVariable (" package Version ") Ġpackage Version : ĠString ĊĠĠĠ Ġ): ĠFileSystem Resource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFileSystem Resource ( artifact Service . get Artifact Content ( params , ĠpackageName , Ġpackage Version )) ĊĠĠĠ Ġ} Ċ } Ċ