Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Refactor rename the package and the private deps #28

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
fulleni merged 19 commits into main from refactor-rename-the-package-and-the-private-deps
Jul 23, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
a1f4903
chore: update MongoDB database name example
fulleni Jul 23, 2025
cb2bd23
build(deps): update dependency repository locations and names
fulleni Jul 23, 2025
90b7c45
chore: update repository links and rename project
fulleni Jul 23, 2025
75ab180
chore(dependabot): add specific package ignores in dependabot config
fulleni Jul 23, 2025
45c8ae4
refactor(api): update dependencies and imports
fulleni Jul 23, 2025
993b263
refactor:flutter_news_app_api_server_full_source_code: update imports...
fulleni Jul 23, 2025
33fc121
refactor(api): update imports and exceptions handling
fulleni Jul 23, 2025
ff00dd9
docs(countries_client_provider): update outdated commentary
fulleni Jul 23, 2025
fef92b9
refactor(rbac): update imports in permission_service and role_permiss...
fulleni Jul 23, 2025
66ce087
refactor(registry): update imports and package references
fulleni Jul 23, 2025
d67c9eb
refactor(api): rename package and update dependencies
fulleni Jul 23, 2025
ddfd42e
refactor(dependencies): update import paths and package names
fulleni Jul 23, 2025
4aca107
build: update import path for authentication middleware
fulleni Jul 23, 2025
2432d4a
refactor(auth): update imports and exceptions in auth routes
fulleni Jul 23, 2025
d8bebdf
refactor(api): update package imports and repository references
fulleni Jul 23, 2025
033fb77
build(dependencies): move core package to dependencies and adjust dotenv
fulleni Jul 23, 2025
8dc33bf
docs(README): overhaul content and structure for clarity & impact
fulleni Jul 23, 2025
3536bb3
docs(README): update toolkit name and formatting
fulleni Jul 23, 2025
af6c78b
docs(pubspec): update package description
fulleni Jul 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor(api): rename package and update dependencies
- Rename 'ht_api' to 'flutter_news_app_api_server_full_source_code'
- Update import paths for core, data_repository, and email_repository packages
- Replace HtHttpException with HttpException
- Update class and method references according to new package name
  • Loading branch information
fulleni committed Jul 23, 2025
commit d67c9eb74e714258b6c96d0eeef78d30454cb515
46 changes: 23 additions & 23 deletions lib/src/services/auth_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import 'dart:async';

import 'package:ht_api/src/config/environment_config.dart';
import 'package:ht_api/src/rbac/permission_service.dart';
import 'package:ht_api/src/rbac/permissions.dart';
import 'package:ht_api/src/services/auth_token_service.dart';
import 'package:ht_api/src/services/verification_code_storage_service.dart';
import 'package:ht_data_repository/ht_data_repository.dart';
import 'package:ht_email_repository/ht_email_repository.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:data_repository/data_repository.dart';
import 'package:email_repository/email_repository.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/config/environment_config.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permission_service.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permissions.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/auth_token_service.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/verification_code_storage_service.dart';
import 'package:logging/logging.dart';
import 'package:mongo_dart/mongo_dart.dart';

