forked from yaso_meth/mih-project
Add Mzansi Directory service
This commit is contained in:
114
Frontend/lib/mih_services/mih_mzansi_directory_services.dart
Normal file
114
Frontend/lib/mih_services/mih_mzansi_directory_services.dart
Normal file
@@ -0,0 +1,114 @@
|
||||
import 'dart:convert';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/business_review.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_config/mih_env.dart';
|
||||
import 'package:supertokens_flutter/http.dart' as http;
|
||||
|
||||
class MihMzansiDirectoryServices {
|
||||
final baseAPI = AppEnviroment.baseApiUrl;
|
||||
|
||||
Future<BusinessReview?> getUserReviewOfBusiness(
|
||||
String app_id,
|
||||
String business_id,
|
||||
) async {
|
||||
final response = await http.get(Uri.parse(
|
||||
"${AppEnviroment.baseApiUrl}/mzasni-directory/business-ratings/user/$app_id/$business_id"));
|
||||
print(response.statusCode);
|
||||
if (response.statusCode == 200) {
|
||||
String body = response.body;
|
||||
var jsonBody = jsonDecode(body);
|
||||
BusinessReview? busRev = BusinessReview.fromJson(jsonBody);
|
||||
return busRev;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<List<BusinessReview>> getAllReviewsofBusiness(
|
||||
String business_id,
|
||||
String businessid,
|
||||
) async {
|
||||
final response = await http.get(Uri.parse(
|
||||
"${AppEnviroment.baseApiUrl}/mzasni-directory/business-ratings/all/$business_id"));
|
||||
if (response.statusCode == 200) {
|
||||
Iterable l = jsonDecode(response.body);
|
||||
List<BusinessReview> businessReviews = List<BusinessReview>.from(
|
||||
l.map((model) => BusinessReview.fromJson(model)));
|
||||
return businessReviews;
|
||||
} else {
|
||||
throw Exception('failed to fetch Business Reviews');
|
||||
}
|
||||
}
|
||||
|
||||
Future<int> addLoyaltyCardAPICall(
|
||||
String app_id,
|
||||
String business_id,
|
||||
String rating_title,
|
||||
String rating_description,
|
||||
int rating_score,
|
||||
) async {
|
||||
var response = await http.post(
|
||||
Uri.parse(
|
||||
"${AppEnviroment.baseApiUrl}/mzasni-directory/business-rating/insert/"),
|
||||
headers: <String, String>{
|
||||
"Content-Type": "application/json; charset=UTF-8"
|
||||
},
|
||||
body: jsonEncode(<String, dynamic>{
|
||||
"app_id": app_id,
|
||||
"business_id": business_id,
|
||||
"rating_title": rating_title,
|
||||
"rating_description": rating_description,
|
||||
"rating_score": rating_score,
|
||||
}),
|
||||
);
|
||||
if (response.statusCode == 201) {
|
||||
return response.statusCode;
|
||||
} else {
|
||||
return response.statusCode;
|
||||
}
|
||||
}
|
||||
|
||||
Future<int> deleteLoyaltyCardAPICall(
|
||||
int idbusiness_ratings,
|
||||
) async {
|
||||
var response = await http.delete(
|
||||
Uri.parse(
|
||||
"${AppEnviroment.baseApiUrl}/mzasni-directory/business-ratng/delete/"),
|
||||
headers: <String, String>{
|
||||
"Content-Type": "application/json; charset=UTF-8"
|
||||
},
|
||||
body: jsonEncode(
|
||||
<String, dynamic>{"idbusiness_ratings": idbusiness_ratings}),
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
return response.statusCode;
|
||||
} else {
|
||||
return response.statusCode;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<int> updateLoyaltyCardAPICall(
|
||||
int idbusiness_ratings,
|
||||
String rating_title,
|
||||
String rating_description,
|
||||
String rating_score,
|
||||
) async {
|
||||
var response = await http.put(
|
||||
Uri.parse(
|
||||
"${AppEnviroment.baseApiUrl}/mzasni-directory/business-rating/update/"),
|
||||
headers: <String, String>{
|
||||
"Content-Type": "application/json; charset=UTF-8"
|
||||
},
|
||||
body: jsonEncode(<String, dynamic>{
|
||||
"idbusiness_ratings": idbusiness_ratings,
|
||||
"rating_title": rating_title,
|
||||
"rating_description": rating_description,
|
||||
"rating_score": rating_score,
|
||||
}),
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
return response.statusCode;
|
||||
} else {
|
||||
return response.statusCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user