diff --git a/src/main/java/org/snomed/snowstorm/config/SecurityAndUriConfig.java b/src/main/java/org/snomed/snowstorm/config/SecurityAndUriConfig.java index 7a3adfd28..ec2a29703 100644 --- a/src/main/java/org/snomed/snowstorm/config/SecurityAndUriConfig.java +++ b/src/main/java/org/snomed/snowstorm/config/SecurityAndUriConfig.java @@ -101,6 +101,7 @@ public FilterRegistrationBean getUrlRewriteFilter() return new FilterRegistrationBean<>(new BranchPathUriRewriteFilter( "/branches/(.*)/children", "/branches/(.*)/parents", + "/branches/(.*)/metadata", "/branches/(.*)/metadata-upsert", "/branches/(.*)/actions/.*", "/branches/(.*)", diff --git a/src/main/java/org/snomed/snowstorm/rest/BranchController.java b/src/main/java/org/snomed/snowstorm/rest/BranchController.java index ca81baf34..977529beb 100644 --- a/src/main/java/org/snomed/snowstorm/rest/BranchController.java +++ b/src/main/java/org/snomed/snowstorm/rest/BranchController.java @@ -127,6 +127,14 @@ public Map updateBranchMetadataItems(@PathVariable String branch return getBranchPojo(branchService.updateMetadata(branch, newMetadata)).getMetadata(); } + @Operation(summary = "Retrieve a single branch metadata") + @GetMapping(value = "/branches/{branch}/metadata") + public Map retrieveBranchMetadata(@PathVariable String branch, @RequestParam(required = false, defaultValue = "false") boolean includeInheritedMetadata) { + branch = BranchPathUriUtil.decodePath(branch); + Branch latestBranch = branchService.findBranchOrThrow(branch, includeInheritedMetadata); + return latestBranch.getMetadata().getAsMap(); + } + @Operation(summary = "Retrieve a single branch") @GetMapping(value = "/branches/{branch}") public BranchPojo retrieveBranch(@PathVariable String branch, @RequestParam(required = false, defaultValue = "false") boolean includeInheritedMetadata) {