Expand All @@ -22,12 +22,12 @@ import 'package:mongo_dart/mongo_dart.dart';
class AuthService {
/// {@macro auth_service}
const AuthService({
required HtDataRepository<User> userRepository,
required DataRepository<User> userRepository,
required AuthTokenService authTokenService,
required VerificationCodeStorageService verificationCodeStorageService,
required HtEmailRepository emailRepository,
required HtDataRepository<UserAppSettings> userAppSettingsRepository,
required HtDataRepository<UserContentPreferences>
required EmailRepository emailRepository,
required DataRepository<UserAppSettings> userAppSettingsRepository,
required DataRepository<UserContentPreferences>
userContentPreferencesRepository,
required PermissionService permissionService,
required Logger log,
Expand All @@ -40,12 +40,12 @@ class AuthService {
_userContentPreferencesRepository = userContentPreferencesRepository,
_log = log;

final HtDataRepository<User> _userRepository;
final DataRepository<User> _userRepository;
final AuthTokenService _authTokenService;
final VerificationCodeStorageService _verificationCodeStorageService;
final HtEmailRepository _emailRepository;
final HtDataRepository<UserAppSettings> _userAppSettingsRepository;
final HtDataRepository<UserContentPreferences>
final EmailRepository _emailRepository;
final DataRepository<UserAppSettings> _userAppSettingsRepository;
final DataRepository<UserContentPreferences>
_userContentPreferencesRepository;
final PermissionService _permissionService;
final Logger _log;
Expand Down Expand Up @@ -112,7 +112,7 @@ class AuthService {
otpCode: code,
);
_log.info('Initiated email sign-in for $email, code sent.');
} on HtHttpException {
} on HttpException {
// Propagate known exceptions from dependencies or from this method's logic.
// This ensures that specific errors like ForbiddenException are not
// masked as a generic server error.
Expand Down Expand Up @@ -301,7 +301,7 @@ class AuthService {
// Ensure default documents are created for the new user.
await _ensureUserDataExists(user);
}
} on HtHttpException {
} on HttpException {
// Propagate known exceptions from dependencies or from this method's logic.
// This ensures that specific errors like ForbiddenException are not
// masked as a generic server error.
Expand Down Expand Up @@ -358,7 +358,7 @@ class AuthService {

// Ensure default documents are created for the new anonymous user.
await _ensureUserDataExists(user);
} on HtHttpException catch (e) {
} on HttpException catch (e) {
_log.severe('Error creating anonymous user: $e');
throw const OperationFailedException('Failed to create anonymous user.');
} catch (e) {
Expand Down Expand Up @@ -413,7 +413,7 @@ class AuthService {
// Invalidate the token using the AuthTokenService
await _authTokenService.invalidateToken(token);
_log.info('Token invalidation logic executed for user $userId.');
} on HtHttpException catch (_) {
} on HttpException catch (_) {
// Propagate known exceptions from the token service
rethrow;
} catch (e) {
Expand Down Expand Up @@ -477,7 +477,7 @@ class AuthService {
} on NotFoundException {
// Propagate NotFoundException if user doesn't exist
rethrow;
} on HtHttpException catch (_) {
} on HttpException catch (_) {
// Propagate other known exceptions from dependencies
rethrow;
} catch (e) {
Expand All @@ -490,15 +490,15 @@ class AuthService {
/// Finds a user by their email address.
///
/// Returns the [User] if found, otherwise `null`.
/// Re-throws any [HtHttpException] from the repository.
/// Re-throws any [HttpException] from the repository.
Future<User?> _findUserByEmail(String email) async {
try {
final response = await _userRepository.readAll(filter: {'email': email});
if (response.items.isNotEmpty) {
return response.items.first;
}
return null;
} on HtHttpException {
} on HttpException {
rethrow;
}
}
Expand Down
2 changes: 1 addition & 1 deletion lib/src/services/auth_token_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';

/// {@template auth_token_service}
/// Service responsible for generating and validating authentication tokens.
Expand Down
16 changes: 8 additions & 8 deletions lib/src/services/dashboard_summary_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:ht_data_repository/ht_data_repository.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:data_repository/data_repository.dart';

/// {@template dashboard_summary_service}
/// A service responsible for calculating the dashboard summary data on demand.
Expand All @@ -10,16 +10,16 @@ import 'package:ht_shared/ht_shared.dart';
class DashboardSummaryService {
/// {@macro dashboard_summary_service}
const DashboardSummaryService({
required HtDataRepository<Headline> headlineRepository,
required HtDataRepository<Topic> topicRepository,
required HtDataRepository<Source> sourceRepository,
required DataRepository<Headline> headlineRepository,
required DataRepository<Topic> topicRepository,
required DataRepository<Source> sourceRepository,
}) : _headlineRepository = headlineRepository,
_topicRepository = topicRepository,
_sourceRepository = sourceRepository;

final HtDataRepository<Headline> _headlineRepository;
final HtDataRepository<Topic> _topicRepository;
final HtDataRepository<Source> _sourceRepository;
final DataRepository<Headline> _headlineRepository;
final DataRepository<Topic> _topicRepository;
final DataRepository<Source> _sourceRepository;

/// Calculates and returns the current dashboard summary.
///
Expand Down
8 changes: 4 additions & 4 deletions lib/src/services/database_seeding_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import 'package:ht_api/src/services/mongodb_token_blacklist_service.dart';
import 'package:ht_api/src/services/mongodb_verification_code_storage_service.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_token_blacklist_service.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/mongodb_verification_code_storage_service.dart';
import 'package:logging/logging.dart';
import 'package:mongo_dart/mongo_dart.dart';

/// {@template database_seeding_service}
/// A service responsible for seeding the MongoDB database with initial data.
///
/// This service reads data from predefined fixture lists in `ht_shared` and
/// This service reads data from predefined fixture lists in `core` and
/// uses `upsert` operations to ensure that the seeding process is idempotent.
/// It can be run multiple times without creating duplicate documents.
/// {@endtemplate}
Expand Down
18 changes: 9 additions & 9 deletions lib/src/services/default_user_preference_limit_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'package:ht_api/src/rbac/permission_service.dart';
import 'package:ht_api/src/rbac/permissions.dart';
import 'package:ht_api/src/services/user_preference_limit_service.dart';
import 'package:ht_data_repository/ht_data_repository.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:data_repository/data_repository.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permission_service.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/rbac/permissions.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/user_preference_limit_service.dart';
import 'package:logging/logging.dart';

/// {@template default_user_preference_limit_service}
Expand All @@ -12,14 +12,14 @@ import 'package:logging/logging.dart';
class DefaultUserPreferenceLimitService implements UserPreferenceLimitService {
/// {@macro default_user_preference_limit_service}
const DefaultUserPreferenceLimitService({
required HtDataRepository<RemoteConfig> remoteConfigRepository,
required DataRepository<RemoteConfig> remoteConfigRepository,
required PermissionService permissionService,
required Logger log,
}) : _remoteConfigRepository = remoteConfigRepository,
_permissionService = permissionService,
_log = log;

final HtDataRepository<RemoteConfig> _remoteConfigRepository;
final DataRepository<RemoteConfig> _remoteConfigRepository;
final PermissionService _permissionService;
final Logger _log;

Expand Down Expand Up @@ -76,7 +76,7 @@ class DefaultUserPreferenceLimitService implements UserPreferenceLimitService {
'for your account type ($accountType).',
);
}
} on HtHttpException {
} on HttpException {
// Propagate known exceptions from repositories
rethrow;
} catch (e) {
Expand Down Expand Up @@ -155,7 +155,7 @@ class DefaultUserPreferenceLimitService implements UserPreferenceLimitService {
'for your account type ($accountType).',
);
}
} on HtHttpException {
} on HttpException {
// Propagate known exceptions from repositories
rethrow;
} catch (e) {
Expand Down
24 changes: 12 additions & 12 deletions lib/src/services/jwt_auth_token_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import 'package:core/core.dart';
import 'package:dart_jsonwebtoken/dart_jsonwebtoken.dart';
import 'package:ht_api/src/config/environment_config.dart';
import 'package:ht_api/src/services/auth_token_service.dart';
import 'package:ht_api/src/services/token_blacklist_service.dart';
import 'package:ht_data_repository/ht_data_repository.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:data_repository/data_repository.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/config/environment_config.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/auth_token_service.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/token_blacklist_service.dart';
import 'package:logging/logging.dart';
import 'package:mongo_dart/mongo_dart.dart';

Expand All @@ -21,14 +21,14 @@ class JwtAuthTokenService implements AuthTokenService {
/// subject claim.
/// - [blacklistService]: To manage the blacklist of invalidated tokens.
const JwtAuthTokenService({
required HtDataRepository<User> userRepository,
required DataRepository<User> userRepository,
required TokenBlacklistService blacklistService,
required Logger log,
}) : _userRepository = userRepository,
_blacklistService = blacklistService,
_log = log;

final HtDataRepository<User> _userRepository;
final DataRepository<User> _userRepository;
final TokenBlacklistService _blacklistService;
final Logger _log;

Expand Down Expand Up @@ -179,11 +179,11 @@ class JwtAuthTokenService implements AuthTokenService {
);
// Treat other JWT exceptions as invalid tokens
throw UnauthorizedException('Invalid token: ${e.message}');
} on HtHttpException catch (e, s) {
} on HttpException catch (e, s) {
// Handle errors from the user repository (e.g., user not found)
// or blacklist check (if it threw HtHttpException)
// or blacklist check (if it threw HttpException)
_log.warning(
'[validateToken] CATCH HtHttpException: Error during validation. '
'[validateToken] CATCH HttpException: Error during validation. '
'Type: ${e.runtimeType}, Message: $e\n$s',
);
// Re-throw repository/blacklist exceptions directly
Expand Down Expand Up @@ -253,10 +253,10 @@ class JwtAuthTokenService implements AuthTokenService {
);
// Treat as invalid input for invalidation purposes
throw InvalidInputException('Invalid token format: ${e.message}');
} on HtHttpException catch (e, s) {
} on HttpException catch (e, s) {
// Catch errors from the blacklist service itself
_log.warning(
'[invalidateToken] CATCH HtHttpException: Error during blacklisting. '
'[invalidateToken] CATCH HttpException: Error during blacklisting. '
'Type: ${e.runtimeType}, Message: $e\n$s',
);
// Re-throw blacklist service exceptions
Expand Down
6 changes: 3 additions & 3 deletions lib/src/services/mongodb_token_blacklist_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'dart:async';

import 'package:ht_api/src/services/token_blacklist_service.dart';
import 'package:ht_data_mongodb/ht_data_mongodb.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:data_mongodb/data_mongodb.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/token_blacklist_service.dart';
import 'package:logging/logging.dart';
import 'package:mongo_dart/mongo_dart.dart';

Expand Down
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import 'dart:async';
import 'dart:math';

import 'package:ht_api/src/services/verification_code_storage_service.dart';
import 'package:ht_data_mongodb/ht_data_mongodb.dart';
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:data_mongodb/data_mongodb.dart';
import 'package:flutter_news_app_api_server_full_source_code/src/services/verification_code_storage_service.dart';
import 'package:logging/logging.dart';
import 'package:mongo_dart/mongo_dart.dart';

Expand Down
2 changes: 1 addition & 1 deletion lib/src/services/token_blacklist_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'dart:async';

import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';
import 'package:logging/logging.dart';
import 'package:meta/meta.dart';

Expand Down
2 changes: 1 addition & 1 deletion lib/src/services/user_preference_limit_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';

/// {@template user_preference_limit_service}
/// Service responsible for enforcing user preference limits based on user role.
Expand Down
2 changes: 1 addition & 1 deletion lib/src/services/verification_code_storage_service.dart
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import 'dart:async';

import 'package:ht_shared/ht_shared.dart';
import 'package:core/core.dart';

/// {@template verification_code_storage_service}
/// Defines the interface for a service that manages verification codes
Expand Down

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /