64 lines
1.8 KiB
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');
|
|
}
|
|
}
|
|
}
|