package Ġio . github . v 1 servic en ot ification . domain . setting . domain . repository Ċ Ċ import Ġio . github . v 1 servic en ot ification . category . Category Ċ import Ġio . github . v 1 servic en ot ification . detail . post Detail . spi . Post Detail Setting Repository Spi Ċ import Ġio . github . v 1 servic en ot ification . domain . category . mapper . Category Mapper Ċ import Ġio . github . v 1 servic en ot ification . domain . setting . domain . Setting Entity Ċ import Ġio . github . v 1 servic en ot ification . domain . setting . domain . Setting Id Ċ import Ġio . github . v 1 servic en ot ification . domain . setting . mapper . Setting Mapper Ċ import Ġio . github . v 1 servic en ot ification . setting . Setting Ċ import Ġio . github . v 1 servic en ot ification . setting . active Setting . spi . Setting Repository Spi Ċ import Ġorg . springframework . stereotype . Repository Ċ import Ġjava . util .* Ċ Ċ @ Repository Ċ class ĠCustom Setting Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġsetting Repository : ĠSetting Repository , ĊĠĠĠ Ġprivate Ġval Ġsetting Mapper : ĠSetting Mapper , ĊĠĠĠ Ġprivate Ġval Ġcategory Mapper : ĠCategory Mapper Ċ ) Ġ: ĠSetting Repository Spi , ĠPost Detail Setting Repository Spi Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsave Setting ( category : ĠCategory , ĠuserId : ĠUUID , Ġis Activated : ĠBoolean ): ĠSetting Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsetting Mapper . setting Entity To Domain ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting Repository . save ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting Id Ġ= Ġget Setting Id ( category , ĠuserId ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Activated Ġ= Ġis Activated ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Setting ( category : ĠCategory , ĠuserId : ĠUUID , Ġis Activated : ĠBoolean ): ĠSetting Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsetting Mapper . setting Entity To Domain ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting Repository . save ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetting Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting Id Ġ= Ġget Setting Id ( category , ĠuserId ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Activated Ġ= Ġis Activated ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetting Exist ( category : ĠCategory , ĠuserId : ĠUUID ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsetting Repository . exists ById ( get Setting Id ( category , ĠuserId )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġquery Activated Category ( userId : ĠUUID ): ĠList < Category > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsetting Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. findBy Setting Id UserId And Is Activated IsTrue ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Mapper . category Entity To Domain ( it . setting Id . category Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Setting Id ( category : ĠCategory , ĠuserId : ĠUUID ): ĠSetting Id Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSetting Id ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠuserId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Entity Ġ= Ġcategory Mapper . category Domain To Entity ( category ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Setting By Category ( category : ĠCategory ): ĠList < Setting > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Entity Ġ= Ġcategory Mapper . category Domain To Entity ( category ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsetting Repository . findAll By Setting Id Category Entity ( category Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġsetting Mapper . setting Entity To Domain ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠ Ġ} Ċ Ċ }