refactor: unit testable units and cleaner dep injection

This commit is contained in:
Arjun Patel
2026-04-27 16:07:28 -07:00
parent 013c453dd3
commit 48d6d5cb07
26 changed files with 761 additions and 617 deletions
+4 -4
View File
@@ -12,12 +12,12 @@ var ErrUnauthorized = errors.New("unauthorized")
// Authorizer validates whether a user can access a given channel.
type Authorizer struct {
networkSvc network.Service
networkReader network.Reader
}
// NewAuthorizer creates a new channel authorizer.
func NewAuthorizer(networkSvc network.Service) *Authorizer {
return &Authorizer{networkSvc: networkSvc}
func NewAuthorizer(networkReader network.Reader) *Authorizer {
return &Authorizer{networkReader: networkReader}
}
// Authorize checks if the given humanID is allowed to subscribe to the channel.
@@ -51,7 +51,7 @@ func (a *Authorizer) Authorize(ctx context.Context, channelID, humanID string) e
}
func (a *Authorizer) authorizeNetwork(ctx context.Context, networkID, humanID string) error {
isMember, err := a.networkSvc.IsMember(ctx, networkID, humanID)
isMember, err := a.networkReader.IsMember(ctx, networkID, humanID)
if err != nil {
return err
}