@startuml skinparam packageStyle rectangle package "thalos-dal" { class IdentityPolicyLookupRequest class IdentityPolicyRecord class IdentityTokenLookupRequest class IdentityTokenRecord class IdentityPermissionSetLookupRequest class IdentityPermissionRecord interface IIdentityDalGrpcContractAdapter interface IUserDataProvider interface IRoleDataProvider interface IPermissionDataProvider interface IModuleDataProvider interface ITenantDataProvider interface IIdentityRepository interface IDalDependencyHealthCheck IIdentityDalGrpcContractAdapter --> IdentityPolicyLookupRequest IIdentityDalGrpcContractAdapter --> IdentityTokenLookupRequest IIdentityRepository --> IUserDataProvider IIdentityRepository --> IRoleDataProvider IIdentityRepository --> IPermissionDataProvider IIdentityRepository --> IModuleDataProvider IIdentityRepository --> ITenantDataProvider IIdentityRepository --> IDalDependencyHealthCheck IIdentityRepository --> IdentityPolicyLookupRequest IIdentityRepository --> IdentityPolicyRecord IIdentityRepository --> IdentityTokenLookupRequest IIdentityRepository --> IdentityTokenRecord IIdentityRepository --> IdentityPermissionSetLookupRequest IIdentityRepository --> IdentityPermissionRecord } package "thalos-service" as ThalosService ThalosService --> IIdentityRepository @enduml