# Functions
GetInMemoryDbInstance get InMemoryDatabase implementation.
GetMySQLDBInstance will obtain the singleton instance to MySQLDB.
# Constants
CreateGroupRoleSQL contains SQL to create HANSIP_GROUP_ROLE table.
CreateGroupSQL contains SQL to create HANSIP_GROUP.
CreateRoleSQL contains SQL to create HANSIP_ROLE table.
CreateTOTPRecoveryCodeSQL contains SQL to create HANSIP_TOTP_RECOVERY_CODES table.
CreateUserGroupSQL contains SQL to create HANSIP_USER_GROUP.
CreateUserRoleSQL contains SQL to create HANSIP_USER_ROLE table.
CreateUserSQL will create HANSIP_USER table.
DropAllSQL contains SQL to drop all existing table for hansip.
# Structs
DummyMail dummy email data structure.
DummyMailSender a dummy email sender.
Group record entity.
GroupRole record entity.
InMemoryDb structure that stores inmemory data.
MySQLDB is a struct to hold sql.DB pointer.
Recipients contains recipient map.
Role record entity.
SendGridSender implementation using sendgrid.
SendMailSender send mail implementation using sendmail.
TOTPRecoveryCode used to login the user if the user lost his TOTP code due to lost of 2FE token device.
User record entity.
UserGroup record entity.
UserRole record entity.
# Interfaces
DBUtil is interface to help working with table create and drop.
EmailSender an email sender interface.
GroupRepository manage Group table.
GroupRoleRepository manage GroupRole table.
RoleRepository manage Role table.
UserGroupRepository manage UserGroup table.
UserRepository manage User table.
UserRoleRepository manage UserRole table.