memory

package
v1.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: Apache-2.0 Imports: 14 Imported by: 2

Documentation

Overview

Package memory provides an in-memory implementation of the Warden composite store. It is intended for testing and development.

Index

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 New

func New() *Store

New creates a new in-memory store.

func (*Store) AttachPermission

func (s *Store) AttachPermission(_ context.Context, roleID id.RoleID, ref permission.Ref) error

func (*Store) CheckDirectRelation

func (s *Store) CheckDirectRelation(_ context.Context, tenantID string, namespacePaths []string, objectType, objectID, rel, subjectType, subjectID string) (bool, error)

func (*Store) Close

func (s *Store) Close() error

Close is a no-op for the memory store.

func (*Store) CountAssignments

func (s *Store) CountAssignments(ctx context.Context, filter *assignment.ListFilter) (int64, error)

func (*Store) CountCheckLogs

func (s *Store) CountCheckLogs(ctx context.Context, filter *checklog.QueryFilter) (int64, error)

func (*Store) CountPermissions

func (s *Store) CountPermissions(ctx context.Context, filter *permission.ListFilter) (int64, error)

func (*Store) CountPolicies

func (s *Store) CountPolicies(ctx context.Context, filter *policy.ListFilter) (int64, error)

func (*Store) CountRelations

func (s *Store) CountRelations(ctx context.Context, filter *relation.ListFilter) (int64, error)

func (*Store) CountResourceTypes

func (s *Store) CountResourceTypes(ctx context.Context, filter *resourcetype.ListFilter) (int64, error)

func (*Store) CountRoles

func (s *Store) CountRoles(ctx context.Context, filter *role.ListFilter) (int64, error)

func (*Store) CreateAssignment

func (s *Store) CreateAssignment(_ context.Context, a *assignment.Assignment) error

func (*Store) CreateCheckLog

func (s *Store) CreateCheckLog(_ context.Context, e *checklog.Entry) error

func (*Store) CreatePermission

func (s *Store) CreatePermission(_ context.Context, p *permission.Permission) error

func (*Store) CreatePolicy

func (s *Store) CreatePolicy(_ context.Context, p *policy.Policy) error

func (*Store) CreateRelation

func (s *Store) CreateRelation(_ context.Context, t *relation.Tuple) error

func (*Store) CreateResourceType

func (s *Store) CreateResourceType(_ context.Context, rt *resourcetype.ResourceType) error

func (*Store) CreateRole

func (s *Store) CreateRole(_ context.Context, r *role.Role) error

func (*Store) DeleteAssignment

func (s *Store) DeleteAssignment(_ context.Context, assID id.AssignmentID) error

func (*Store) DeleteAssignmentsByRole

func (s *Store) DeleteAssignmentsByRole(_ context.Context, roleID id.RoleID) error

func (*Store) DeleteAssignmentsBySubject

func (s *Store) DeleteAssignmentsBySubject(_ context.Context, tenantID, subjectKind, subjectID string) error

func (*Store) DeleteAssignmentsByTenant

func (s *Store) DeleteAssignmentsByTenant(_ context.Context, tenantID string) error

func (*Store) DeleteCheckLogsByTenant

func (s *Store) DeleteCheckLogsByTenant(_ context.Context, tenantID string) error

func (*Store) DeleteExpiredAssignments

func (s *Store) DeleteExpiredAssignments(_ context.Context, now time.Time) (int64, error)

func (*Store) DeletePermission

func (s *Store) DeletePermission(_ context.Context, permID id.PermissionID) error

func (*Store) DeletePermissionsByTenant

func (s *Store) DeletePermissionsByTenant(_ context.Context, tenantID string) error

func (*Store) DeletePoliciesByTenant

func (s *Store) DeletePoliciesByTenant(_ context.Context, tenantID string) error

func (*Store) DeletePolicy

func (s *Store) DeletePolicy(_ context.Context, polID id.PolicyID) error

func (*Store) DeleteRelation

func (s *Store) DeleteRelation(_ context.Context, relID id.RelationID) error

func (*Store) DeleteRelationTuple

func (s *Store) DeleteRelationTuple(_ context.Context, tenantID, namespacePath, objectType, objectID, rel, subjectType, subjectID string) error

func (*Store) DeleteRelationsByObject

func (s *Store) DeleteRelationsByObject(_ context.Context, tenantID, objectType, objectID string) error

func (*Store) DeleteRelationsBySubject

func (s *Store) DeleteRelationsBySubject(_ context.Context, tenantID, subjectType, subjectID string) error

func (*Store) DeleteRelationsByTenant

func (s *Store) DeleteRelationsByTenant(_ context.Context, tenantID string) error

func (*Store) DeleteResourceType

func (s *Store) DeleteResourceType(_ context.Context, rtID id.ResourceTypeID) error

func (*Store) DeleteResourceTypesByTenant

func (s *Store) DeleteResourceTypesByTenant(_ context.Context, tenantID string) error

func (*Store) DeleteRole

func (s *Store) DeleteRole(_ context.Context, roleID id.RoleID) error

func (*Store) DeleteRolesByTenant

func (s *Store) DeleteRolesByTenant(_ context.Context, tenantID string) error

func (*Store) DetachPermission

func (s *Store) DetachPermission(_ context.Context, roleID id.RoleID, ref permission.Ref) error

