Files
Vocasia-LMS-Mobile-apps--TA…/lib/services/cart_service.dart

64 lines
1.8 KiB
Dart

import 'dart:convert';
import 'dart:developer';
import 'package:initial_folder/base_service.dart';
import 'package:initial_folder/helper/user_info.dart';
import 'package:http/http.dart' as http;
import 'package:initial_folder/models/carts_model.dart';
class CartService {
Future<bool> addCart(idCourse) async {
var token = await UsersInfo().getToken();
var idUser = await UsersInfo().getIdUser();
Uri url = Uri.parse('$baseUrl/users/add-to-cart');
var body = jsonEncode({
// 'id_user': idUser,
'cart_item': idCourse,
});
http.Response response =
await http.post(url, headers: headerWithToken(token!), body: body);
if (response.statusCode == 201) {
return true;
} else {
throw Exception('Gagal Menambahkan ke keranjang');
}
}
Future<bool> deleteCart(idCart) async {
var token = await UsersInfo().getToken();
Uri url = Uri.parse('$baseUrl/users/cart/delete/$idCart');
http.Response response = await http.delete(
url,
headers: headerWithToken(token!),
);
if (response.statusCode == 200) {
return true;
} else {
throw Exception('Gagal Menghapus keranjang');
}
}
Future<CartsModel> getCarts() async {
var token = await UsersInfo().getToken();
// var idUser = await UsersInfo().getIdUser();
// Uri url = Uri.parse('$baseUrl/users/carts/$idUser');
Uri url = Uri.parse('$baseUrl/users/carts');
http.Response response = await http.get(
url,
headers: headerWithToken(token!),
);
log(response.body);
if (response.statusCode == 200) {
print("Ini isi cart berhasil ${response.body}");
return CartsModel.fromJson(jsonDecode(response.body));
} else {
throw Exception('Gagal Mengambil data keranjang');
}
}
}