Commit Graph

24 Commits

Author SHA1 Message Date
Artemy eab0d746b8 was added firebase nitifying 2026-03-01 16:48:06 +07:00
Artemy aa4c4a0685 fixed tests and adding new sessions when it not needed 2026-02-22 19:34:43 +07:00
Artemy bc4988a48d fix errors 2026-02-08 22:41:22 +07:00
Artemy 0a43e35797 test to make server 2026-02-08 22:30:29 +07:00
Artemy cc2921d257 Updeted Session Model and Session Opener Service
renamed RefreshToken in model to RefreshTokenHash - now we have a hash of token, not a token
2025-12-14 14:03:18 +07:00
Artemy 7e6f914878 technical edits 2025-12-12 17:23:01 +07:00
Artemy c462d065f4 [TearDown] added 2025-11-04 11:51:37 +07:00
Artemy a5a5fc4758 new app server and database + added hub and controller of user profile 2025-11-04 11:41:06 +07:00
Artemy 751c30dedd Add CurrentUserSessionService for session ID retrieval
Introduces ICurrentUserSessionService and its implementation to provide access to the current user's session ID via the 'sid' claim. Registers the service in DI and adds comprehensive unit tests to validate correct and error scenarios.
2025-07-25 18:07:05 +07:00
Artemy ce630fbe0a Add sessionId to JWT and update session handling
The JwtService now includes sessionId in access tokens, and all usages have been updated to pass sessionId when generating tokens. UserSession now supports public encryption and signing keys. Tests and session management logic have been updated to reflect these changes, ensuring session-specific claims in JWTs and improved session tracking.
2025-07-25 17:54:58 +07:00
Artemy e9eee5bfec UserSession namespace was changed 2025-07-24 21:37:12 +07:00
Artemy a0ef087110 SessionControllerTests 2025-07-24 18:29:35 +07:00
Artemy 15f9370dbe Created SessionController and UserSessionReader
+ tests for UserSessionReader
2025-07-24 17:03:51 +07:00
Artemy 53ea25f9fd small fix 2025-07-24 14:45:01 +07:00
Artemy e277159022 UserNotificationScopeServiceTests 2025-07-23 22:41:46 +07:00
Artemy be0edb0f94 Refactor user ID access in SignalR hubs and add online user tracking
Introduces IHubUserAccessor and its implementation to centralize user ID retrieval from SignalR HubCallerContext, replacing duplicated logic in ChatsHub, FriendsHub, and PresenceHub. Moves extension and mapping files to a Common directory, adds UserToUserDtoMappingAction for online status mapping, and implements OnlineUserStore with tests for tracking online users. Updates dependency injection and test code to use the new abstractions.
2025-07-23 22:21:51 +07:00
Artemy 31fdf4cb37 Add user online presence tracking and notification
Introduced interfaces and services for tracking user online status, including IOnlineUserStore, IUserNotificationScopeService, and IUserPresenceReader. Added PresenceHub for real-time presence updates via SignalR. Updated OnlinePingingController to use new services and return online status and last seen. Extended UserDto with IsOnline property. Updated dependency injection and privacy settings enum. Removed obsolete IUserPresenceService.
2025-07-23 21:07:29 +07:00
Artemy b24649e53a Refactor message loading API and add message query support
Reworked message loading endpoints and services to support flexible message querying with 'before' and 'after' parameters via a new MessageQuery contract. Updated controller actions, service interfaces, and implementations to use the new query model, and improved error handling. Added integration tests for ChatLoadController and introduced IUserPresenceService interface. Minor fixes and help text improvements in console client commands.
2025-07-23 13:06:34 +07:00
Artemy c0d02e0fa1 Add access control for media downloads
Introduced IAccesserToDownloadMedia and its implementation to enforce access checks when downloading media files. Updated MediaController to use the new accesser service and improved error handling and validation in upload/download actions. Refactored and moved MediaService to the Medias namespace, registered new services in DI, and added comprehensive tests for access logic. Also fixed GroupMembershipConfiguration to make InvitationId optional and performed minor test and namespace cleanups.
2025-07-21 14:51:57 +07:00
Artemy 58e7716ded MessagesLoaderTests 2025-07-21 13:42:41 +07:00
Artemy ff873ae179 Implement refresh token flow and refactor session handling
Added refresh token endpoint and controller, introduced IUserSessionRefresher and UserSessionRefresher for token renewal, and updated session handling to return both access and refresh tokens. Refactored AuthController, tests, and related interfaces to support new token flow. Fixed JwtAccessOption property typo, updated configuration, and extended UserSessionsRepository to support lookup by refresh token.
2025-07-19 17:51:06 +07:00
Artemy ab643c16a4 Implement user session management and JWT refresh tokens
Added user session models, interfaces, repository, and service for managing user sessions and refresh tokens. Refactored authentication flow to return user objects and open sessions with device info, supporting refresh token generation and validation. Updated JWT configuration to separate access and refresh options, and refactored related tests and API contracts. Improved media upload handling and error logging. Migrated dependency references and DI registrations accordingly.
2025-07-18 20:16:36 +07:00
Artemy c7de2318fc using Govor.Core.Models.Users; 2025-07-11 21:52:37 +07:00
Artemy 65a43c09d3 Refactor message service and move tests to Application.Tests
Renamed IMessageService to IMessageCommandService and updated all usages accordingly. Moved and renamed test files from Govor.API.Tests to the new Govor.Application.Tests project, updating namespaces to match. Refactored message-related services and controllers to use the new naming and structure. Added Govor.Application.Tests project to the solution.
2025-07-10 18:05:10 +07:00