Commit Graph

5 Commits

Author SHA1 Message Date
joelthomastrenser 404d217504 Clean up legacy code
- Remove FileManager and related file-based persistence logic
- Remove obsolete observer persistence utilities
- Remove unused service APIs and includes
- Delete duplicate DataStore mutex stubs
- Perform general dead-code cleanup
2026-06-15 15:16:55 +05:30
joelthomastrenser 67ac7f6625 Implement Service Refactoring
<UserStory> 1954: Implement Service Refactoring </UserStory>

UserStory #1954

<Changes>
1. Refactored notification handling to persist notifications directly in the datastore instead of maintaining notification collections within User objects.
2. Removed recipient User pointer dependencies from Notification and retained recipient user identification through recipientUserId.
3. Implemented generic observer persistence support in DataStore with shared helper methods for loading and saving observer subscriptions.
4. Added datastore-backed observer management for ServiceManagementService, PaymentManagementService, and InventoryManagementService.
5. Updated attach() and detach() operations to load, modify, and persist observer subscriptions using shared memory mappings.
6. Refactored sendNotification() implementations to create and persist Notification records directly to the datastore for subscribed observers.
7. Updated UserManagementService notification retrieval and deletion logic to operate on datastore notification records filtered by recipient user ID.
8. Removed notification ownership and observer-specific notification APIs from User and Observer classes.
9. Added configurable shared memory growth factor support and updated mapping expansion logic to use centralized configuration values.
10. Removed obsolete NotificationManagementService implementation and updated project configuration references.
11. Added DataStoreLockGuard integration for observer and notification persistence operations to ensure synchronized datastore access.
</Changes>

<Test>
N/A
</Test>

<Review>
Sreeja Reghukumar, please review
</Review>
2026-06-15 15:16:55 +05:30
joelthomastrenser 3b1f3301d6 Implemented datastore shared memory codebase
Changes:
- Added SharedMemory module for file-backed memory-mapped storage
- Added MappingInfo, FileHeader, RecordState and TrackedRecord infrastructure
- Replaced CSV-based serialization with binary struct serialization
- Added DataStore initialization and shutdown lifecycle management
- Added datastore mutex synchronization for multi-process access
- Added shared-memory mapping configuration for all datastore entities
- Added generic loadRecords and saveRecords template infrastructure
- Added automatic datastore directory creation and .dat file storage
- Updated configuration to use binary datastore files and initial capacities
- Added enum underlying types for serialization compatibility
- Added password masking support for login, registration and password change flows
- Added Visual Studio project configuration for shared-memory components
- Added datastore-owned record caches for runtime object management
- Updated datastore APIs to return cached tracked-record collections by reference
- Added generic cache refresh and cleanup infrastructure
- Updated save operations to persist datastore caches directly
- Added automatic cache cleanup during datastore destruction
- Prepared datastore for multi-process shared-memory persistence
2026-06-12 03:18:15 +05:30
Jissin Mathew 500eb95f12 Add documentation headers across system modules 2026-05-22 12:49:14 +05:30
Joel Thomas a7ad188801 Setup codebase 2026-05-19 09:56:36 +05:30