Documentation
¶
Index ¶
- func ConvertTimeFromGorm(t gorm.DeletedAt) lang.Time
- func ConvertTimeToGorm(t lang.Time) gorm.DeletedAt
- func CopyBaseFieldsFromDtoToEntity(src *rbac.BaseDTO, dst *BaseEntity)
- func CopyBaseFieldsFromEntityToDTO(src *BaseEntity, dst *rbac.BaseDTO)
- type BaseEntity
- type EmailAddressConvertor
- type EmailAddressDAO
- type EmailAddressEntity
- type Finder
- type LocalAgent
- type LocalAgentImpl
- type PermissionConvertor
- type PermissionDAO
- type PermissionEntity
- type PhoneNumberConvertor
- type PhoneNumberDAO
- type PhoneNumberEntity
- type RegionConvertor
- type RegionDAO
- type RegionEntity
- type RoleConvertor
- type RoleDAO
- type RoleEntity
- type ThisGroupRegistry
- type UserConvertor
- type UserDAO
- type UserEntity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertTimeFromGorm ¶
ConvertTimeFromGorm ...
func CopyBaseFieldsFromDtoToEntity ¶
func CopyBaseFieldsFromDtoToEntity(src *rbac.BaseDTO, dst *BaseEntity)
CopyBaseFieldsFromDtoToEntity ...
func CopyBaseFieldsFromEntityToDTO ¶
func CopyBaseFieldsFromEntityToDTO(src *BaseEntity, dst *rbac.BaseDTO)
CopyBaseFieldsFromEntityToDTO ...
Types ¶
type BaseEntity ¶
type BaseEntity struct { UUID lang.UUID `gorm:"unique"` CreatedAt time.Time UpdatedAt time.Time DeletedAt gorm.DeletedAt `gorm:"index"` Owner rbac.UserID Creator rbac.UserID Updater rbac.UserID }
BaseEntity 是基本的数据库实体
type EmailAddressConvertor ¶
type EmailAddressConvertor interface { ConvertE2D(c context.Context, entity *EmailAddressEntity) (*rbac.EmailAddressDTO, error) ConvertD2E(c context.Context, dto *rbac.EmailAddressDTO) (*EmailAddressEntity, error) ConvertListE2D(c context.Context, entity []*EmailAddressEntity) ([]*rbac.EmailAddressDTO, error) }
EmailAddressConvertor ...
type EmailAddressDAO ¶
type EmailAddressDAO interface { Insert(db *gorm.DB, o *EmailAddressEntity) (*EmailAddressEntity, error) Update(db *gorm.DB, id rbac.EmailAddressID, updater func(*EmailAddressEntity)) (*EmailAddressEntity, error) Delete(db *gorm.DB, id rbac.EmailAddressID) error Find(db *gorm.DB, id rbac.EmailAddressID) (*EmailAddressEntity, error) List(db *gorm.DB, q *rbac.EmailAddressQuery) ([]*EmailAddressEntity, error) FindByAddress(db *gorm.DB, address rbac.EmailAddress) (*EmailAddressEntity, error) }
EmailAddressDAO ...
type EmailAddressEntity ¶
type EmailAddressEntity struct { ID rbac.EmailAddressID `gorm:"primaryKey"` BaseEntity Address rbac.EmailAddress `gorm:"unique"` Verified bool }
EmailAddressEntity ...
type Finder ¶ added in v0.0.14
type Finder interface { Init(db *gorm.DB) Finder AsList(list any) Finder AsEntity(entity any) Finder All(all bool) Finder WithPagination(page *rbac.Pagination) Finder WithConditions(cond *rbac.Conditions) Finder Find() error }
Finder 提供一套通用的查询工具
type LocalAgentImpl ¶
type LocalAgentImpl struct { DataSourceMan libgorm.DataSourceManager //starter:inject("#") DataSourceAlias string //starter:inject("${datagroup.rbac.datasource}") // contains filtered or unexported fields }
LocalAgentImpl ...
type PermissionConvertor ¶
type PermissionConvertor interface { ConvertE2D(c context.Context, entity *PermissionEntity) (*rbac.PermissionDTO, error) ConvertD2E(c context.Context, dto *rbac.PermissionDTO) (*PermissionEntity, error) ConvertListE2D(c context.Context, entity []*PermissionEntity) ([]*rbac.PermissionDTO, error) }
PermissionConvertor 负责 dto <==> entity 的转换
type PermissionDAO ¶
type PermissionDAO interface { Insert(db *gorm.DB, o *PermissionEntity) (*PermissionEntity, error) Update(db *gorm.DB, id rbac.PermissionID, updater func(*PermissionEntity)) (*PermissionEntity, error) Delete(db *gorm.DB, id rbac.PermissionID) error Find(db *gorm.DB, id rbac.PermissionID) (*PermissionEntity, error) List(db *gorm.DB, q *rbac.PermissionQuery) ([]*PermissionEntity, error) ListAll(db *gorm.DB) ([]*PermissionEntity, error) }
PermissionDAO 是数据库访问对象
type PermissionEntity ¶
type PermissionEntity struct { ID rbac.PermissionID `gorm:"primaryKey"` BaseEntity Method string Path string Resource string `gorm:"unique"` // like 'method + ":" + path' AcceptRoles rbac.RoleNameList `gorm:"column:roles"` Enabled bool // 启用该项 }
PermissionEntity 表示 Permission 的数据库实体
type PhoneNumberConvertor ¶
type PhoneNumberConvertor interface { ConvertE2D(c context.Context, entity *PhoneNumberEntity) (*rbac.PhoneNumberDTO, error) ConvertD2E(c context.Context, dto *rbac.PhoneNumberDTO) (*PhoneNumberEntity, error) ConvertListE2D(c context.Context, entity []*PhoneNumberEntity) ([]*rbac.PhoneNumberDTO, error) }
PhoneNumberConvertor ...
type PhoneNumberDAO ¶
type PhoneNumberDAO interface { Insert(db *gorm.DB, o *PhoneNumberEntity) (*PhoneNumberEntity, error) Update(db *gorm.DB, id rbac.PhoneNumberID, updater func(*PhoneNumberEntity)) (*PhoneNumberEntity, error) Delete(db *gorm.DB, id rbac.PhoneNumberID) error Find(db *gorm.DB, id rbac.PhoneNumberID) (*PhoneNumberEntity, error) FindByNumber(db *gorm.DB, num rbac.FullPhoneNumber) (*PhoneNumberEntity, error) List(db *gorm.DB, q *rbac.PhoneNumberQuery) ([]*PhoneNumberEntity, error) }
PhoneNumberDAO ...
type PhoneNumberEntity ¶
type PhoneNumberEntity struct { ID rbac.PhoneNumberID `gorm:"primaryKey"` BaseEntity FullNumber rbac.PurePhoneNumber `gorm:"unique"` Region rbac.RegionPhoneCode SimpleNumber rbac.SimplePhoneNumber Verified bool }
PhoneNumberEntity ...
type RegionConvertor ¶ added in v0.0.7
type RegionConvertor interface { ConvertE2D(c context.Context, entity *RegionEntity) (*rbac.RegionDTO, error) ConvertD2E(c context.Context, dto *rbac.RegionDTO) (*RegionEntity, error) ConvertListE2D(c context.Context, entity []*RegionEntity) ([]*rbac.RegionDTO, error) }
RegionConvertor 负责 dto <==> entity 的转换
type RegionDAO ¶ added in v0.0.7
type RegionDAO interface { Insert(db *gorm.DB, o *RegionEntity) (*RegionEntity, error) Update(db *gorm.DB, id rbac.RegionID, updater func(*RegionEntity)) (*RegionEntity, error) Delete(db *gorm.DB, id rbac.RegionID) error Find(db *gorm.DB, id rbac.RegionID) (*RegionEntity, error) List(db *gorm.DB, q *rbac.RegionQuery) ([]*RegionEntity, error) ListAll(db *gorm.DB) ([]*RegionEntity, error) }
RegionDAO 是数据库访问对象
type RegionEntity ¶ added in v0.0.7
type RegionEntity struct { ID rbac.RegionID BaseEntity DisplayName string SimpleName string FullName string FlagURL string Code2 rbac.RegionCode2 `gorm:"unique"` Code3 rbac.RegionCode3 `gorm:"unique"` PhoneCode rbac.RegionPhoneCode `gorm:"unique"` }
RegionEntity 表示区域的实体
func (RegionEntity) TableName ¶ added in v0.0.7
func (RegionEntity) TableName() string
TableName ...
type RoleConvertor ¶
type RoleConvertor interface { ConvertE2D(c context.Context, entity *RoleEntity) (*rbac.RoleDTO, error) ConvertD2E(c context.Context, dto *rbac.RoleDTO) (*RoleEntity, error) ConvertListE2D(c context.Context, entity []*RoleEntity) ([]*rbac.RoleDTO, error) }
RoleConvertor 负责 dto <==> entity 的转换
type RoleDAO ¶
type RoleDAO interface { Insert(db *gorm.DB, o *RoleEntity) (*RoleEntity, error) Update(db *gorm.DB, id rbac.RoleID, updater func(*RoleEntity)) (*RoleEntity, error) Delete(db *gorm.DB, id rbac.RoleID) error Find(db *gorm.DB, id rbac.RoleID) (*RoleEntity, error) List(db *gorm.DB, q *rbac.RoleQuery) ([]*RoleEntity, error) ListAll(db *gorm.DB) ([]*RoleEntity, error) }
RoleDAO 是数据库访问对象
type RoleEntity ¶
type RoleEntity struct { ID rbac.RoleID `gorm:"primaryKey"` BaseEntity Name rbac.RoleName `gorm:"unique"` Description string }
RoleEntity 表示 Role 的数据库实体
type ThisGroupRegistry ¶
type ThisGroupRegistry struct { Enabled bool //starter:inject("${datagroup.rbac.enabled}") Prefix string //starter:inject("${datagroup.rbac.table-name-prefix}") Source string //starter:inject("${datagroup.rbac.datasource}") // contains filtered or unexported fields }
ThisGroupRegistry ... 注册这一组(rbac.db)数据表
func (*ThisGroupRegistry) Groups ¶
func (inst *ThisGroupRegistry) Groups() []*libgorm.GroupRegistration
Groups ...
type UserConvertor ¶
type UserConvertor interface { ConvertE2D(c context.Context, entity *UserEntity) (*rbac.UserDTO, error) ConvertD2E(c context.Context, dto *rbac.UserDTO) (*UserEntity, error) ConvertListE2D(c context.Context, entity []*UserEntity) ([]*rbac.UserDTO, error) }
UserConvertor 负责 dto <==> entity 的转换
type UserDAO ¶
type UserDAO interface { Insert(db *gorm.DB, o *UserEntity) (*UserEntity, error) Update(db *gorm.DB, id rbac.UserID, updater func(o *UserEntity)) (*UserEntity, error) Delete(db *gorm.DB, id rbac.UserID) error FindByAny(db *gorm.DB, text string) (*UserEntity, error) FindByName(db *gorm.DB, name rbac.UserName) (*UserEntity, error) FindByPhone(db *gorm.DB, phone rbac.FullPhoneNumber) (*UserEntity, error) FindByEmail(db *gorm.DB, email rbac.EmailAddress) (*UserEntity, error) Find(db *gorm.DB, id rbac.UserID) (*UserEntity, error) List(db *gorm.DB, q *rbac.UserQuery) ([]*UserEntity, error) }
UserDAO 是数据库访问对象
type UserEntity ¶
type UserEntity struct { ID rbac.UserID `gorm:"primaryKey"` BaseEntity Name rbac.UserName `gorm:"unique"` // 用户名 Nickname string // 昵称 Avatar string // 头像 (HTTP-URL) Phone rbac.PhoneNumberID // 主要的手机号 Email rbac.EmailAddressID // 主要的 e-mail 地址 Roles rbac.RoleNameList // 用户的角色 Enabled bool // 启用该项 Password lang.Hex // 用户当前的密码 Salt lang.Hex // 跟密码相关的盐 }
UserEntity 表示 User 的数据库实体