feat(android): implement Phase 1 TimeSafari integration infrastructure

- Extend ConfigureOptions interface with activeDid integration options
- Add ActiveDid management methods to DailyNotificationPlugin interface
- Create DailyNotificationJWTManager for Android JWT authentication
- Extend DailyNotificationFetcher with Endorser.ch API support
- Enhance Android plugin with TimeSafari integration components
- Implement Phase 1 ActiveDid methods for web platform
- Update all test mocks to include new interface methods
- Add comprehensive error handling and logging

Phase 1 delivers:
 Extended TypeScript interfaces
 Android JWT authentication manager
 Enhanced Android fetcher with Endorser.ch APIs
 Integrated activeDid management methods
 Cross-platform interface compliance
 All tests passing

Ready for Phase 2: ActiveDid Integration & TimeSafari API Enhancement
This commit is contained in:
Matthew Raymer
2025-10-03 06:59:07 +00:00
parent 5c247f3ed2
commit ee772f136a
10 changed files with 1588 additions and 2 deletions

View File

@@ -49,6 +49,13 @@ describe('DailyNotification Advanced Scenarios', () => {
registerCallback: jest.fn(),
unregisterCallback: jest.fn(),
getRegisteredCallbacks: jest.fn(),
// Phase 1: ActiveDid Management Methods
setActiveDidFromHost: jest.fn(),
onActiveDidChange: jest.fn(),
refreshAuthenticationForNewIdentity: jest.fn(),
clearCacheForNewIdentity: jest.fn(),
updateBackgroundTaskIdentity: jest.fn(),
};
plugin = new DailyNotification(mockPlugin);
});

View File

@@ -63,6 +63,13 @@ describe('DailyNotification Plugin', () => {
registerCallback: jest.fn(),
unregisterCallback: jest.fn(),
getRegisteredCallbacks: jest.fn(),
// Phase 1: ActiveDid Management Methods
setActiveDidFromHost: jest.fn(),
onActiveDidChange: jest.fn(),
refreshAuthenticationForNewIdentity: jest.fn(),
clearCacheForNewIdentity: jest.fn(),
updateBackgroundTaskIdentity: jest.fn(),
};
// Create plugin instance with mock

View File

@@ -54,6 +54,13 @@ describe('DailyNotification Edge Cases', () => {
registerCallback: jest.fn(),
unregisterCallback: jest.fn(),
getRegisteredCallbacks: jest.fn(),
// Phase 1: ActiveDid Management Methods
setActiveDidFromHost: jest.fn(),
onActiveDidChange: jest.fn(),
refreshAuthenticationForNewIdentity: jest.fn(),
clearCacheForNewIdentity: jest.fn(),
updateBackgroundTaskIdentity: jest.fn(),
};
plugin = new DailyNotification(mockPlugin);
});

View File

@@ -53,6 +53,13 @@ describe('DailyNotification Enterprise Scenarios', () => {
registerCallback: jest.fn(),
unregisterCallback: jest.fn(),
getRegisteredCallbacks: jest.fn(),
// Phase 1: ActiveDid Management Methods
setActiveDidFromHost: jest.fn(),
onActiveDidChange: jest.fn(),
refreshAuthenticationForNewIdentity: jest.fn(),
clearCacheForNewIdentity: jest.fn(),
updateBackgroundTaskIdentity: jest.fn(),
};
plugin = new DailyNotification(mockPlugin);
});