Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
Model
// ActionID string `gorm:"size:64" json:"actionID"` // TODO
Name string `gorm:"size:256" json:"name"`
Describe string `gorm:"size:256" json:"describe"`
Resources []*Resource `gorm:"many2many:action_resources;" json:"resources"`
}
Action
type ActionService ¶
type ActionService interface {
// Find returns a action from the datastore.
Find(context.Context, uint64) (*Action, error)
// List returns a list of actions from the datastore.
List(context.Context) ([]*Action, error)
// Update persists a action to the datastore.
Update(context.Context, *Action) error
// Delete deletes a action from the datastore.
Delete(context.Context, uint64) error
// Create persists a new action to the datastore.
Create(context.Context, *Action) error
}
ActionService defines operations for working with system actions.
type AdmissionService ¶
type AdmissionService interface {
// LoadAllPolicy returns all policy from the datastore.
LoadAllPolicy(context.Context, []*Role) error
// DeleteAllPolicy deletes policy from the datastore.
DeleteAllPolicy(context.Context) error
// Admit can be used to restrict access to authorized users, such as
// members of an organization in your source control management system.
Admit(ctx context.Context, user *User, subject string, action string) (bool, error)
}
RoleService defines operations for working with system roles.
type Model ¶
type Model struct {
ID uint64 `gorm:"primary_key" json:"id"`
CreatedAt time.Time `sql:"index" json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt *time.Time `json:"deletedAt"`
}
Model represents meta data of entity.
type PageQuery ¶
func NewPageQuery ¶
type Permission ¶
type Permission struct {
Model
Name string `gorm:"size:64;unique_index" json:"name"`
Label string `gorm:"size:64" json:"label"`
Describe string `gorm:"size:256" json:"describe"`
Icon string `gorm:"size:64" json:"icon"`
Path string `gorm:"size:256" json:"path"`
Actions []*Action `gorm:"many2many:permission_actions;" json:"actions"`
DefaultCheck bool `gorm:"default:false" json:"defaultCheck"`
Status int `gorm:"default:1" json:"status"`
Deleted int `gorm:"default:0" json:"deleted"`
Selected []interface{} `gorm:"-" json:"selected"` //selected actions
}
permission.
func (*Permission) GetActionIds ¶
func (p *Permission) GetActionIds() mapset.Set
type PermissionService ¶
type PermissionService interface {
// Find returns a permission from the datastore.
Find(context.Context, uint64) (*Permission, error)
// FindWhere returns a list of users from the datastore.
FindWhere(PageQuery) ([]*Permission, pagination.Pagination)
// List returns a list of permissions from the datastore.
List(context.Context) ([]*Permission, error)
// Update persists a permission to the datastore.
Update(context.Context, *Permission) error
// Delete deletes a permission from the datastore.
Delete(context.Context, uint64) error
// Create persists a new permission to the datastore.
Create(context.Context, *Permission) error
}
PermissionService defines operations for working with system permissions.
type Resource ¶
type Resource struct {
Model
ActionID uint64 `json:"actionID"`
// Name string `gorm:"size:64" json:"name"`
// Describe string `gorm:"size:256" json:"describe"`
Method string `gorm:"size:64" json:"method"`
Path string `gorm:"size:256" json:"path"`
}
Permission represents an auth request of the system. Resource
type ResourceService ¶
type ResourceService interface {
// Find returns a resource from the datastore.
Find(context.Context, uint64) (*Resource, error)
// List returns a list of resources from the datastore.
List(context.Context) ([]*Resource, error)
// Update persists a resource to the datastore.
Update(context.Context, *Resource) error
// Delete deletes a resource from the datastore.
Delete(context.Context, uint64) error
// Create persists a new resource to the datastore.
Create(context.Context, *Resource) error
}
ResourceService defines operations for working with system resource.
type Role ¶
type Role struct {
Model
Name string `gorm:"size:64;unique_index" json:"name"`
Label string `gorm:"size:64" json:"label"`
Describe string `gorm:"size:256" json:"describe"`
CreateBy string `gorm:"size:64" json:"createBy"`
Status int `gorm:"default:1" json:"status"`
Deleted int `gorm:"default:0" json:"deleted"`
Permissions []*Permission `gorm:"many2many:role_permissions;" json:"permissions"`
Actions []*Action `gorm:"many2many:role_actions;" json:"actions"`
}
Role represents a user role of the system. Role
func (*Role) GetActionIds ¶
func (u *Role) GetActionIds() mapset.Set
type RoleAction ¶
type RoleService ¶
type RoleService interface {
// Find returns a role from the datastore.
Find(context.Context, uint64) (*Role, error)
// FindName returns a role from the datastore.
FindName(context.Context, string) (*Role, error)
// List returns a list of roles from the datastore.
List(context.Context) ([]*Role, error)
// Clear Related persists a role to the datastore.
RelatedClear(context.Context, *Role)
// Update persists a role to the datastore.
Update(ctx context.Context, role *Role, actionIDs []interface{}) error
// Delete deletes a role from the datastore.
Delete(context.Context, uint64) error
// Create persists a new role to the datastore.
Create(context.Context, *Role) error
}
RoleService defines operations for working with system roles.
type SessionData ¶
type SessionData struct {
UID uint64 // user ID
Username string // username
Roles string // user roles
Token string // user token
Anonymous bool // Anonymous user
}
SessionData represents the session.
func (*SessionData) Delete ¶
func (sd *SessionData) Delete(c *gin.Context, user *User, users UserService) error
func (*SessionData) Get ¶
func (sd *SessionData) Get(c *gin.Context, users UserService) (*User, error)
type Setting ¶
type Setting struct {
Model
Name string `sql:"index" gorm:"size:64;unique_index" json:"name"`
Value string `gorm:"type:text" json:"value"`
Describe string `gorm:"size:text" json:"describe"`
}
Setting represents a user setting of the system. Setting
type SettingService ¶
type SettingService interface {
// Find returns a setting from the datastore.
Find(context.Context, uint64) (*Setting, error)
// Find returns a setting from the datastore.
FindName(context.Context, string) (*Setting, error)
// Find returns a setting from the datastore.
FindLike(context.Context, string) ([]*Setting, error)
// List returns a list of settings from the datastore.
List(context.Context) ([]*Setting, error)
// Update persists a setting to the datastore.
Update(context.Context, *Setting) error
// Updates persists a setting to the datastore.
Updates(context.Context, []*Setting) error
// Delete deletes a setting from the datastore.
Delete(context.Context, uint64) error
// Create persists a new setting to the datastore.
Create(context.Context, *Setting) error
}
SettingService defines operations for working with system settings.
type User ¶
type User struct {
Model
Username string `gorm:"size:64" json:"username"`
Nickname string `gorm:"size:64" json:"nickname"`
Avatar string `gorm:"size:255" json:"avatar"`
BIO string `gorm:"size:512" json:"bio"`
Locale string `gorm:"size:64" json:"locale"`
Password string `gorm:"-" json:"password,omitempty"`
PasswordHash string `gorm:"size:64" json:"-"`
Email string `gorm:"size:64" json:"email"`
Phone string `gorm:"size:16" json:"phone"`
Status int `gorm:"default:1" json:"status"`
LoginIP string `gorm:"size:32" json:"loginIP"`
LoginAt *time.Time `json:"loginAt"`
Token string `gorm:"size:255" json:"-"`
Refresh string `gorm:"size:255" json:"-"`
Expiry int64 `gorm:"size:255" json:"-"`
Hash string `gorm:"size:64" json:"-"`
Roles []*Role `gorm:"many2many:user_roles;association_jointable_foreignkey:role_id" json:"roles"`
RoleList []uint64 `gorm:"-" json:"roleList" `
}
User represents a user of the system.
func (*User) FillRoleList ¶
func (u *User) FillRoleList()
func (*User) FillRolePermissionList ¶
func (u *User) FillRolePermissionList()
type UserService ¶
type UserService interface {
// Find returns a user from the datastore.
Find(context.Context, uint64) (*User, error)
// FindName returns a user from the datastore by username.
FindName(context.Context, string) (*User, error)
// FindToken returns a user from the datastore by token.
FindToken(context.Context, string) (*User, error)
// FindWhere returns a list of users from the datastore.
FindWhere(PageQuery, []string) ([]*User, pagination.Pagination)
// List returns a list of users from the datastore.
List(context.Context) ([]*User, error)
// Create persists a new user to the datastore.
Create(context.Context, *User) error
// Update persists an updated user to the datastore.
Update(context.Context, *User) error
// Update columns persists an updated user to the datastore.
Updates(context.Context, *User, interface{}) error
// Delete deletes a user from the datastore.
Delete(context.Context, uint64) error
// Count returns a count of users.
Count(context.Context) (int, error)
// RelatedClear returns a user from the datastore by token.
RelatedClear(context.Context, *User)
}
UserService defines operations for working with users.