package Ġwf . g arn ier . domain service Ċ Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RequestParam Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġwf . g arn ier . domain . Domain Ċ import Ġwf . g arn ier . domain . Domain ListResponse Ċ Ċ @ RestController Ċ class ĠDomain Controller ( val Ġconfig : ĠDomain Service Configuration ) Ġ{ ĊĊĠĠĠ Ġ// ĠTODO Ġ: Ġmake Ġsome Ġunavailable ĊĠĠĠ Ġ@ GetMapping ("/ api / domains ") ĊĠĠĠ Ġfun Ġget Domains (@ RequestParam (" search ") Ġsearch Term : ĠString ): ĠDomain ListResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdomains Ġ= Ġconfig . extensions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠDomain ( search Term , Ġit , Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġavailable Ġ= Ġit . extension . toList (). intersect ( it . name . toList ()). isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . copy ( available Ġ= Ġavailable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDomain ListResponse ( domains Ġ= Ġdomains ) ĊĠĠĠ Ġ} Ċ }