How strategic-information-department-cidrz/contact-directory-api works
Contact Directory is an ASP.NET API for maintaining contacts and their geographic and classification lists, with account and administrator management. Users call API controllers; those delegate product operations to application services. The principal directory workflow covers filtered and paged contact retrieval, individual contact maintenance, metrics, and Excel import/export. Separate branches support authentication and account recovery, user administration, lookup/geography maintenance, and legacy-user import. The graph reflects controller calls and the sampled Excel-service dependencies; unsampled service-to-repository wiring is left out.
Main entry points: AccountController.cs Account API · ContactExcelService.cs Excel transfer · ContactsController.cs Contacts API · AccountService.cs Account operations
Components 29
API
- Contacts API
contact-directory.Api/Controllers/ContactsController.cs - Account API
contact-directory.Api/Controllers/AccountController.cs - Auth API
contact-directory.Api/Controllers/AuthController.cs - Users API
contact-directory.Api/Controllers/UsersController.cs - Geography API
contact-directory.Api/Controllers/GeographyController.cs - Lookups API
contact-directory.Api/Controllers/LookupsController.cs
Application
- Contact operations
contact-directory.Application/Services/ContactService.cs - Excel transfer
contact-directory.Application/Services/ContactExcelService.cs - Account operations
contact-directory.Application/Services/AccountService.cs - Registration
contact-directory.Application/Services/RegistrationService.cs - Profile operations
contact-directory.Application/Services/ProfileService.cs - User administration
contact-directory.Application/Services/UserManagementService.cs - Geography operations
contact-directory.Application/Services/GeographyService.cs - Lookup operations
contact-directory.Application/Services/LookupService.cs - Legacy import
contact-directory.Application/Services/LegacyUserImportService.cs
Infrastructure
- Contact repository
contact-directory.Infrastructure/Repositories/ContactRepository.cs - User repository
contact-directory.Infrastructure/Repositories/UserRepository.cs - Lookup repository
contact-directory.Infrastructure/Repositories/LookupRepository.cs - Refresh tokens
contact-directory.Infrastructure/Repositories/RefreshTokenRepository.cs - Verification codes
contact-directory.Infrastructure/Repositories/VerificationCodeRepository.cs - Application database
contact-directory.Infrastructure/Persistence/AppDbContext.cs - Workbook handling
contact-directory.Infrastructure/Excel/ContactWorkbook.cs - Token creation
contact-directory.Infrastructure/Services/TokenService.cs - Queued email sender
contact-directory.Infrastructure/Email/QueuedEmailSender.cs - Email queue
contact-directory.Infrastructure/Email/EmailQueue.cs - Email dispatcher
contact-directory.Infrastructure/Email/EmailDispatcher.cs
Integrations
- SMTP service
- Legacy user source
contact-directory.Infrastructure/Legacy/LegacyUserSource.cs
Other components
- API client
Connections 25
- API client → Contacts API: requests
- API client → Account API: requests
- API client → Auth API: requests
- API client → Users API: requests
- API client → Geography API: requests
- API client → Lookups API: requests
- Contacts API → Contact operations: delegates
- Contacts API → Excel transfer: delegates
- Excel transfer → Contact repository: reads and writes
- Excel transfer → Lookup repository: loads lookups
- Excel transfer → Workbook handling: reads and writes
- Account API → Account operations: delegates
- Auth API → Account operations: delegates
- Account API → Registration: delegates
- Account API → Profile operations: delegates
- Users API → User administration: delegates
- Geography API → Geography operations: delegates
- Lookups API → Lookup operations: delegates
- User administration → User repository
- User repository → Application database: queries and updates
- Legacy import → Legacy user source
- Queued email sender → Email queue: enqueues
- Email dispatcher → Email queue: dequeues
- Email dispatcher → SMTP service: sends mail
- Token creation → Account operations