Service Layer medium complexity backendmobile
2
Dependencies
1
Dependents
5
Entities
0
Integrations

Description

Core business logic service responsible for managing a user's multi-association membership lifecycle. Handles fetching all associations for a user, enforcing the maximum-five-affiliations rule, validating membership before write operations, and ensuring activities and reports are attributed to the correct association context.

Feature: Member Multi-Association Membership

membership-service

Responsibilities

  • Fetch and cache the full list of associations a user belongs to
  • Enforce the maximum five-association limit per user
  • Validate that a requested association_id is in the user's membership list before accepting write operations
  • Return the correct coordinator relationships for the active association context
  • Provide membership state to BLoC consumers

Interfaces

getUserMemberships(userId: String): Future<List<UserAssociation>>
getActiveMembership(userId: String): Future<UserAssociation>
setActiveMembership(userId: String, associationId: String): Future<void>
validateMembershipAccess(userId: String, associationId: String): Future<bool>
getMembershipCount(userId: String): Future<int>
getCoordinatorsForContext(userId: String, associationId: String): Future<List<User>>
addMembership(userId: String, associationId: String, role: String): Future<void>
removeMembership(userId: String, associationId: String): Future<void>

Relationships

Dependencies (2)

Components this component depends on

Dependents (1)

Components that depend on this component