refactor(http): удалить интерфейс IHttpClient и упростить реализацию AppHttpClient (#42)

* refactor(http): удалить интерфейс IHttpClient и упростить реализацию AppHttpClient

- Удален интерфейс IHttpClient, что упростило структуру кода.
- AppHttpClient теперь напрямую использует Dio без промежуточного интерфейса.
- Обновлены зависимости в репозиториях для использования нового HTTP клиента.

* refactor(code):  dart format

* chore(pr-template): удалить отключения markdownlint из шаблона PR

* docs(copilot-instructions): добавить правила проведения Code Review

---------

Co-authored-by: petrovyuri <petrovyuri@example.com>
This commit is contained in:
Yuri Petrov
2025-12-11 10:27:19 +03:00
committed by GitHub
parent ab64fb9246
commit 4a49083ef3
15 changed files with 54 additions and 258 deletions

View File

@@ -4,6 +4,9 @@ import 'package:friflex_starter/features/auth/domain/repository/i_auth_repositor
/// Mock реализация репозитория авторизации
/// {@endtemplate}
final class AuthMockRepository implements IAuthRepository {
/// {@macro AuthMockRepository}
const AuthMockRepository();
@override
String get name => 'AuthMockRepository';
}

View File

@@ -1,4 +1,4 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import 'package:friflex_starter/app/http/app_http_client.dart';
import 'package:friflex_starter/features/auth/domain/repository/i_auth_repository.dart';
@@ -7,7 +7,9 @@ import 'package:friflex_starter/features/auth/domain/repository/i_auth_repositor
/// {@endtemplate}
final class AuthRepository implements IAuthRepository {
AuthRepository({required this.httpClient});
final IHttpClient httpClient;
/// Экземпляр HTTP клиента для взаимодействия с сервером
final AppHttpClient httpClient;
@override
String get name => 'AuthRepository';

View File

@@ -1,9 +1,12 @@
import 'package:friflex_starter/features/main/domain/repository/i_main_repository.dart';
/// {@template MainMockRepository}
///
/// Мок реализация репозитория главного сервиса
/// {@endtemplate}
final class MainMockRepository implements IMainRepository {
/// {@macro MainMockRepository}
const MainMockRepository();
@override
String get name => 'MainMockRepository';
}

View File

@@ -1,13 +1,14 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import 'package:friflex_starter/app/http/app_http_client.dart';
import 'package:friflex_starter/features/main/domain/repository/i_main_repository.dart';
/// {@template MainRepository}
///
/// Реализация репозитория главного сервиса
/// {@endtemplate}
final class MainRepository implements IMainRepository {
MainRepository({required this.httpClient});
final IHttpClient httpClient;
/// Экземпляр HTTP клиента для взаимодействия с сервером
final AppHttpClient httpClient;
@override
String get name => 'MainRepository';

View File

@@ -1,9 +1,12 @@
import 'package:friflex_starter/features/profile/domain/repository/i_profile_repository.dart';
/// {@template ProfileMockRepository}
///
/// Мок реализация репозитория профиля пользователя
/// {@endtemplate}
final class ProfileMockRepository implements IProfileRepository {
/// {@macro ProfileMockRepository}
const ProfileMockRepository();
@override
String get name => 'ProfileMockRepository';

View File

@@ -1,13 +1,15 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import 'package:friflex_starter/app/http/app_http_client.dart';
import 'package:friflex_starter/features/profile/domain/repository/i_profile_repository.dart';
/// {@template ProfileRepository}
///
/// Реализация репозитория профиля пользователя
/// {@endtemplate}
final class ProfileRepository implements IProfileRepository {
ProfileRepository({required this.httpClient});
final IHttpClient httpClient;
/// Экземпляр HTTP клиента для взаимодействия с сервером
final AppHttpClient httpClient;
@override
String get name => 'ProfileRepository';

View File

@@ -1,3 +1,4 @@
import 'package:friflex_starter/app/http/app_http_client.dart';
import 'package:friflex_starter/features/update/domain/entity/update_entity.dart';
import 'package:friflex_starter/features/update/domain/repository/i_update_repository.dart';
@@ -6,7 +7,10 @@ import 'package:friflex_starter/features/update/domain/repository/i_update_repos
/// {@endtemplate}
final class UpdateRepository implements IUpdateRepository {
/// {@macro UpdateRepository}
const UpdateRepository();
UpdateRepository({required this.httpClient});
/// Экземпляр HTTP клиента для взаимодействия с сервером
final AppHttpClient httpClient;
@override
Future<UpdateEntity> checkForUpdates({