Activity Feed Service
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
1
Dependents
13
Entities
0
Integrations
Description
Backend service that powers the activity feed by querying activities with cursor-based pagination on created_at for stable ordering under concurrent inserts. Joins activities, users, contacts, and activity_approvals tables, applying parameterized WHERE clauses for filtering. Enforces role-based data scoping so coordinators see only their local association and org admins see the full organization.
activity-feed-service
Responsibilities
- Execute paginated activity queries with cursor-based pagination on created_at
- Apply parameterized filter clauses for date range, peer mentor, activity type, and status
- Enforce role-based data scoping (coordinator sees local association, org admin sees full organization)
- Join activities with users, contacts, and activity_approvals for complete feed items
- Provide activity count and filter option metadata for the UI
Interfaces
getActivityFeed(organizationId: string, filters: ActivityFilters, cursor?: string, limit?: number): PaginatedFeedResponse
getFilterOptions(organizationId: string): FilterOptions
getActivityCount(organizationId: string, filters: ActivityFilters): number
getFeedItemDetail(activityId: string): FeedItemDetail
Relationships
Related Data Entities (13)
Data entities managed by this component
Activity
26 fields
core
Activity Approval
19 fields
core
Contact
22 fields
core
Local Association
13 fields
core
Organization
17 fields
core
User
21 fields
core
User Role Assignment
11 fields
core
Activities
24 fields
core
Activity Approvals
14 fields
core
Contacts
24 fields
core
Local Associations
17 fields
core
User Roles
13 fields
core
Users
26 fields
core