# Constants
AdminRole has admin specific permissions.
CompanyAdminRole can edit company specific things.
LocationAdminRole can edit location specific things.
SuperAdminRole has all permissions.
UserRole is a standard user.
# Variables
ErrBadRequest (400) is returned for bad request (validation).
ErrGeneric is used for testing purposes and for errors handled later in the callstack.
ErrUnauthorized (401) is returned when user is not authorized.
# Structs
AuthToken holds authentication token details with refresh token.
AuthUser represents data stored in JWT token for user.
Base contains common fields for all tables.
Company represents company model.
ListQuery holds company/location data used for list db queries.
Location represents company location model.
Pagination holds paginations data.
PaginationReq holds pagination http fields and tags.
RefreshToken holds authentication token details.
Role model.
User represents user domain model.
# Interfaces
Logger represents logging interface.
RBACService represents role-based access control service interface.
# Type aliases
AccessRole represents access role type.