Documentation ¶
Overview ¶
The keys module containing the keys CRUD operation and relationship CRUD
hcl.go: Policy HCL Parser
models.go: definition of orm based data model
routers.go: router binding and core logic
serializers.go: definition the schema of return data
validators.go: definition the validator of form data
Index ¶
- Constants
- func DeletePolicyModel(condition interface{}) error
- func GetCapabilitiesFromBitmap(bitmap uint32) map[string]bool
- func PolicyCreateOrUpdate(c *gin.Context)
- func PolicyDelete(c *gin.Context)
- func PolicyList(c *gin.Context)
- func PolicyRegister(router *gin.RouterGroup)
- func PolicyRetrieve(c *gin.Context)
- func SaveOne(data interface{}) error
- func SeedDB(c *common.Config) error
- type ACLPermissions
- type HCLPolicy
- type HCLPolicyPathRules
- type PoliciesResponse
- type PoliciesSerializer
- type PolicyModel
- type PolicyModelValidator
- type PolicyResponse
- type PolicySerializer
Constants ¶
View Source
const ( DenyCapability = "deny" CreateCapability = "create" ReadCapability = "read" UpdateCapability = "update" DeleteCapability = "delete" ListCapability = "list" SudoCapability = "sudo" RootCapability = "root" PatchCapability = "patch" )
View Source
const ( DenyCapabilityInt uint32 = 1 << iota CreateCapabilityInt ReadCapabilityInt UpdateCapabilityInt DeleteCapabilityInt ListCapabilityInt SudoCapabilityInt PatchCapabilityInt )
Variables ¶
This section is empty.
Functions ¶
func DeletePolicyModel ¶
func DeletePolicyModel(condition interface{}) error
func PolicyCreateOrUpdate ¶
func PolicyDelete ¶
func PolicyList ¶
func PolicyRegister ¶
func PolicyRegister(router *gin.RouterGroup)
func PolicyRetrieve ¶
Types ¶
type ACLPermissions ¶
type HCLPolicy ¶
type HCLPolicy struct { Name string `hcl:"name"` Paths []*HCLPolicyPathRules `hcl:"-"` Raw string }
func ParseHCLPolicy ¶
type HCLPolicyPathRules ¶
type PoliciesResponse ¶
type PoliciesResponse struct {
Policies []string `json:"keys"`
}
type PoliciesSerializer ¶
type PoliciesSerializer struct { C *gin.Context Policies []PolicyModel }
func (*PoliciesSerializer) Response ¶
func (s *PoliciesSerializer) Response() PoliciesResponse
type PolicyModel ¶
type PolicyModel struct { gorm.Model Name string `gorm:"column:name,unique_index"` Text string `gorm:"column:text,size:4096"` }
func FindManyPolicies ¶
func FindManyPolicies() ([]PolicyModel, int64, error)
func FindOnePolicy ¶
func FindOnePolicy(condition interface{}) (PolicyModel, error)
func NewDefaultPolicy ¶
func NewDefaultPolicy() *PolicyModel
func NewRootPolicy ¶
func NewRootPolicy() *PolicyModel
func (*PolicyModel) Update ¶
func (p *PolicyModel) Update(data interface{}) error
type PolicyModelValidator ¶
type PolicyModelValidator struct { Name string `json:"-"` Text string `form:"policy" json:"policy"` // contains filtered or unexported fields }
func NewPolicyModelValidator ¶
func NewPolicyModelValidator() PolicyModelValidator
func NewPolicyModelValidatorFillWith ¶
func NewPolicyModelValidatorFillWith(policyModel PolicyModel) PolicyModelValidator
type PolicyResponse ¶
type PolicySerializer ¶
type PolicySerializer struct { C *gin.Context PolicyModel }
func (*PolicySerializer) Response ¶
func (s *PolicySerializer) Response() PolicyResponse
Click to show internal directories.
Click to hide internal directories.