middleware

package
v0.18.5 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package middleware provides authorization, logging, metrics and tracing middleware for SuperMQ RoleManager service.

For more details about tracing instrumentation for SuperMQ refer to the documentation at https://docs.supermq.absmach.eu/tracing/.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RoleManagerAuthorizationMiddleware

type RoleManagerAuthorizationMiddleware struct {
	// contains filtered or unexported fields
}

func NewAuthorization added in v0.18.2

NewAuthorization adds authorization for role related methods to the core service.

func (RoleManagerAuthorizationMiddleware) AddRole

func (ram RoleManagerAuthorizationMiddleware) AddRole(ctx context.Context, session authn.Session, entityID, roleName string, optionalActions []string, optionalMembers []string) (roles.RoleProvision, error)

func (RoleManagerAuthorizationMiddleware) ListAvailableActions

func (ram RoleManagerAuthorizationMiddleware) ListAvailableActions(ctx context.Context, session authn.Session) ([]string, error)

func (RoleManagerAuthorizationMiddleware) ListEntityMembers added in v0.17.0

func (ram RoleManagerAuthorizationMiddleware) ListEntityMembers(ctx context.Context, session authn.Session, entityID string, pageQuery roles.MembersRolePageQuery) (roles.MembersRolePage, error)

func (RoleManagerAuthorizationMiddleware) RemoveEntityMembers added in v0.17.0

func (ram RoleManagerAuthorizationMiddleware) RemoveEntityMembers(ctx context.Context, session authn.Session, entityID string, members []string) error

func (RoleManagerAuthorizationMiddleware) RemoveMemberFromAllRoles

func (ram RoleManagerAuthorizationMiddleware) RemoveMemberFromAllRoles(ctx context.Context, session authn.Session, memberID string) (err error)

func (RoleManagerAuthorizationMiddleware) RemoveRole

func (ram RoleManagerAuthorizationMiddleware) RemoveRole(ctx context.Context, session authn.Session, entityID, roleID string) error

func (RoleManagerAuthorizationMiddleware) RetrieveAllRoles

func (ram RoleManagerAuthorizationMiddleware) RetrieveAllRoles(ctx context.Context, session authn.Session, entityID string, limit, offset uint64) (roles.RolePage, error)

func (RoleManagerAuthorizationMiddleware) RetrieveRole

func (ram RoleManagerAuthorizationMiddleware) RetrieveRole(ctx context.Context, session authn.Session, entityID, roleID string) (roles.Role, error)

func (RoleManagerAuthorizationMiddleware) RoleAddActions

func (ram RoleManagerAuthorizationMiddleware) RoleAddActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (ops []string, err error)

func (RoleManagerAuthorizationMiddleware) RoleAddMembers

func (ram RoleManagerAuthorizationMiddleware) RoleAddMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) ([]string, error)

func (RoleManagerAuthorizationMiddleware) RoleCheckActionsExists

func (ram RoleManagerAuthorizationMiddleware) RoleCheckActionsExists(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (bool, error)

func (RoleManagerAuthorizationMiddleware) RoleCheckMembersExists

func (ram RoleManagerAuthorizationMiddleware) RoleCheckMembersExists(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (bool, error)

func (RoleManagerAuthorizationMiddleware) RoleListActions

func (ram RoleManagerAuthorizationMiddleware) RoleListActions(ctx context.Context, session authn.Session, entityID, roleID string) ([]string, error)

func (RoleManagerAuthorizationMiddleware) RoleListMembers

func (ram RoleManagerAuthorizationMiddleware) RoleListMembers(ctx context.Context, session authn.Session, entityID, roleID string, limit, offset uint64) (roles.MembersPage, error)

func (RoleManagerAuthorizationMiddleware) RoleRemoveActions

func (ram RoleManagerAuthorizationMiddleware) RoleRemoveActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (err error)

func (RoleManagerAuthorizationMiddleware) RoleRemoveAllActions

func (ram RoleManagerAuthorizationMiddleware) RoleRemoveAllActions(ctx context.Context, session authn.Session, entityID, roleID string) error

func (RoleManagerAuthorizationMiddleware) RoleRemoveAllMembers

func (ram RoleManagerAuthorizationMiddleware) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (RoleManagerAuthorizationMiddleware) RoleRemoveMembers

func (ram RoleManagerAuthorizationMiddleware) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (err error)

func (RoleManagerAuthorizationMiddleware) UpdateRoleName

func (ram RoleManagerAuthorizationMiddleware) UpdateRoleName(ctx context.Context, session authn.Session, entityID, roleID, newRoleName string) (roles.Role, error)

type RoleManagerCalloutMiddleware added in v0.18.4

type RoleManagerCalloutMiddleware struct {
	// contains filtered or unexported fields
}

func NewCallout added in v0.18.4

func (*RoleManagerCalloutMiddleware) AddRole added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) AddRole(ctx context.Context, session authn.Session, entityID, roleName string, optionalActions []string, optionalMembers []string) (roles.RoleProvision, error)

func (*RoleManagerCalloutMiddleware) ListAvailableActions added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) ListAvailableActions(ctx context.Context, session authn.Session) ([]string, error)

