Documentation
¶
Overview ¶
Package memory provides an in-memory implementation of the Warden composite store. It is intended for testing and development.
Index ¶
- type Store
- func (s *Store) AttachPermission(_ context.Context, tenantID string, roleID id.RoleID, ref permission.Ref) error
- func (s *Store) CheckDirectRelation(_ context.Context, tenantID string, namespacePaths []string, ...) (bool, error)
- func (s *Store) Close() error
- func (s *Store) CountAssignments(_ context.Context, filter *assignment.ListFilter) (int64, error)
- func (s *Store) CountCheckLogs(_ context.Context, filter *checklog.QueryFilter) (int64, error)
- func (s *Store) CountPermissions(_ context.Context, filter *permission.ListFilter) (int64, error)
- func (s *Store) CountPolicies(_ context.Context, filter *policy.ListFilter) (int64, error)
- func (s *Store) CountRelations(_ context.Context, filter *relation.ListFilter) (int64, error)
- func (s *Store) CountResourceTypes(_ context.Context, filter *resourcetype.ListFilter) (int64, error)
- func (s *Store) CountRoles(_ context.Context, filter *role.ListFilter) (int64, error)
- func (s *Store) CreateAssignment(_ context.Context, a *assignment.Assignment) error
- func (s *Store) CreateCheckLog(_ context.Context, e *checklog.Entry) error
- func (s *Store) CreatePermission(_ context.Context, p *permission.Permission) error
- func (s *Store) CreatePolicy(_ context.Context, p *policy.Policy) error
- func (s *Store) CreateRelation(_ context.Context, t *relation.Tuple) error
- func (s *Store) CreateResourceType(_ context.Context, rt *resourcetype.ResourceType) error
- func (s *Store) CreateRole(_ context.Context, r *role.Role) error
- func (s *Store) DeleteAssignment(_ context.Context, tenantID string, assID id.AssignmentID) error
- func (s *Store) DeleteAssignmentsByRole(_ context.Context, tenantID string, roleID id.RoleID) error
- func (s *Store) DeleteAssignmentsBySubject(_ context.Context, tenantID, subjectKind, subjectID string) error
- func (s *Store) DeleteAssignmentsByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeleteCheckLogsBySubject(_ context.Context, tenantID, subjectKind, subjectID string) (int64, error)
- func (s *Store) DeleteCheckLogsByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeleteExpiredAssignments(_ context.Context, now time.Time) (int64, error)
- func (s *Store) DeleteExpiredAssignmentsForTenant(_ context.Context, tenantID string, now time.Time) (int64, error)
- func (s *Store) DeletePermission(_ context.Context, tenantID string, permID id.PermissionID) error
- func (s *Store) DeletePermissionsByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeletePoliciesByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeletePolicy(_ context.Context, tenantID string, polID id.PolicyID) error
- func (s *Store) DeleteRelation(_ context.Context, tenantID string, relID id.RelationID) error
- func (s *Store) DeleteRelationTuple(_ context.Context, ...) error
- func (s *Store) DeleteRelationsByObject(_ context.Context, tenantID, objectType, objectID string) error
- func (s *Store) DeleteRelationsBySubject(_ context.Context, tenantID, subjectType, subjectID string) error
- func (s *Store) DeleteRelationsByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeleteResourceType(_ context.Context, tenantID string, rtID id.ResourceTypeID) error
- func (s *Store) DeleteResourceTypesByTenant(_ context.Context, tenantID string) error
- func (s *Store) DeleteRole(_ context.Context, tenantID string, roleID id.RoleID) error
- func (s *Store) DeleteRolesByTenant(_ context.Context, tenantID string) error
- func (s *Store) DetachPermission(_ context.Context, tenantID string, roleID id.RoleID, ref permission.Ref) error
- func (s *Store) GetAssignment(_ context.Context, tenantID string, assID id.AssignmentID) (*assignment.Assignment, error)
- func (s *Store) GetCheckLog(_ context.Context, tenantID string, logID id.CheckLogID) (*checklog.Entry, error)
- func (s *Store) GetPermission(_ context.Context, tenantID string, permID id.PermissionID) (*permission.Permission, error)
- func (s *Store) GetPermissionByName(_ context.Context, tenantID, namespacePath, name string) (*permission.Permission, error)
- func (s *Store) GetPolicy(_ context.Context, tenantID string, polID id.PolicyID) (*policy.Policy, error)
- func (s *Store) GetPolicyByName(_ context.Context, tenantID, namespacePath, name string) (*policy.Policy, error)
- func (s *Store) GetRelation(_ context.Context, tenantID string, relID id.RelationID) (*relation.Tuple, error)
- func (s *Store) GetResourceType(_ context.Context, tenantID string, rtID id.ResourceTypeID) (*resourcetype.ResourceType, error)
- func (s *Store) GetResourceTypeByName(_ context.Context, tenantID, namespacePath, name string) (*resourcetype.ResourceType, error)
- func (s *Store) GetRole(_ context.Context, tenantID string, roleID id.RoleID) (*role.Role, error)
- func (s *Store) GetRoleBySlug(_ context.Context, tenantID, namespacePath, slug string) (*role.Role, error)
- func (s *Store) GetRoles(_ context.Context, tenantID string, roleIDs []id.RoleID) ([]*role.Role, error)
- func (s *Store) ListActivePolicies(_ context.Context, tenantID string, namespacePaths []string) ([]*policy.Policy, error)
- func (s *Store) ListAssignments(_ context.Context, filter *assignment.ListFilter) ([]*assignment.Assignment, error)
- func (s *Store) ListCheckLogs(_ context.Context, filter *checklog.QueryFilter) ([]*checklog.Entry, error)
- func (s *Store) ListChildRoles(_ context.Context, tenantID, parentSlug string) ([]*role.Role, error)
- func (s *Store) ListExpiringAssignments(_ context.Context, tenantID string, before time.Time, limit int) ([]*assignment.Assignment, error)
- func (s *Store) ListPermissions(_ context.Context, filter *permission.ListFilter) ([]*permission.Permission, error)
- func (s *Store) ListPermissionsByRole(ctx context.Context, tenantID string, roleID id.RoleID) ([]*permission.Permission, error)
- func (s *Store) ListPermissionsBySubject(_ context.Context, tenantID, subjectKind, subjectID string) ([]*permission.Permission, error)
- func (s *Store) ListPolicies(_ context.Context, filter *policy.ListFilter) ([]*policy.Policy, error)
- func (s *Store) ListRelationObjects(_ context.Context, tenantID, namespacePath, subjectType, subjectID, rel string, ...) ([]*relation.Tuple, error)
- func (s *Store) ListRelationSubjects(_ context.Context, tenantID string, namespacePaths []string, ...) ([]*relation.Tuple, error)
- func (s *Store) ListRelations(_ context.Context, filter *relation.ListFilter) ([]*relation.Tuple, error)
- func (s *Store) ListResourceTypes(_ context.Context, filter *resourcetype.ListFilter) ([]*resourcetype.ResourceType, error)
- func (s *Store) ListRolePermissions(_ context.Context, tenantID string, roleID id.RoleID) ([]*permission.Permission, error)
- func (s *Store) ListRolePermissionsForRoles(_ context.Context, tenantID string, roleIDs []id.RoleID) (map[id.RoleID][]*permission.Permission, error)
- func (s *Store) ListRoles(_ context.Context, filter *role.ListFilter) ([]*role.Role, error)
- func (s *Store) ListRolesForSubject(_ context.Context, tenantID string, namespacePaths []string, ...) ([]id.RoleID, error)
- func (s *Store) ListRolesForSubjectOnResource(_ context.Context, tenantID string, namespacePaths []string, ...) ([]id.RoleID, error)
- func (s *Store) ListSubjectsForRole(_ context.Context, tenantID string, roleID id.RoleID) ([]*assignment.Assignment, error)
- func (s *Store) Migrate(_ context.Context) error
- func (s *Store) Ping(_ context.Context) error
- func (s *Store) PurgeCheckLogs(_ context.Context, before time.Time) (int64, error)
- func (s *Store) PurgeCheckLogsForTenant(_ context.Context, tenantID string, before time.Time) (int64, error)
- func (s *Store) SetPolicyVersion(_ context.Context, tenantID string, polID id.PolicyID, version int) error
- func (s *Store) SetRolePermissions(_ context.Context, tenantID string, roleID id.RoleID, refs []permission.Ref) error
- func (s *Store) UpdatePermission(_ context.Context, p *permission.Permission) error
- func (s *Store) UpdatePolicy(_ context.Context, p *policy.Policy) error
- func (s *Store) UpdatePolicyIfVersion(_ context.Context, p *policy.Policy, expected int) error
- func (s *Store) UpdateResourceType(_ context.Context, rt *resourcetype.ResourceType) error
- func (s *Store) UpdateRole(_ context.Context, r *role.Role) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store is a thread-safe in-memory store for all Warden entities.
func (*Store) AttachPermission ¶
func (*Store) CheckDirectRelation ¶
func (*Store) CountAssignments ¶
func (s *Store) CountAssignments(_ context.Context, filter *assignment.ListFilter) (int64, error)
func (*Store) CountCheckLogs ¶
func (*Store) CountPermissions ¶
func (s *Store) CountPermissions(_ context.Context, filter *permission.ListFilter) (int64, error)
func (*Store) CountPolicies ¶
func (*Store) CountRelations ¶
func (*Store) CountResourceTypes ¶
func (s *Store) CountResourceTypes(_ context.Context, filter *resourcetype.ListFilter) (int64, error)
func (*Store) CountRoles ¶
func (*Store) CreateAssignment ¶
func (s *Store) CreateAssignment(_ context.Context, a *assignment.Assignment) error
func (*Store) CreateCheckLog ¶
func (*Store) CreatePermission ¶
func (s *Store) CreatePermission(_ context.Context, p *permission.Permission) error
func (*Store) CreatePolicy ¶
func (*Store) CreateRelation ¶
func (*Store) CreateResourceType ¶
func (s *Store) CreateResourceType(_ context.Context, rt *resourcetype.ResourceType) error
func (*Store) DeleteAssignment ¶
func (*Store) DeleteAssignmentsByRole ¶
func (*Store) DeleteAssignmentsBySubject ¶
func (*Store) DeleteAssignmentsByTenant ¶
func (*Store) DeleteCheckLogsBySubject ¶ added in v1.7.0
func (*Store) DeleteCheckLogsByTenant ¶
func (*Store) DeleteExpiredAssignments ¶
func (*Store) DeleteExpiredAssignmentsForTenant ¶ added in v1.7.0
func (*Store) DeletePermission ¶
func (*Store) DeletePermissionsByTenant ¶
func (*Store) DeletePoliciesByTenant ¶
func (*Store) DeletePolicy ¶
func (*Store) DeleteRelation ¶
func (*Store) DeleteRelationTuple ¶
func (*Store) DeleteRelationsByObject ¶
func (*Store) DeleteRelationsBySubject ¶
func (*Store) DeleteRelationsByTenant ¶
func (*Store) DeleteResourceType ¶
func (*Store) DeleteResourceTypesByTenant ¶
func (*Store) DeleteRole ¶
func (*Store) DeleteRolesByTenant ¶
func (*Store) DetachPermission ¶
func (*Store) GetAssignment ¶
func (s *Store) GetAssignment(_ context.Context, tenantID string, assID id.AssignmentID) (*assignment.Assignment, error)
func (*Store) GetCheckLog ¶
func (*Store) GetPermission ¶
func (s *Store) GetPermission(_ context.Context, tenantID string, permID id.PermissionID) (*permission.Permission, error)
func (*Store) GetPermissionByName ¶
func (s *Store) GetPermissionByName(_ context.Context, tenantID, namespacePath, name string) (*permission.Permission, error)
func (*Store) GetPolicyByName ¶
func (*Store) GetRelation ¶ added in v1.7.0
func (*Store) GetResourceType ¶
func (s *Store) GetResourceType(_ context.Context, tenantID string, rtID id.ResourceTypeID) (*resourcetype.ResourceType, error)
func (*Store) GetResourceTypeByName ¶
func (s *Store) GetResourceTypeByName(_ context.Context, tenantID, namespacePath, name string) (*resourcetype.ResourceType, error)
func (*Store) GetRoleBySlug ¶
func (*Store) ListActivePolicies ¶
func (*Store) ListAssignments ¶
func (s *Store) ListAssignments(_ context.Context, filter *assignment.ListFilter) ([]*assignment.Assignment, error)
func (*Store) ListCheckLogs ¶
func (*Store) ListChildRoles ¶
func (*Store) ListExpiringAssignments ¶ added in v1.7.0
func (s *Store) ListExpiringAssignments(_ context.Context, tenantID string, before time.Time, limit int) ([]*assignment.Assignment, error)
func (*Store) ListPermissions ¶
func (s *Store) ListPermissions(_ context.Context, filter *permission.ListFilter) ([]*permission.Permission, error)
func (*Store) ListPermissionsByRole ¶
func (s *Store) ListPermissionsByRole(ctx context.Context, tenantID string, roleID id.RoleID) ([]*permission.Permission, error)
func (*Store) ListPermissionsBySubject ¶
func (s *Store) ListPermissionsBySubject(_ context.Context, tenantID, subjectKind, subjectID string) ([]*permission.Permission, error)
func (*Store) ListPolicies ¶
func (*Store) ListRelationObjects ¶
func (*Store) ListRelationSubjects ¶
func (*Store) ListRelations ¶
func (*Store) ListResourceTypes ¶
func (s *Store) ListResourceTypes(_ context.Context, filter *resourcetype.ListFilter) ([]*resourcetype.ResourceType, error)
func (*Store) ListRolePermissions ¶
func (s *Store) ListRolePermissions(_ context.Context, tenantID string, roleID id.RoleID) ([]*permission.Permission, error)
func (*Store) ListRolePermissionsForRoles ¶ added in v1.7.0
func (*Store) ListRolesForSubject ¶
func (*Store) ListRolesForSubjectOnResource ¶
func (*Store) ListSubjectsForRole ¶
func (s *Store) ListSubjectsForRole(_ context.Context, tenantID string, roleID id.RoleID) ([]*assignment.Assignment, error)
func (*Store) PurgeCheckLogs ¶
func (*Store) PurgeCheckLogsForTenant ¶ added in v1.7.0
func (*Store) SetPolicyVersion ¶
func (*Store) SetRolePermissions ¶
func (*Store) UpdatePermission ¶
func (s *Store) UpdatePermission(_ context.Context, p *permission.Permission) error
func (*Store) UpdatePolicy ¶
func (*Store) UpdatePolicyIfVersion ¶ added in v1.7.0
UpdatePolicyIfVersion writes p as UpdatePolicy does, only if the stored policy is at version expected. The lookup, the comparison and the write all happen under one hold of s.mu, so two callers holding the same version cannot both win.
func (*Store) UpdateResourceType ¶
func (s *Store) UpdateResourceType(_ context.Context, rt *resourcetype.ResourceType) error
Click to show internal directories.
Click to hide internal directories.