Browse Source

cache get water types

master
daivph 5 years ago
parent
commit
b0b6a35bfb
5 changed files with 33 additions and 14 deletions
  1. +1
    -1
      lib/data/api/rest_client.dart
  2. +30
    -6
      lib/data/api/rest_client.g.dart
  3. +2
    -3
      lib/data/repository/repository.dart
  4. +0
    -3
      lib/presentation/screens/actions/use_water/sc_edit_action_user_water.dart
  5. +0
    -1
      pubspec.yaml

+ 1
- 1
lib/data/api/rest_client.dart View File

@@ -49,7 +49,7 @@ abstract class RestClient {
Future<List<ActionType>> getActionTypes();

@GET("/api/water-types")
Future<List<WaterType>> getWaterTypes();
Future<List<WaterType>> getWaterTypes({@DioOptions() Options options});

//Crop
@GET(

+ 30
- 6
lib/data/api/rest_client.g.dart View File

@@ -207,18 +207,18 @@ class _RestClient implements RestClient {
}

@override
getWaterTypes() async {
getWaterTypes({options}) async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
queryParameters.removeWhere((k, v) => v == null);
final _data = <String, dynamic>{};
final newOptions = newRequestOptions(options);
newOptions.extra.addAll(_extra);
newOptions.headers.addAll(<String, dynamic>{});
final Response<List<dynamic>> _result = await _dio.request(
'/api/water-types',
queryParameters: queryParameters,
options: RequestOptions(
method: 'GET',
headers: <String, dynamic>{},
extra: _extra,
baseUrl: baseUrl),
options: newOptions.merge(method: 'GET', baseUrl: baseUrl),
data: _data);
var value = _result.data
.map((dynamic i) => WaterType.fromJson(i as Map<String, dynamic>))
@@ -303,4 +303,28 @@ class _RestClient implements RestClient {
.toList();
return value;
}

RequestOptions newRequestOptions(Options options) {
if (options is RequestOptions) {
return options;
}
if (options == null) {
return RequestOptions();
}
return RequestOptions(
method: options.method,
sendTimeout: options.sendTimeout,
receiveTimeout: options.receiveTimeout,
extra: options.extra,
headers: options.headers,
responseType: options.responseType,
contentType: options.contentType.toString(),
validateStatus: options.validateStatus,
receiveDataWhenStatusError: options.receiveDataWhenStatusError,
followRedirects: options.followRedirects,
maxRedirects: options.maxRedirects,
requestEncoder: options.requestEncoder,
responseDecoder: options.responseDecoder,
);
}
}

+ 2
- 3
lib/data/repository/repository.dart View File

@@ -26,9 +26,8 @@ class Repository {

Future<List<WaterType>> getWaterTypes() {
final client = RestClient(dio);
var op = buildConfigurableCacheOptions(
forceRefresh: true, maxAge: Duration(days: 7));
return client.getWaterTypes();
var op = buildConfigurableCacheOptions(forceRefresh: true);
return client.getWaterTypes(options: op);
}

Future<CropPlot> getPlotDetail(int cropId, {int page, int size}) {

+ 0
- 3
lib/presentation/screens/actions/use_water/sc_edit_action_user_water.dart View File

@@ -43,8 +43,6 @@ class _EditActionUseWaterScreenState extends State<EditActionUseWaterScreen> {
bool _autoValidate = false;
UseWater _useWater = UseWater();
var pref = LocalPref();

TextEditingController _waterTypeController = TextEditingController();
TextEditingController _amountController = TextEditingController();
TextEditingController _descriptionController = TextEditingController();

@@ -206,7 +204,6 @@ class _EditActionUseWaterScreenState extends State<EditActionUseWaterScreen> {
return Container(
height: 150,
child: ListView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context, index) {
return GestureDetector(

+ 0
- 1
pubspec.yaml View File

@@ -43,7 +43,6 @@ dependencies:
get: ^3.8.0
intl: ^0.16.1
flutter_datetime_picker: ^1.3.8
# analyzer: ^0.39.14
http: ^0.12.2
http_parser: ^3.1.4
rflutter_alert: ^1.1.0

Loading…
Cancel
Save