func (*RoleManagerCalloutMiddleware) ListEntityMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) ListEntityMembers(ctx context.Context, session authn.Session, entityID string, pageQuery roles.MembersRolePageQuery) (roles.MembersRolePage, error)

func (*RoleManagerCalloutMiddleware) RemoveEntityMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RemoveEntityMembers(ctx context.Context, session authn.Session, entityID string, members []string) error

func (*RoleManagerCalloutMiddleware) RemoveMemberFromAllRoles added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RemoveMemberFromAllRoles(ctx context.Context, session authn.Session, memberID string) error

func (*RoleManagerCalloutMiddleware) RemoveRole added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RemoveRole(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerCalloutMiddleware) RetrieveAllRoles added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RetrieveAllRoles(ctx context.Context, session authn.Session, entityID string, limit, offset uint64) (roles.RolePage, error)

func (*RoleManagerCalloutMiddleware) RetrieveRole added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RetrieveRole(ctx context.Context, session authn.Session, entityID, roleID string) (roles.Role, error)

func (*RoleManagerCalloutMiddleware) RoleAddActions added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleAddActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) ([]string, error)

func (*RoleManagerCalloutMiddleware) RoleAddMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleAddMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) ([]string, error)

func (*RoleManagerCalloutMiddleware) RoleCheckActionsExists added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleCheckActionsExists(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (bool, error)

func (*RoleManagerCalloutMiddleware) RoleCheckMembersExists added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleCheckMembersExists(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (bool, error)

func (*RoleManagerCalloutMiddleware) RoleListActions added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleListActions(ctx context.Context, session authn.Session, entityID, roleID string) ([]string, error)

func (*RoleManagerCalloutMiddleware) RoleListMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleListMembers(ctx context.Context, session authn.Session, entityID, roleID string, limit, offset uint64) (roles.MembersPage, error)

func (*RoleManagerCalloutMiddleware) RoleRemoveActions added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleRemoveActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) error

func (*RoleManagerCalloutMiddleware) RoleRemoveAllActions added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleRemoveAllActions(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerCalloutMiddleware) RoleRemoveAllMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerCalloutMiddleware) RoleRemoveMembers added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) error

func (*RoleManagerCalloutMiddleware) UpdateRoleName added in v0.18.4

func (rcm *RoleManagerCalloutMiddleware) UpdateRoleName(ctx context.Context, session authn.Session, entityID, roleID, newRoleName string) (roles.Role, error)

type RoleManagerLoggingMiddleware

type RoleManagerLoggingMiddleware struct {
	// contains filtered or unexported fields
}

func NewLogging added in v0.18.2

func NewLogging(svcName string, svc roles.RoleManager, logger *slog.Logger) RoleManagerLoggingMiddleware

NewLogging adds logging facilities to the core service.

func (*RoleManagerLoggingMiddleware) AddRole

func (lm *RoleManagerLoggingMiddleware) AddRole(ctx context.Context, session authn.Session, entityID, roleName string, optionalActions []string, optionalMembers []string) (ro roles.RoleProvision, err error)

