mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-03-29 18:49:01 +00:00
Add ionia categories.
This commit is contained in:
parent
1d1bffa62b
commit
e9b27f93db
3 changed files with 29 additions and 4 deletions
|
@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:http/http.dart';
|
||||
import 'package:cake_wallet/ionia/ionia_user_credentials.dart';
|
||||
import 'package:cake_wallet/ionia/ionia_virtual_card.dart';
|
||||
import 'package:cake_wallet/ionia/ionia_category.dart';
|
||||
|
||||
class IoniaApi {
|
||||
static const baseUri = 'apidev.dashdirect.org';
|
||||
|
@ -165,7 +166,7 @@ class IoniaApi {
|
|||
@required String password,
|
||||
@required String clientId,
|
||||
String search,
|
||||
List<int> categories,
|
||||
List<IoniaCategory> categories,
|
||||
int merchantFilterType = 0}) async {
|
||||
// MerchantFilterType: {All = 0, Nearby = 1, Popular = 2, Online = 3, MyFaves = 4, Search = 5}
|
||||
|
||||
|
@ -181,7 +182,10 @@ class IoniaApi {
|
|||
}
|
||||
|
||||
if (categories != null) {
|
||||
body['Categories'] = categories;
|
||||
body['Categories'] = categories
|
||||
.map((e) => e.ids)
|
||||
.expand((e) => e)
|
||||
.toList();
|
||||
}
|
||||
|
||||
final response = await post(getMerchantsByFilterUrl, headers: headers, body: json.encode(body));
|
||||
|
@ -199,7 +203,7 @@ class IoniaApi {
|
|||
|
||||
final data = decodedBody['Data'] as List<dynamic>;
|
||||
return data.map((dynamic e) {
|
||||
final element = e as Map<String, dynamic>;
|
||||
final element = e['Merchant'] as Map<String, dynamic>;
|
||||
return IoniaMerchant.fromJsonMap(element);
|
||||
}).toList();
|
||||
}
|
||||
|
|
20
lib/ionia/ionia_category.dart
Normal file
20
lib/ionia/ionia_category.dart
Normal file
|
@ -0,0 +1,20 @@
|
|||
class IoniaCategory {
|
||||
const IoniaCategory(this.title, this.ids);
|
||||
|
||||
static const allCategories = <IoniaCategory>[
|
||||
apparel,
|
||||
onlineOnly,
|
||||
food,
|
||||
entertainment,
|
||||
delivery,
|
||||
travel];
|
||||
static const apparel = IoniaCategory('Apparel', [1]);
|
||||
static const onlineOnly = IoniaCategory('Online Only', [13, 43]);
|
||||
static const food = IoniaCategory('Food', [4]);
|
||||
static const entertainment = IoniaCategory('Entertainment', [5]);
|
||||
static const delivery = IoniaCategory('Delivery', [114, 109]);
|
||||
static const travel = IoniaCategory('Travel', [12]);
|
||||
|
||||
final String title;
|
||||
final List<int> ids;
|
||||
}
|
|
@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
import 'package:cake_wallet/.secrets.g.dart' as secrets;
|
||||
import 'package:cake_wallet/ionia/ionia_api.dart';
|
||||
import 'package:cake_wallet/ionia/ionia_category.dart';
|
||||
|
||||
class IoniaService {
|
||||
IoniaService(this.secureStorage, this.ioniaApi);
|
||||
|
@ -75,7 +76,7 @@ class IoniaService {
|
|||
|
||||
Future<List<IoniaMerchant>> getMerchantsByFilter({
|
||||
String search,
|
||||
List<int> categories,
|
||||
List<IoniaCategory> categories,
|
||||
int merchantFilterType = 0}) async {
|
||||
final username = await secureStorage.read(key: ioniaUsernameStorageKey);
|
||||
final password = await secureStorage.read(key: ioniaPasswordStorageKey);
|
||||
|
|
Loading…
Reference in a new issue