import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:job_app/config/apiUrl.dart'; import 'package:job_app/models/APiResponse.dart'; import 'package:job_app/models/CV.dart'; import 'package:job_app/services/getToken.dart'; import 'package:job_app/singletons/locators.dart'; class AddCvToUserService { CvModel cv; String token; int theModelId; int theCvId; Future addCvToUser( {String color, int cvModelId, List experience, int fontId, String introduction, List language, String motivationLetter, String name, List skills, List training}) async { int statusCode = -1; token = await locator.get().getTokenValue(); theModelId=cvModelId; if (token != "" && token != "InvalidToken") { final request = await http .post(Uri.parse(ApiUrl.url + "v2/add_cv"), body: jsonEncode({ "color": color, "cvmodelid": cvModelId, "experiences": experience.toList(), "font": fontId, "intro": "an intro", "language": language, "motivationletter": motivationLetter, "name": name, "skill": skills, "training":training }),headers: { 'Authorization': 'Bearer $token', "Accept": "application/json", "content-type":"application/json" }); statusCode=request.statusCode; if(request.statusCode==200||request.statusCode==201){ Map responseString =json.decode(request.body); cv=CvModel.fromJson(responseString); theCvId=cv.id; return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: "Success"); } else if(statusCode==406){ return ApiResponseModel(statusCode: statusCode,errorMessage: "You dont acquire this cv model",data: cvModelId); } } return ApiResponseModel(statusCode: statusCode, errorMessage: "Try again later", data: null); } Future buyCvModel(int cvModelId)async{ int statusCode = -1; token = await locator.get().getTokenValue(); if(token != "" && token != "InvalidToken"){ final request = await http.patch(Uri.parse(ApiUrl.url+"v2/buycvmodel/$cvModelId"),headers: { 'Authorization': 'Bearer $token', "Accept": "application/json", "content-type":"application/json" }); statusCode=request.statusCode; if(statusCode==200|| statusCode==201){ return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: request.body); } } return ApiResponseModel(statusCode: statusCode,errorMessage: "Try again later",data: null); } Future addCvToModel(int toCvModelId)async{ int statusCode = -1; final request =await http.patch(Uri.parse(ApiUrl.url+"v2/add_model_to_cv/153849/153810"),headers: { 'Authorization': 'Bearer $token', "Accept": "application/json", "content-type":"application/json" }); statusCode=request.statusCode; if(statusCode==200|| statusCode==201){ return ApiResponseModel(statusCode: statusCode,errorMessage: null,data: "Model added to cv"); }else if(statusCode==406){ return ApiResponseModel(statusCode: statusCode,errorMessage: request.body,data:toCvModelId); } return ApiResponseModel(statusCode: statusCode,errorMessage: request.body,data: null); } }