bug fixing
parent
9c4df54156
commit
9bdb105212
@ -0,0 +1,63 @@
|
||||
# View-Only Mode: CustomerID Parameter Exclusion
|
||||
|
||||
## Summary
|
||||
Updated all API calls to exclude `customerID` parameter when `AppState().getIsViewOnly` is `true`.
|
||||
|
||||
## Files Modified
|
||||
|
||||
### 1. **request_repo.dart**
|
||||
- ✅ `createRequest()` - Excludes customerID in view-only mode
|
||||
- ✅ `getRequests()` - Excludes customerID for customer app type in view-only mode
|
||||
- ✅ `getRequestBasedOnFilters()` - Excludes customerID for customer app type in view-only mode
|
||||
- ✅ `getOffersFromProvidersByRequest()` - Excludes customerID in view-only mode
|
||||
|
||||
### 2. **ads_repo.dart**
|
||||
- ✅ `cancelMyAdReservation()` - Excludes customerID in view-only mode
|
||||
- ✅ `createReserveAd()` - Excludes customerID in view-only mode
|
||||
- ✅ `uploadBankReceiptsOnReserveDealDone()` - Excludes customerID in view-only mode
|
||||
|
||||
### 3. **appointment_repo.dart**
|
||||
- ✅ `createAppointmentsMulti()` - Excludes customerID in view-only mode
|
||||
- ✅ `getMyAppointmentsForCustomersByFilters()` - Excludes customerID in view-only mode
|
||||
|
||||
### 4. **branch_repo.dart**
|
||||
- ✅ `submitBranchRatings()` - Excludes customerID in view-only mode
|
||||
- ✅ `addProviderToFavourite()` - Excludes customerID in view-only mode
|
||||
- ✅ `getMyFavoriteProviders()` - Excludes customerID in view-only mode
|
||||
|
||||
### 5. **setting_options_repo.dart**
|
||||
- ✅ `appInvitationCreate()` - Excludes customerID for customer app type in view-only mode
|
||||
|
||||
## How It Works
|
||||
|
||||
When `AppState().getIsViewOnly` is `true`, the application is in demonstration/view-only mode. In this mode:
|
||||
|
||||
1. **API parameters are conditionally added**: Instead of always including `customerID`, we check the view-only flag first
|
||||
2. **Pattern used**:
|
||||
```dart
|
||||
var params = {
|
||||
"otherParam": value,
|
||||
};
|
||||
|
||||
if (!appState.getIsViewOnly) {
|
||||
params["customerID"] = customerId;
|
||||
}
|
||||
```
|
||||
|
||||
3. **App types considered**: The changes properly handle both customer and provider app types
|
||||
|
||||
## Testing Recommendations
|
||||
|
||||
1. Test in normal mode (getIsViewOnly = false):
|
||||
- All APIs should include customerID as before
|
||||
- All existing functionality should work
|
||||
|
||||
2. Test in view-only mode (getIsViewOnly = true):
|
||||
- APIs should NOT include customerID parameter
|
||||
- Read-only operations should work
|
||||
- Write operations should be blocked by view-only mode
|
||||
|
||||
## Note
|
||||
|
||||
The `createComplainFromProvider()` method in `common_repo.dart` was NOT modified because the `customerID` in that API represents the target customer being complained about, not the authenticated user making the request.
|
||||
|
||||
Loading…
Reference in New Issue