import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; import 'package:easycook_mobile/models/recommedation.dart'; import 'package:easycook_mobile/shared/shared_values.dart' as AppConst; import 'package:shared_preferences/shared_preferences.dart'; class DapurkuRepositories { Dio dio = new Dio(); final String _baseUrl = AppConst.BASE_URL; Future dapurku(rawMaterial) async { final formData = FormData.fromMap({ 'raw_material': rawMaterial, }); var response = await dio.post( "$_baseUrl/profiles/my-kitchen/add-raw-material", data: formData, options: Options(headers: { HttpHeaders.contentTypeHeader: 'application/json', }), ); } //FOR RECOMMENDATION Future getRecipesForRecommendation( {required String nameProduct}) async { var response = await dio.get( "$_baseUrl/recipes/raw-material?name=$nameProduct", options: Options(headers: { HttpHeaders.contentTypeHeader: 'application/json', }), ); Map data = {"data": response.data}; return RawMaterialResponse.fromJson(jsonDecode(jsonEncode(data))); } Future addRawMaterialForRecommendation( {required List rawMaterialSelected}) async { SharedPreferences prefs = await SharedPreferences.getInstance(); var token = prefs.getString('token'); List rawMaterialSelectedId = []; for (var i = 0; i < rawMaterialSelected.length; i++) { rawMaterialSelectedId.add(rawMaterialSelected[i].id); } // FormData formData = // FormData.fromMap({"raw_material_id": rawMaterialSelectedId}); Map data = {"raw_ingredient_id": rawMaterialSelectedId}; // print(formData); var response = await dio.post( "$_baseUrl/profiles/pantry/", data: data, options: Options(headers: { HttpHeaders.contentTypeHeader: 'application/json', HttpHeaders.authorizationHeader: 'Token $token', }), ); Map dataResult = {"data": response.data}; return RekomendasiResepResponse.fromJson( jsonDecode(jsonEncode(dataResult))); } }