/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠElectron ic ĠSystems ĠAnd ĠServices ĠLtd . Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġby . es as . tools . access container . support Ċ Ċ import Ġby . es as . tools . access container . Container Request Ċ import Ġby . es as . tools . access container . entity . Auth Type Ċ import Ġby . es as . tools . access container . entity . Token Ċ import Ġby . es as . tools . logger . Base Error Model Ċ import Ġjavax . crypto . Cipher Ċ import Ġjavax . crypto . SecretKey Ċ Ċ interface ĠI Container Executor < E : Enum < E >, ĠM Ġ: ĠBase Error Model < E >> Ġ{ ĊĠĠĠ Ġfun Ġrefresh Access UC ( refresh Token : ĠString , Ġblock : ĠContainer Request < Token ?, ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġget Secrets UC ( block : ĠContainer Request < List < Auth Type >, ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġrefresh With Secret UC ( pin Key : ĠSecret Key ? Ġ= Ġnull , Ġcipher : ĠCipher ? Ġ= Ġnull , Ġblock : ĠContainer Request < Token , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġcheck Secret UC ( pin Key : ĠSecret Key ? Ġ= Ġnull , Ġcipher : ĠCipher ? Ġ= Ġnull , Ġblock : ĠContainer Request < Pair < Boolean , ĠString >, ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġrefresh With Secret UC ( secret : ĠString , Ġblock : ĠContainer Request < Token , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġauthorization In System UC ( password : ĠString , Ġblock : ĠContainer Request < Token , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġcreate Secret UC ( token : ĠString , Ġcipher : ĠCipher ? Ġ= Ġnull , Ġpin Key : ĠSecret Key ? Ġ= Ġnull , Ġblock : ĠContainer Request < Boolean , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġdelete Secret Type UC ( type : ĠAuth Type , Ġblock : ĠContainer Request < Boolean , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġdelete Secrets UC ( block : ĠContainer Request < Boolean , ĠE , ĠM >. () Ġ-> ĠUnit ) ĊĊĠĠĠ Ġfun Ġunsubscribe () Ċ }