func (*Store) GetAssignment

func (s *Store) GetAssignment(_ context.Context, assID id.AssignmentID) (*assignment.Assignment, error)

func (*Store) GetCheckLog

func (s *Store) GetCheckLog(_ context.Context, logID id.CheckLogID) (*checklog.Entry, error)

func (*Store) GetPermission

func (s *Store) GetPermission(_ context.Context, permID id.PermissionID) (*permission.Permission, error)

func (*Store) GetPermissionByName

func (s *Store) GetPermissionByName(_ context.Context, tenantID, namespacePath, name string) (*permission.Permission, error)

func (*Store) GetPolicy

func (s *Store) GetPolicy(_ context.Context, polID id.PolicyID) (*policy.Policy, error)

func (*Store) GetPolicyByName

func (s *Store) GetPolicyByName(_ context.Context, tenantID, namespacePath, name string) (*policy.Policy, error)

func (*Store) GetResourceType

func (s *Store) GetResourceType(_ context.Context, rtID id.ResourceTypeID) (*resourcetype.ResourceType, error)

func (*Store) GetResourceTypeByName

func (s *Store) GetResourceTypeByName(_ context.Context, tenantID, namespacePath, name string) (*resourcetype.ResourceType, error)

func (*Store) GetRole

func (s *Store) GetRole(_ context.Context, roleID id.RoleID) (*role.Role, error)

func (*Store) GetRoleBySlug

func (s *Store) GetRoleBySlug(_ context.Context, tenantID, namespacePath, slug string) (*role.Role, error)

func (*Store) ListActivePolicies

func (s *Store) ListActivePolicies(_ context.Context, tenantID string, namespacePaths []string) ([]*policy.Policy, error)

func (*Store) ListAssignments

func (s *Store) ListAssignments(_ context.Context, filter *assignment.ListFilter) ([]*assignment.Assignment, error)

func (*Store) ListCheckLogs

func (s *Store) ListCheckLogs(_ context.Context, filter *checklog.QueryFilter) ([]*checklog.Entry, error)

func (*Store) ListChildRoles

func (s *Store) ListChildRoles(_ context.Context, tenantID, parentSlug string) ([]*role.Role, error)

func (*Store) ListPermissions

func (s *Store) ListPermissions(_ context.Context, filter *permission.ListFilter) ([]*permission.Permission, error)

func (*Store) ListPermissionsByRole

func (s *Store) ListPermissionsByRole(_ context.Context, 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 (s *Store) ListPolicies(_ context.Context, filter *policy.ListFilter) ([]*policy.Policy, error)

func (*Store) ListRelationObjects

func (s *Store) ListRelationObjects(_ context.Context, tenantID, namespacePath, subjectType, subjectID, rel string) ([]*relation.Tuple, error)

func (*Store) ListRelationSubjects

func (s *Store) ListRelationSubjects(_ context.Context, tenantID string, namespacePaths []string, objectType, objectID, rel string) ([]*relation.Tuple, error)

func (*Store) ListRelations

func (s *Store) ListRelations(_ context.Context, filter *relation.ListFilter) ([]*relation.Tuple, error)

func (*Store) ListResourceTypes

func (s *Store) ListResourceTypes(_ context.Context, filter *resourcetype.ListFilter) ([]*resourcetype.ResourceType, error)

func (*Store) ListRolePermissions

func (s *Store) ListRolePermissions(_ context.Context, roleID id.RoleID) ([]*permission.Permission, error)

func (*Store) ListRoles

func (s *Store) ListRoles(_ context.Context, filter *role.ListFilter) ([]*role.Role, error)

func (*Store) ListRolesForSubject

func (s *Store) ListRolesForSubject(_ context.Context, tenantID string, namespacePaths []string, subjectKind, subjectID string) ([]id.RoleID, error)

func (*Store) ListRolesForSubjectOnResource

func (s *Store) ListRolesForSubjectOnResource(_ context.Context, tenantID string, namespacePaths []string, subjectKind, subjectID, resourceType, resourceID string) ([]id.RoleID, error)

func (*Store) ListSubjectsForRole

func (s *Store) ListSubjectsForRole(_ context.Context, roleID id.RoleID) ([]*assignment.Assignment, error)

func (*Store) Migrate

func (s *Store) Migrate(_ context.Context) error

Migrate is a no-op for the memory store.

func (*Store) Ping

func (s *Store) Ping(_ context.Context) error

Ping is a no-op for the memory store.

func (*Store) PurgeCheckLogs

func (s *Store) PurgeCheckLogs(_ context.Context, before time.Time) (int64, error)

func (*Store) SetPolicyVersion

func (s *Store) SetPolicyVersion(_ context.Context, polID id.PolicyID, version int) error

func (*Store) SetRolePermissions

func (s *Store) SetRolePermissions(_ context.Context, roleID id.RoleID, refs []permission.Ref) error

func (*Store) UpdatePermission

func (s *Store) UpdatePermission(_ context.Context, p *permission.Permission) error

func (*Store) UpdatePolicy

func (s *Store) UpdatePolicy(_ context.Context, p *policy.Policy) error

func (*Store) UpdateResourceType

func (s *Store) UpdateResourceType(_ context.Context, rt *resourcetype.ResourceType) error

func (*Store) UpdateRole

func (s *Store) UpdateRole(_ context.Context, r *role.Role) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL