ScromReaderViewModel.swift 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // ScromReaderViewModel.swift
  3. // LMS
  4. //
  5. // Created by Suraj Kumar Mandal on 23/09/22.
  6. //
  7. import Foundation
  8. import Alamofire
  9. class ScromReaderViewModel {
  10. var delegate: ScromReaderProtocol?
  11. func getScromData(fileId:String) {
  12. if let delegate = delegate {
  13. delegate.startLoader()
  14. let url = ApiURL.DownloadBase64 + "/\(fileId)"
  15. print(url)
  16. let accessToken = UserDefaults.standard.value(forKey: "accessToken") as! String
  17. let headers: HTTPHeaders = [
  18. "Authorization": "Bearer \(accessToken)",
  19. "Accept": "application/json",
  20. "Content-Type": "application/json"
  21. ]
  22. print(headers)
  23. AF.request(url,
  24. method: .get,
  25. encoding: URLEncoding.httpBody,
  26. headers: headers)
  27. .responseString { response in
  28. if response.response?.statusCode == 200 {
  29. switch response.result {
  30. case .success(_):
  31. delegate.stopLoader()
  32. let stringData = response.description.components(separatedBy: ",")
  33. delegate.pdfBase64(base64: stringData[1])
  34. break
  35. case .failure(let error):
  36. delegate.stopLoader()
  37. print(error.localizedDescription)
  38. delegate.showError(error: error.localizedDescription)
  39. break
  40. }
  41. } else {
  42. print("Server error")
  43. }
  44. }
  45. }
  46. }
  47. }
  48. protocol ScromReaderProtocol {
  49. func startLoader()
  50. func stopLoader()
  51. func showError(error:String)
  52. func pdfBase64(base64:String)
  53. }