Documentation
¶
Index ¶
- Constants
- func MapToJson(m map[string]interface{}) string
- type Action
- type AllTenantsCheckResponse
- type AssignedRole
- type CheckRequest
- func NewBulkCheckRequest(requests ...CheckRequest) []CheckRequest
- func NewBulkCheckRequestParameterized(user []User, action []Action, resource []Resource, context []map[string]string) ([]CheckRequest, error)
- func NewCheckRequest(user User, action Action, resource Resource, context map[string]string) *CheckRequest
- type CheckResponse
- type GetUserPermissionsRequest
- type PermitBaseEnforcer
- type PermitEnforcer
- func (e *PermitEnforcer) AllTenantsCheck(user User, action Action, resource Resource, ...) ([]TenantDetails, error)
- func (e *PermitEnforcer) BulkCheck(requests ...CheckRequest) ([]bool, error)
- func (e *PermitEnforcer) Check(user User, action Action, resource Resource, ...) (bool, error)
- func (e *PermitEnforcer) FilterObjects(user User, action Action, context map[string]string, resources ...ResourceI) ([]ResourceI, error)
- func (e *PermitEnforcer) GetUserPermissions(user User, tenants ...string) (UserPermissions, error)
- func (e *PermitEnforcer) GetUserPermissionsWithOptions(user User, opts ...UserPermissionsOption) (UserPermissions, error)
- type Resource
- func (r *Resource) Build() Resource
- func (r *Resource) GetAttributes() map[string]interface{}
- func (r *Resource) GetContext() map[string]string
- func (r *Resource) GetID() string
- func (r *Resource) GetTenant() string
- func (r *Resource) GetType() string
- func (r *Resource) WithAttributes(attributes map[string]interface{}) *Resource
- func (r *Resource) WithContext(context map[string]string) *Resource
- func (r *Resource) WithID(ID string) *Resource
- func (r *Resource) WithKey(key string) *Resource
- func (r *Resource) WithTenant(tenant string) *Resource
- type ResourceDetails
- type ResourceI
- type TenantDetails
- type TenantUserPermissions
- type User
- func (u *User) Build() User
- func (u *User) WithAttributes(attributes map[string]interface{}) *User
- func (u *User) WithEmail(email string) *User
- func (u *User) WithFirstName(firstName string) *User
- func (u *User) WithLastName(lastName string) *User
- func (u *User) WithRoles(roles []AssignedRole) *User
- type UserPermissions
- type UserPermissionsOption
Constants ¶
View Source
const ( DefaultTenant = "default" DefaultTimeout = 30 AllowKey = "allow" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AllTenantsCheckResponse ¶ added in v0.0.14
type AllTenantsCheckResponse struct { CheckResponse Tenant TenantDetails `json:"tenant"` }
type AssignedRole ¶
type CheckRequest ¶
type CheckRequest struct { User User `json:"user"` Action Action `json:"action"` Resource Resource `json:"resource"` Context map[string]string `json:"context"` }
func NewBulkCheckRequest ¶ added in v0.0.14
func NewBulkCheckRequest(requests ...CheckRequest) []CheckRequest
func NewBulkCheckRequestParameterized ¶ added in v0.0.14
func NewCheckRequest ¶
type CheckResponse ¶
type GetUserPermissionsRequest ¶ added in v0.0.19
type GetUserPermissionsRequest struct { User User `json:"user"` Tenants []string `json:"tenants,omitempty"` Resources []string `json:"resources,omitempty"` ResourceTypes []string `json:"resource_types,omitempty"` Context map[string]interface{} `json:"context,omitempty"` }
func NewGetUserPermissionsRequest ¶ added in v0.0.19
func NewGetUserPermissionsRequest(user User, tenants []string) *GetUserPermissionsRequest
type PermitBaseEnforcer ¶
type PermitBaseEnforcer struct {
// contains filtered or unexported fields
}
type PermitEnforcer ¶
type PermitEnforcer struct {
PermitBaseEnforcer
}
func NewPermitEnforcerClient ¶
func NewPermitEnforcerClient(config *config.PermitConfig) *PermitEnforcer
func (*PermitEnforcer) AllTenantsCheck ¶ added in v0.0.14
func (e *PermitEnforcer) AllTenantsCheck(user User, action Action, resource Resource, additionalContext ...map[string]string) ([]TenantDetails, error)
func (*PermitEnforcer) BulkCheck ¶ added in v0.0.14
func (e *PermitEnforcer) BulkCheck(requests ...CheckRequest) ([]bool, error)
func (*PermitEnforcer) FilterObjects ¶ added in v0.0.15
func (*PermitEnforcer) GetUserPermissions ¶ added in v0.0.19
func (e *PermitEnforcer) GetUserPermissions(user User, tenants ...string) (UserPermissions, error)
func (*PermitEnforcer) GetUserPermissionsWithOptions ¶ added in v1.2.5
func (e *PermitEnforcer) GetUserPermissionsWithOptions(user User, opts ...UserPermissionsOption) (UserPermissions, error)
type Resource ¶
type Resource struct { Type string `json:"type,omitempty"` ID string `json:"id,omitempty"` Key string `json:"key,omitempty"` Tenant string `json:"tenant,omitempty"` Attributes map[string]interface{} `json:"attributes,omitempty"` Context map[string]string `json:"context,omitempty"` }
func ResourceBuilder ¶
func (*Resource) GetAttributes ¶ added in v0.0.15
func (*Resource) GetContext ¶ added in v0.0.15
func (*Resource) WithAttributes ¶
func (*Resource) WithTenant ¶
type ResourceDetails ¶ added in v1.2.2
type TenantDetails ¶ added in v0.0.14
type TenantUserPermissions ¶ added in v0.0.19
type TenantUserPermissions struct { Tenant TenantDetails `json:"tenant"` Resource *ResourceDetails `json:"resource,omitempty"` Permissions []string `json:"permissions"` Roles []string `json:"roles"` }
type User ¶
type User struct { Key string `json:"key,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` Email string `json:"email,omitempty"` Roles []AssignedRole `json:"roles,omitempty"` Attributes map[string]interface{} `json:"attributes,omitempty"` }
func UserBuilder ¶
func (*User) WithAttributes ¶
func (*User) WithFirstName ¶
func (*User) WithLastName ¶
func (*User) WithRoles ¶
func (u *User) WithRoles(roles []AssignedRole) *User
type UserPermissions ¶ added in v0.0.19
type UserPermissions map[string]TenantUserPermissions
type UserPermissionsOption ¶ added in v1.2.5
type UserPermissionsOption func(*GetUserPermissionsRequest)
func WithContext ¶ added in v1.2.5
func WithContext(context map[string]interface{}) UserPermissionsOption
func WithResourceTypes ¶ added in v1.2.5
func WithResourceTypes(resourceTypes []string) UserPermissionsOption
func WithResources ¶ added in v1.2.5
func WithResources(resources []string) UserPermissionsOption
func WithTenants ¶ added in v1.2.5
func WithTenants(tenants []string) UserPermissionsOption
Click to show internal directories.
Click to hide internal directories.