Files
checker/lib/network.dart
2019-03-12 17:13:08 +08:00

139 lines
4.0 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'dart:io';
import 'package:checker/strings.dart';
import 'package:http/http.dart';
import 'common.dart';
// Клиент http приложения
final httpClient = new Client();
// Попытка создать токен для кассы.
// В случае если токен для кассы уже существует, вернется ошибка 409.
// На сервере есть ограничение в 40 токенов.
getCreateTokenRequest(Map httpBody) async {
return httpClient.post(
await getEndpoint() + 'tokens/?_dmapptoken=' + await getToken(),
body: httpBody,
headers: {'Accept-Language': StringsLocalization.localeCode});
}
// Проверка статуса токена. В ответе приходит параметр active, который может быть либо true, либо false,.
getCheckTokenStatusRequest(String token) async {
return httpClient.get(
await getEndpoint() +
'tokens/' +
token +
'?_dmapptoken=' +
await getToken(),
headers: {'Accept-Language': StringsLocalization.localeCode});
}
// Удаление токена на сервере.
getDeleteTokenRequest(String token) async {
return httpClient.delete(
await getEndpoint() + 'tokens/' + token + '?_dmapptoken=' +
await getToken(), headers: {'Accept-Language': StringsLocalization.localeCode});
}
getLoyaltyRequest(String endpoint, String token) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
return httpClient.get(endpoint, headers: headers);
}
getPurchaseRequest(String endpoint, Map body, String token) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
return httpClient.post(endpoint, body: body, headers: headers);
}
getCouponsRequest(String endpoint, String token) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
print(headers);
return httpClient.get(endpoint, headers: headers);
}
getUserByCard(String card, String token) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
var finalEndpoint = "${await getEndpoint()}users/?auto=$card";
print(finalEndpoint);
return httpClient.get(finalEndpoint, headers: headers);
}
getUserByPhone(String phone, String token) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
var finalEndpoint = "${await getEndpoint()}users/?phone=$phone";
print(finalEndpoint);
return httpClient.get(finalEndpoint, headers: headers);
}
getEndpoint() async {
return await platform.invokeMethod('getEndpoint');
}
getToken() async {
return await platform.invokeMethod('getAppToken');
}
Future<Response> getUserPurchases(String token, int userId, int page) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
var finalEndpoint = "${await getEndpoint()}users/$userId/purchases/?returned=false&sort=desc&page=$page";
print(finalEndpoint);
return httpClient.get(finalEndpoint, headers: headers);
}
Future<Response> returnPurchase(String token, int userId, int purchaseId) async {
var headers = {
'DM-Authorization': 'dmapptoken ${await getToken()}',
'Authorization': 'dmtoken $token',
'Accept-Language': StringsLocalization.localeCode
};
var finalEndpoint = "${await getEndpoint()}users/$userId/purchases/$purchaseId";
print(finalEndpoint);
return httpClient.delete(finalEndpoint, headers: headers);
}