func (*RoleManagerLoggingMiddleware) ListAvailableActions

func (lm *RoleManagerLoggingMiddleware) ListAvailableActions(ctx context.Context, session authn.Session) (acts []string, err error)

func (*RoleManagerLoggingMiddleware) ListEntityMembers added in v0.17.0

func (lm *RoleManagerLoggingMiddleware) ListEntityMembers(ctx context.Context, session authn.Session, entityID string, pageQuery roles.MembersRolePageQuery) (mems roles.MembersRolePage, err error)

func (*RoleManagerLoggingMiddleware) RemoveEntityMembers added in v0.17.0

func (lm *RoleManagerLoggingMiddleware) RemoveEntityMembers(ctx context.Context, session authn.Session, entityID string, members []string) (err error)

func (*RoleManagerLoggingMiddleware) RemoveMemberFromAllRoles

func (lm *RoleManagerLoggingMiddleware) RemoveMemberFromAllRoles(ctx context.Context, session authn.Session, memberID string) (err error)

func (*RoleManagerLoggingMiddleware) RemoveRole

func (lm *RoleManagerLoggingMiddleware) RemoveRole(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (*RoleManagerLoggingMiddleware) RetrieveAllRoles

func (lm *RoleManagerLoggingMiddleware) RetrieveAllRoles(ctx context.Context, session authn.Session, entityID string, limit, offset uint64) (rp roles.RolePage, err error)

func (*RoleManagerLoggingMiddleware) RetrieveRole

func (lm *RoleManagerLoggingMiddleware) RetrieveRole(ctx context.Context, session authn.Session, entityID, roleID string) (ro roles.Role, err error)

func (*RoleManagerLoggingMiddleware) RoleAddActions

func (lm *RoleManagerLoggingMiddleware) RoleAddActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (caps []string, err error)

func (*RoleManagerLoggingMiddleware) RoleAddMembers

func (lm *RoleManagerLoggingMiddleware) RoleAddMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (mems []string, err error)

func (*RoleManagerLoggingMiddleware) RoleCheckActionsExists

func (lm *RoleManagerLoggingMiddleware) RoleCheckActionsExists(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (bool, error)

func (*RoleManagerLoggingMiddleware) RoleCheckMembersExists

func (lm *RoleManagerLoggingMiddleware) RoleCheckMembersExists(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (bool, error)

func (*RoleManagerLoggingMiddleware) RoleListActions

func (lm *RoleManagerLoggingMiddleware) RoleListActions(ctx context.Context, session authn.Session, entityID, roleID string) (roOps []string, err error)

func (*RoleManagerLoggingMiddleware) RoleListMembers

func (lm *RoleManagerLoggingMiddleware) RoleListMembers(ctx context.Context, session authn.Session, entityID, roleID string, limit, offset uint64) (mp roles.MembersPage, err error)

func (*RoleManagerLoggingMiddleware) RoleRemoveActions

func (lm *RoleManagerLoggingMiddleware) RoleRemoveActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (err error)

func (*RoleManagerLoggingMiddleware) RoleRemoveAllActions

func (lm *RoleManagerLoggingMiddleware) RoleRemoveAllActions(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (*RoleManagerLoggingMiddleware) RoleRemoveAllMembers

func (lm *RoleManagerLoggingMiddleware) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (*RoleManagerLoggingMiddleware) RoleRemoveMembers

func (lm *RoleManagerLoggingMiddleware) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (err error)

func (*RoleManagerLoggingMiddleware) UpdateRoleName

func (lm *RoleManagerLoggingMiddleware) UpdateRoleName(ctx context.Context, session authn.Session, entityID, roleID, newRoleName string) (ro roles.Role, err error)

type RoleManagerMetricsMiddleware

type RoleManagerMetricsMiddleware struct {
	// contains filtered or unexported fields
}

func NewMetrics added in v0.18.2

func NewMetrics(svcName string, svc roles.RoleManager, counter metrics.Counter, latency metrics.Histogram) RoleManagerMetricsMiddleware

NewMetrics instruments core service by tracking request count and latency.

func (*RoleManagerMetricsMiddleware) AddRole

func (rmm *RoleManagerMetricsMiddleware) AddRole(ctx context.Context, session authn.Session, entityID, roleName string, optionalActions []string, optionalMembers []string) (roles.RoleProvision, error)

func (*RoleManagerMetricsMiddleware) ListAvailableActions

func (rmm *RoleManagerMetricsMiddleware) ListAvailableActions(ctx context.Context, session authn.Session) ([]string, error)

func (*RoleManagerMetricsMiddleware) ListEntityMembers added in v0.17.0

func (rmm *RoleManagerMetricsMiddleware) ListEntityMembers(ctx context.Context, session authn.Session, entityID string, pageQuery roles.MembersRolePageQuery) (roles.MembersRolePage, error)

func (*RoleManagerMetricsMiddleware) RemoveEntityMembers added in v0.17.0

func (rmm *RoleManagerMetricsMiddleware) RemoveEntityMembers(ctx context.Context, session authn.Session, entityID string, members []string) error

func (*RoleManagerMetricsMiddleware) RemoveMemberFromAllRoles

func (rmm *RoleManagerMetricsMiddleware) RemoveMemberFromAllRoles(ctx context.Context, session authn.Session, memberID string) (err error)

func (*RoleManagerMetricsMiddleware) RemoveRole

func (rmm *RoleManagerMetricsMiddleware) RemoveRole(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerMetricsMiddleware) RetrieveAllRoles

func (rmm *RoleManagerMetricsMiddleware) RetrieveAllRoles(ctx context.Context, session authn.Session, entityID string, limit, offset uint64) (roles.RolePage, error)

func (*RoleManagerMetricsMiddleware) RetrieveRole

func (rmm *RoleManagerMetricsMiddleware) RetrieveRole(ctx context.Context, session authn.Session, entityID, roleID string) (roles.Role, error)

func (*RoleManagerMetricsMiddleware) RoleAddActions

func (rmm *RoleManagerMetricsMiddleware) RoleAddActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (caps []string, err error)

func (*RoleManagerMetricsMiddleware) RoleAddMembers

func (rmm *RoleManagerMetricsMiddleware) RoleAddMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) ([]string, error)

func (*RoleManagerMetricsMiddleware) RoleCheckActionsExists

func (rmm *RoleManagerMetricsMiddleware) RoleCheckActionsExists(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (bool, error)

func (*RoleManagerMetricsMiddleware) RoleCheckMembersExists

func (rmm *RoleManagerMetricsMiddleware) RoleCheckMembersExists(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (bool, error)

func (*RoleManagerMetricsMiddleware) RoleListActions

func (rmm *RoleManagerMetricsMiddleware) RoleListActions(ctx context.Context, session authn.Session, entityID, roleID string) ([]string, error)

func (*RoleManagerMetricsMiddleware) RoleListMembers

func (rmm *RoleManagerMetricsMiddleware) RoleListMembers(ctx context.Context, session authn.Session, entityID, roleID string, limit, offset uint64) (roles.MembersPage, error)

func (*RoleManagerMetricsMiddleware) RoleRemoveActions

func (rmm *RoleManagerMetricsMiddleware) RoleRemoveActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (err error)

func (*RoleManagerMetricsMiddleware) RoleRemoveAllActions

func (rmm *RoleManagerMetricsMiddleware) RoleRemoveAllActions(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerMetricsMiddleware) RoleRemoveAllMembers

func (rmm *RoleManagerMetricsMiddleware) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (*RoleManagerMetricsMiddleware) RoleRemoveMembers

func (rmm *RoleManagerMetricsMiddleware) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (err error)

func (*RoleManagerMetricsMiddleware) UpdateRoleName

func (rmm *RoleManagerMetricsMiddleware) UpdateRoleName(ctx context.Context, session authn.Session, entityID, roleID, newRoleName string) (roles.Role, error)

type RoleManagerTracing added in v0.18.2

type RoleManagerTracing struct {
	// contains filtered or unexported fields
}

func NewTracing added in v0.18.2

func NewTracing(svcName string, svc roles.RoleManager, tracer trace.Tracer) RoleManagerTracing

NewTracing adds tracing facilities to the core service.

func (*RoleManagerTracing) AddRole added in v0.18.2

func (rtm *RoleManagerTracing) AddRole(ctx context.Context, session authn.Session, entityID, roleName string, optionalActions []string, optionalMembers []string) (roles.RoleProvision, error)

func (*RoleManagerTracing) ListAvailableActions added in v0.18.2

func (rtm *RoleManagerTracing) ListAvailableActions(ctx context.Context, session authn.Session) ([]string, error)

func (*RoleManagerTracing) ListEntityMembers added in v0.18.2

func (rtm *RoleManagerTracing) ListEntityMembers(ctx context.Context, session authn.Session, entityID string, pageQuery roles.MembersRolePageQuery) (roles.MembersRolePage, error)

func (*RoleManagerTracing) RemoveEntityMembers added in v0.18.2

func (rtm *RoleManagerTracing) RemoveEntityMembers(ctx context.Context, session authn.Session, entityID string, members []string) error

func (*RoleManagerTracing) RemoveMemberFromAllRoles added in v0.18.2

func (rtm *RoleManagerTracing) RemoveMemberFromAllRoles(ctx context.Context, session authn.Session, memberID string) (err error)

func (*RoleManagerTracing) RemoveRole added in v0.18.2

func (rtm *RoleManagerTracing) RemoveRole(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerTracing) RetrieveAllRoles added in v0.18.2

func (rtm *RoleManagerTracing) RetrieveAllRoles(ctx context.Context, session authn.Session, entityID string, limit, offset uint64) (roles.RolePage, error)

func (*RoleManagerTracing) RetrieveRole added in v0.18.2

func (rtm *RoleManagerTracing) RetrieveRole(ctx context.Context, session authn.Session, entityID, roleID string) (roles.Role, error)

func (*RoleManagerTracing) RoleAddActions added in v0.18.2

func (rtm *RoleManagerTracing) RoleAddActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (ops []string, err error)

func (*RoleManagerTracing) RoleAddMembers added in v0.18.2

func (rtm *RoleManagerTracing) RoleAddMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) ([]string, error)

func (*RoleManagerTracing) RoleCheckActionsExists added in v0.18.2

func (rtm *RoleManagerTracing) RoleCheckActionsExists(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (bool, error)

func (*RoleManagerTracing) RoleCheckMembersExists added in v0.18.2

func (rtm *RoleManagerTracing) RoleCheckMembersExists(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (bool, error)

func (*RoleManagerTracing) RoleListActions added in v0.18.2

func (rtm *RoleManagerTracing) RoleListActions(ctx context.Context, session authn.Session, entityID, roleID string) ([]string, error)

func (*RoleManagerTracing) RoleListMembers added in v0.18.2

func (rtm *RoleManagerTracing) RoleListMembers(ctx context.Context, session authn.Session, entityID, roleID string, limit, offset uint64) (roles.MembersPage, error)

func (*RoleManagerTracing) RoleRemoveActions added in v0.18.2

func (rtm *RoleManagerTracing) RoleRemoveActions(ctx context.Context, session authn.Session, entityID, roleID string, actions []string) (err error)

func (*RoleManagerTracing) RoleRemoveAllActions added in v0.18.2

func (rtm *RoleManagerTracing) RoleRemoveAllActions(ctx context.Context, session authn.Session, entityID, roleID string) error

func (*RoleManagerTracing) RoleRemoveAllMembers added in v0.18.2

func (rtm *RoleManagerTracing) RoleRemoveAllMembers(ctx context.Context, session authn.Session, entityID, roleID string) (err error)

func (*RoleManagerTracing) RoleRemoveMembers added in v0.18.2

func (rtm *RoleManagerTracing) RoleRemoveMembers(ctx context.Context, session authn.Session, entityID, roleID string, members []string) (err error)

func (*RoleManagerTracing) UpdateRoleName added in v0.18.2

func (rtm *RoleManagerTracing) UpdateRoleName(ctx context.Context, session authn.Session, entityID, roleID, newRoleName string) (roles.Role, error)

Jump to

Keyboard shortcuts

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