Commit Graph

138 Commits

Author SHA1 Message Date
Artemy 92c1ff6458 IUserGroupsService + tests 2025-07-07 21:06:04 +07:00
Artemy a68feb4a17 Refactor group existence checks and add group repo tests
Renamed IGroupsExist and related methods from Exists to Exist for consistency. Added integration tests for GroupRepository. Introduced entity configurations for ChatGroup, GroupAdmins, GroupInvitation, and updated GroupMembership configuration. Updated usages and tests to match new method names and improved equality checks for ChatGroup.
2025-07-07 20:49:20 +07:00
Artemy 42be589a26 Update ChatGroupValidatorTests.cs 2025-07-07 19:46:45 +07:00
Artemy baeafad007 PrivateChatsRepositoryTests 2025-07-07 19:33:47 +07:00
Artemy b027b20fc3 ChatGroupValidator 2025-07-07 14:05:11 +07:00
Artemy 2cb6a93060 Add private chat support and group model enhancements
Introduces repositories, validators, and integration tests for private chats. Refactors group-related models to support invitations and memberships, updates group repository interfaces and implementations, and enhances message service logic to handle private chat creation and retrieval. Also registers new services and validators in DI, and updates related tests.
2025-07-07 13:55:29 +07:00
Artemy 66819a015a Refactor media attachments to use MediaFile entity
This commit introduces the MediaFile entity and updates the media attachments model, repositories, and related logic to reference MediaFile instead of storing file metadata directly in MediaAttachments. Controller, service, and SignalR request/response contracts are updated to support the new structure. Database configurations and validators are also adjusted accordingly. This refactor improves media management and normalization in the data model.
2025-07-06 21:09:12 +07:00
Artemy 42348c863f Add admin friendships controller and improve friend request handling
Introduces FriendshipsController for admin operations, including listing and removing friendships. Updates routing for admin controllers, improves error handling in UsersController, and enhances FriendsController and related services to include requester details in friendship DTOs. Refactors friend request acceptance to use query parameters and updates console client for improved user feedback and local development configuration.
2025-07-06 17:43:10 +07:00
Artemy 857751f0ad userId update in ChatHub 2025-07-06 16:02:45 +07:00
Artemy 6062113655 Add unit tests and implement group repository interfaces
Introduces comprehensive unit tests for MessageService covering send, edit, and delete message scenarios. Adds and implements IGroupsRepository, IGroupsReader, and IGroupsWriter interfaces with method stubs in GroupRepository. Updates ChatGroup model with Description and ImageId fields, and registers GroupRepository in DI. Fixes parameter order in SendMessage record.
2025-07-06 15:44:45 +07:00
Artemy 89f14c134f VerifyFriendshipTests 2025-07-06 14:22:50 +07:00
Artemy bdcfd32b11 the basis for group and private messages 2025-07-04 14:33:54 +07:00
Artemy fab3d6b67b ChatGroup work 2025-07-04 12:43:12 +07:00
Artemy d170c6270f hot fix for friends controller 2025-07-03 19:46:53 +07:00
Artemy 565d3249e5 Add online pinging and friendship verification features
Introduces OnlinePingingController and related integration/unit tests for user online status updates. Adds PingHandlerService with memory cache throttling, IPingHandlerService interface, and service registration. Implements VerifyFriendship service and interface for friendship validation, with exception handling. Refactors CurrentUserService for improved user ID extraction and testability. Updates ChatsHub to verify friendship before messaging. Cleans up MediaController and optimizes UsersRepository queries by removing unnecessary includes.
2025-07-02 19:16:49 +07:00
Artemy 0669614a5e async Task<string> GenerateJwtTokenAsync(User user) 2025-07-02 15:26:27 +07:00
Artemy 0967fe1b4e gitignore update for logs 2025-07-02 12:01:48 +07:00
Artemy 48e519118e hot fix jwt 2025-07-01 21:42:34 +07:00
Artemy 21a377eff3 UseSwagger 2025-07-01 21:27:04 +07:00
Artemy 2ce7b6e7f9 UseHttpsRedirection 2025-07-01 21:09:05 +07:00
Artemy cc4449ca29 Merge branch 'master' of https://github.com/Govor-team/Govor 2025-07-01 20:49:21 +07:00
Artemy f90b124ba3 Update Program.cs 2025-07-01 20:49:14 +07:00
Artemy 88c4210ad6 Update dotnet.yml 2025-07-01 20:16:13 +07:00
Artemy e43d3a2c8f Update dotnet.yml 2025-07-01 20:10:25 +07:00
Artemy efdcd92828 Merge branch 'master' of https://github.com/Govor-team/Govor 2025-07-01 20:08:02 +07:00
Artemy e6e1dd6e92 LangVersion 12 2025-07-01 20:07:53 +07:00
Artemy cab30a79eb Update dotnet.yml 2025-07-01 20:03:32 +07:00
Artemy b9e2b5d417 update 2025-07-01 19:53:12 +07:00
Artemy 42e58dad9f dockerfile add 2025-07-01 19:50:24 +07:00
Artemy e061725a99 downcast to .net 8.x 2025-07-01 19:17:01 +07:00
Artemy b84d641bb5 new logger 2025-07-01 15:46:41 +07:00
Artemy cdae63b223 optimization sql 2025-07-01 15:05:49 +07:00
Artemy 5883f3e340 hot fix 2025-07-01 13:25:55 +07:00
Artemy f855b91155 Completed the development of tests for FriendsController 2025-07-01 11:43:11 +07:00
Artemy 8e245ea044 Test for SendRequest action 2025-06-30 19:27:29 +07:00
Artemy ab426979d0 Update AuthControllerTests.cs 2025-06-30 19:04:35 +07:00
Artemy 494c12df49 MySQL migration 2025-06-30 18:59:05 +07:00
Artemy f53ee6644b Refactor user context handling with CurrentUserService
Introduced ICurrentUserService and its implementation to centralize retrieval of the current user's ID from claims. Updated FriendsController to use this service instead of direct claim access. Registered the service and IHttpContextAccessor in DI. Added integration tests for FriendsController. Moved UsernameValidator to Infrastructure/Validators.
2025-06-30 17:37:02 +07:00
Artemy a659c73357 Final Friends Service Tests 2025-06-30 16:54:58 +07:00
Artemy 681a55c198 Update FriendsServiceTests.cs 2025-06-30 16:34:31 +07:00
Artemy 523e55508b Update FriendsServiceTests.cs 2025-06-30 14:44:15 +07:00
Artemy 86a96cdb0a Create FriendsServiceTests.cs 2025-06-30 14:18:54 +07:00
Artemy 7aa1b1831a Improve friends search and error handling in API
Refactored FriendsController to provide more precise error responses and input validation. Enhanced FriendsService to handle new exception types and improved user search logic. Added tests for user search, updated repository to throw on empty search results, and implemented User equality override. Cleaned up Program.cs controller JSON options.
2025-06-30 12:47:53 +07:00
Artemy 9bfcc1980d Update RegistrationRequest.cs 2025-06-30 11:54:00 +07:00
Artemy 26dc4ccc1f client 2025-06-27 21:50:23 +07:00
Artemy 05298c004c FriendsController 2025-06-27 19:12:31 +07:00
Artemy ec44347bbe Add username validation and initial friends feature
Introduced a UsernameValidator with Cyrillic and length checks, integrated into AuthService and registration flow. Added InvalidUsernameException and related interface. Updated User model to support friend requests, added FriendsController (stub), and configured Friendship entity in EF Core. Adjusted UserValidator max name length and removed navigation properties from PrivateChat.
2025-06-27 16:36:56 +07:00
Artemy 9b9cd73a96 Add friendship feature with models, repository, and tests
Introduces Friendship and PrivateChat models, repository interfaces, and implementations for managing friendships. Adds validators and comprehensive unit and integration tests for friendship logic. Updates InviteUserController with new endpoints and restricts access to admin role. Removes unnecessary project references from Govor.API.csproj and registers new DbSets in GovorDbContext.
2025-06-27 15:09:28 +07:00
Artemy 4f3f4ec066 Refactor to introduce Govor.Application and Govor.Contracts layers
Moved service implementations and interfaces from Govor.API and Govor.Core to new Govor.Application and Govor.Contracts projects. Updated namespaces and references throughout the solution. Added custom exception classes for authentication and invite services. Adjusted dependency injection and project references to use the new structure. This refactor improves separation of concerns and prepares the codebase for better maintainability and scalability.
2025-06-25 15:16:14 +07:00
Artemy 5693190b1c Add unit tests for InvitationGenerator and JwtService
Introduces unit tests for the InvitationGenerator and JwtService classes. The tests cover invitation code generation, repository interaction, code uniqueness, and JWT token generation and validation.
2025-06-25 14:33:41 +07:00