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:
@@ -27,7 +27,7 @@ class CertificatesRepositoryImpl implements CertificatesRepository {
|
||||
@override
|
||||
Future<List<StaffCertificate>> getCertificates() async {
|
||||
final ApiResponse response =
|
||||
await _api.get(StaffEndpoints.certificates.path);
|
||||
await _api.get(StaffEndpoints.certificates);
|
||||
final List<dynamic> items =
|
||||
response.data['certificates'] as List<dynamic>;
|
||||
return items
|
||||
@@ -73,7 +73,7 @@ class CertificatesRepositoryImpl implements CertificatesRepository {
|
||||
|
||||
// 4. Save certificate via V2 API
|
||||
await _api.post(
|
||||
StaffEndpoints.certificates.path,
|
||||
StaffEndpoints.certificates,
|
||||
data: <String, dynamic>{
|
||||
'certificateType': certificateType,
|
||||
'name': name,
|
||||
@@ -95,7 +95,7 @@ class CertificatesRepositoryImpl implements CertificatesRepository {
|
||||
@override
|
||||
Future<void> deleteCertificate({required String certificateId}) async {
|
||||
await _api.delete(
|
||||
StaffEndpoints.certificateDelete(certificateId).path,
|
||||
StaffEndpoints.certificateDelete(certificateId),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class DocumentsRepositoryImpl implements DocumentsRepository {
|
||||
@override
|
||||
Future<List<ProfileDocument>> getDocuments() async {
|
||||
final ApiResponse response =
|
||||
await _api.get(StaffEndpoints.documents.path);
|
||||
await _api.get(StaffEndpoints.documents);
|
||||
final List<dynamic> items = response.data['documents'] as List<dynamic>;
|
||||
return items
|
||||
.map((dynamic json) =>
|
||||
@@ -64,7 +64,7 @@ class DocumentsRepositoryImpl implements DocumentsRepository {
|
||||
|
||||
// 4. Submit upload result to V2 API
|
||||
await _api.put(
|
||||
StaffEndpoints.documentUpload(documentId).path,
|
||||
StaffEndpoints.documentUpload(documentId),
|
||||
data: <String, dynamic>{
|
||||
'fileUri': signedUrlRes.signedUrl,
|
||||
'verificationId': verificationRes.verificationId,
|
||||
|
||||
@@ -18,7 +18,7 @@ class TaxFormsRepositoryImpl implements TaxFormsRepository {
|
||||
@override
|
||||
Future<List<TaxForm>> getTaxForms() async {
|
||||
final ApiResponse response =
|
||||
await _api.get(StaffEndpoints.taxForms.path);
|
||||
await _api.get(StaffEndpoints.taxForms);
|
||||
final List<dynamic> items = response.data['taxForms'] as List<dynamic>;
|
||||
return items
|
||||
.map((dynamic json) =>
|
||||
@@ -29,7 +29,7 @@ class TaxFormsRepositoryImpl implements TaxFormsRepository {
|
||||
@override
|
||||
Future<void> updateTaxForm(TaxForm form) async {
|
||||
await _api.put(
|
||||
StaffEndpoints.taxFormUpdate(form.formType).path,
|
||||
StaffEndpoints.taxFormUpdate(form.formType),
|
||||
data: form.toJson(),
|
||||
);
|
||||
}
|
||||
@@ -37,7 +37,7 @@ class TaxFormsRepositoryImpl implements TaxFormsRepository {
|
||||
@override
|
||||
Future<void> submitTaxForm(TaxForm form) async {
|
||||
await _api.post(
|
||||
StaffEndpoints.taxFormSubmit(form.formType).path,
|
||||
StaffEndpoints.taxFormSubmit(form.formType),
|
||||
data: form.toJson(),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user