package Ġcn . har 0 1 d . notebook . service Ċ Ċ import Ġcn . har 0 1 d . notebook . core . Const Ċ import Ġcn . har 0 1 d . notebook . core . Site Config Ċ import Ġcn . har 0 1 d . notebook . core . config . Q ini u Properties Ċ import Ġcn . har 0 1 d . notebook . entity . Config Ċ import Ġcn . har 0 1 d . notebook . entity . Config Repository Ċ import Ġcn . har 0 1 d . notebook . entity . Config Type Ċ import Ġcom . github . ben man es . caffe ine . cache . Cache Ċ import Ġorg . springframework . data . repository . findById OrNull Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠConfig Service ( private Ġval Ġrepository : ĠConfig Repository , Ġcache Service : ĠCache Service ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcache : ĠCache < String , ĠString > Ġ= Ġcache Service . local Cache () ĊĊĠĠĠ Ġfun ĠfindAll (): ĠList < Config > Ġ= Ġrepository . findAll () ĊĊĠĠĠ Ġfun Ġget Site Config ( admin : ĠBoolean Ġ= Ġfalse ): ĠSite Config Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSite Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . SITE _ NAME , Ġ" Notebook "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . B RAND _ COLOR , Ġ" teal "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . QR _ CODE , Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . IC P _ BE IAN , Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . GO V _ BE IAN , Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . SHOW _ V IE WS , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . SHOW _ WORDS , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ AUDIT , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ COMMENT , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ FILE _ UPLOAD , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ IMAGE _ UPLOAD , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ SIGN UP , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ HE ART BE AT , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . ENABLE _ ENCRYPT , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . SECRET _ KEY , Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget ( Const . GITHUB , Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( admin ) Ġget Q ini u Properties () Ġelse ĠQ ini u Properties (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Q ini u Properties () Ġ= ĠQ ini u Properties ( ĊĠĠĠĠĠĠĠ Ġget ( Const . Q INI U _ ENABLED , Ġfalse ), ĊĠĠĠĠĠĠĠ Ġget ( Const . Q INI U _ ACCESS _ KEY , Ġ""), ĊĠĠĠĠĠĠĠ Ġget ( Const . Q INI U _ SECRET _ KEY , Ġ""), ĊĠĠĠĠĠĠĠ Ġget ( Const . Q INI U _ BUCKET , Ġ""), ĊĠĠĠĠĠĠĠ Ġget ( Const . Q INI U _ DOMAIN , Ġ""), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġupdate Site Config ( dto : ĠSite Config ): ĠSite Config Ġ{ ĊĠĠĠĠĠĠĠ Ġsave ( Const . SITE _ NAME , Ġdto . site Name ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . B RAND _ COLOR , Ġdto . brand Color ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . QR _ CODE , Ġdto . qr Code ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . IC P _ BE IAN , Ġdto . ic p Be ian ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . GO V _ BE IAN , Ġdto . gov Be ian ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . SHOW _ V IE WS , Ġdto . show Views ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . SHOW _ WORDS , Ġdto . show Words ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ AUDIT , Ġdto . enable Audit ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ COMMENT , Ġdto . enable Comment ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ FILE _ UPLOAD , Ġdto . enable FileUpload ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ IMAGE _ UPLOAD , Ġdto . enable Image Upload ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ SIGN UP , Ġdto . enable Signup ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ HE ART BE AT , Ġdto . enable Heartbeat ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . ENABLE _ ENCRYPT , Ġdto . enable Encrypt ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . GITHUB , Ġdto . github ) ĊĠĠĠĠĠĠĠ Ġsave Q ini u Properties ( dto . q ini u ) ĊĠĠĠĠĠĠĠ Ġreturn Ġget Site Config ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Q ini u Properties ( q ini u : ĠQ ini u Properties ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave ( Const . Q INI U _ ENABLED , Ġq ini u . enabled ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . Q INI U _ ACCESS _ KEY , Ġq ini u . access Key ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . Q INI U _ SECRET _ KEY , Ġq ini u . secret Key ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . Q INI U _ BUCKET , Ġq ini u . bucket ) ĊĠĠĠĠĠĠĠ Ġsave ( Const . Q INI U _ DOMAIN , Ġq ini u . domain ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( name : ĠString ) Ġ= Ġrepository . findById OrNull ( name ) ĊĊĠĠĠ Ġfun Ġget ( name : ĠString , Ġdefault : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcache . get If Present ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġconfig Ġ= Ġrepository . findById OrNull ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġrepository . save ( Config ( name , Ġdefault )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġconfig . value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig . value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( name : ĠString , Ġdefault : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcache . get If Present ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . to Boolean () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġconfig Ġ= Ġrepository . findById OrNull ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġrepository . save ( Config ( name , Ġdefault . toString (), ĠConfig Type . BOOLEAN )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġconfig . value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig . value Ġ== Ġ" true " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( name : ĠString , Ġdefault : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcache . get If Present ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġconfig Ġ= Ġrepository . findById OrNull ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġrepository . save ( Config ( name , Ġdefault . toString (), ĠConfig Type . INT )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġconfig . value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig . value . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( name : ĠString , Ġdefault : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcache . get If Present ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . to Long () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġconfig Ġ= Ġrepository . findById OrNull ( name ) ĊĠĠĠĠĠĠĠ Ġif Ġ( config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġrepository . save ( Config ( name , Ġdefault . toString (), ĠConfig Type . LONG )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġconfig . value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig . value . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( config : ĠConfig ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( config . name , Ġconfig . value ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . save ( config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( name : ĠString , Ġvalue : ĠString ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . save ( Config ( name , Ġvalue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( name : ĠString , Ġvalue : ĠBoolean ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġvalue . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . save ( Config ( name , Ġvalue . toString (), ĠConfig Type . BOOLEAN )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( name : ĠString , Ġvalue : ĠInt ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġvalue . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . save ( Config ( name , Ġvalue . toString (), ĠConfig Type . INT )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( name : ĠString , Ġvalue : ĠLong ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( name , Ġvalue . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . save ( Config ( name , Ġvalue . toString (), ĠConfig Type . LONG )) ĊĠĠĠ Ġ} Ċ } Ċ