feat: Update API endpoint usage in repositories to remove redundant path property

- Refactored multiple repository implementations across client and staff features to directly use endpoint objects without accessing the `path` property.
- Introduced a new `FeatureGate` class for client-side feature gating based on user scopes, allowing for better access control to API endpoints.
- Added `ApiEndpoint` class to represent API endpoints with their paths and required scopes for future feature gating.
This commit is contained in:
Achintha Isuru
2026-03-17 12:01:06 -04:00
parent 57bba8ab4e
commit 376b4e4431
47 changed files with 240 additions and 139 deletions

View File

@@ -25,7 +25,7 @@ class AvailabilityRepositoryImpl implements AvailabilityRepository {
final String endDate = _toIsoDate(end);
final ApiResponse response = await _apiService.get(
StaffEndpoints.availability.path,
StaffEndpoints.availability,
params: <String, dynamic>{
'startDate': startDate,
'endDate': endDate,
@@ -48,7 +48,7 @@ class AvailabilityRepositoryImpl implements AvailabilityRepository {
required List<TimeSlot> slots,
}) async {
final ApiResponse response = await _apiService.put(
StaffEndpoints.availability.path,
StaffEndpoints.availability,
data: <String, dynamic>{
'dayOfWeek': dayOfWeek,
'availabilityStatus': status.toJson(),
@@ -86,7 +86,7 @@ class AvailabilityRepositoryImpl implements AvailabilityRepository {
}
await _apiService.post(
StaffEndpoints.availabilityQuickSet.path,
StaffEndpoints.availabilityQuickSet,
data: data,
);
}