SiraniApiServices.swift 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. //
  2. // SiraniApiServices.swift
  3. // Sirani
  4. //
  5. // Created by Anhar Solehudin on 27/03/19.
  6. // Copyright © 2019 Anhar Solehudin. All rights reserved.
  7. //
  8. import Foundation
  9. import Alamofire
  10. class SiraniApiServices {
  11. // DOWNLOAD
  12. func downloadFile(urlWeb: String, filename: String) -> DownloadRequest {
  13. let destination: DownloadRequest.Destination = { _, _ in
  14. let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
  15. let fileURL = documentsURL.appendingPathComponent(filename)
  16. return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
  17. }
  18. return AF.download(urlWeb, to: destination).validate()
  19. }
  20. // AUTH
  21. func postAuthLogin(username: String, password: String) -> DataRequest {
  22. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  23. let body: Parameters = ["username" : username, "password" : password]
  24. return AF.request(METHOD_LOGIN_NEW, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  25. }
  26. // Images Slider -> Home
  27. func postSlideShowImages(cursor: String, prev: String, search: String) -> DataRequest {
  28. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  29. let body: Parameters = ["cursor" : cursor, "prev" : prev, "search" : search]
  30. return AF.request(METHOD_GET_SLIDE_IMAGE, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  31. }
  32. // News -> Home, NewsVC
  33. func postToGetNews(cursor: Int, prev: Int, jenis: String, columns: String, keyword: String) -> DataRequest {
  34. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  35. let body: Parameters = [
  36. "limit" : String(cursor),
  37. "page" : String(prev),
  38. "jenis" : jenis,
  39. "columns" : columns,
  40. "keyword" : keyword
  41. ]
  42. return AF.request(METHOD_GET_NEWS_NEW, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  43. }
  44. // Notification Total -> Home
  45. func postToGetNotificationsTotal(user_id: Int, cust_id: Int, role_id: String) -> DataRequest {
  46. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  47. let body: Parameters = [
  48. "user_id" : String(user_id),
  49. "cust_id" : String(cust_id),
  50. "role_id" : role_id
  51. ]
  52. return AF.request(METHOD_GET_TOTAL_NOTIFIKASI, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  53. }
  54. // Total Unread Notification -> Home
  55. func postToGetTotalUnreadNotif(user_id: Int, cust_id: Int, role_id: String) -> DataRequest {
  56. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  57. let body: Parameters = [
  58. "user_id" : String(user_id),
  59. "cust_id" : String(cust_id),
  60. "role_id" : role_id
  61. ]
  62. return AF.request(METHOD_GET_TOTAL_UNREAD_NOTIF, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  63. }
  64. // Notification List
  65. func postToGetPushNotificationList(cursor: Int, prev: Int, user_id: Int, cust_id: Int, role_id: String) -> DataRequest {
  66. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  67. let body: Parameters = [
  68. "cursor" : String(cursor),
  69. "prev" : String(prev),
  70. "user_id" : String(user_id),
  71. "cust_id" : String(cust_id),
  72. "role_id" : role_id
  73. ]
  74. return AF.request(METHOD_GET_PUSH_NOTIF_LIST, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  75. }
  76. // Notification Detail
  77. func postToGetPushNotificationDetail(notifId: Int) -> DataRequest {
  78. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  79. let body: Parameters = [
  80. "id" : String(notifId)
  81. ]
  82. return AF.request(METHOD_GET_PUSH_NOTIF_DETAIL, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  83. }
  84. // Notification Read
  85. func postToGetPushNotificationRead(notifId: Int) -> DataRequest {
  86. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  87. let body: Parameters = [
  88. "log_activity_id" : String(notifId)
  89. ]
  90. return AF.request(METHOD_GET_PUSH_NOTIF_READ, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  91. }
  92. // Notification : Save FCM Token
  93. func postFcmToken(user_id: Int, role_id: String, fcmToken: String) -> DataRequest {
  94. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  95. let body: Parameters = [
  96. "role_id" : role_id,
  97. "user_id" : String(user_id),
  98. "token" : fcmToken
  99. ]
  100. return AF.request(METHOD_POST_FCM_TOKEN, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  101. }
  102. // News Detail -> NewsDetailVC
  103. func postToGetNewsDetail(newsId: Int) -> DataRequest {
  104. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  105. let body: Parameters = [
  106. "id" : String(newsId)
  107. ]
  108. return AF.request(METHOD_GET_NEWS_DETAIL_NEW, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  109. }
  110. // QR Code Result
  111. func postToGetResultQrCode(code: String) -> DataRequest {
  112. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  113. let body: Parameters = [
  114. "kode" : code
  115. ]
  116. return AF.request(METHOD_GET_RESULT_QR_CODE, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  117. }
  118. // List Sertifikat -> DaftarSertifikatVC
  119. func postToGetListSertifikat(jenis: String, columns: String, cursor: Int, prev: Int, search: String) -> DataRequest {
  120. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  121. let body: Parameters = [
  122. "jenis" : jenis,
  123. "columns" : columns,
  124. "cursor" : String(cursor),
  125. "prev" : String(prev),
  126. "search" : search
  127. ]
  128. return AF.request(METHOD_GET_LIST_SERTIFIKAT, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  129. }
  130. // Tarif Sertifikat -> TarifSertifikatVC
  131. func postToGetTarifSertifikat(jenis: String, columns: String, cursor: Int, prev: Int, search: String) -> DataRequest {
  132. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  133. let body: Parameters = [
  134. "jenis" : jenis,
  135. "columns" : columns,
  136. "cursor" : String(cursor),
  137. "prev" : String(prev),
  138. "search" : search
  139. ]
  140. return AF.request(METHOD_GET_TARIF_SERTIFIKAT, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  141. }
  142. // Balai Uji -> BalaiUjiVC
  143. func postToGetBalaiUji(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, role_id: String, user_id: Int) -> DataRequest {
  144. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  145. let body: Parameters = [
  146. "cursor" : String(cursor),
  147. "prev" : String(prev),
  148. "jenis" : jenis,
  149. "columns" : columns,
  150. "search" : search,
  151. "cust_id" : String(cust_id),
  152. "role_id" : role_id,
  153. "user_id" : String(user_id)
  154. ]
  155. return AF.request(METHOD_GET_BALAI_UJI, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  156. }
  157. // ODS : Aplikasi Entry
  158. func postToGetOdsAplikasiEntry(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int) -> DataRequest {
  159. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  160. let body: Parameters = [
  161. "cursor" : String(cursor),
  162. "prev" : String(prev),
  163. "jenis" : jenis,
  164. "columns" : columns,
  165. "search" : search,
  166. "cust_id" : String(cust_id)
  167. ]
  168. return AF.request(METHOD_GET_ODS_APLIKASI_ENTRY, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  169. }
  170. // ODS : SP2 Baru
  171. func postToGetOdsSp2Baru(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  172. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  173. let body: Parameters = [
  174. "cursor" : String(cursor),
  175. "prev" : String(prev),
  176. "jenis" : jenis,
  177. "columns" : columns,
  178. "search" : search,
  179. "cust_id" : String(cust_id),
  180. "user_id" : String(user_id),
  181. "role_id" : role_id
  182. ]
  183. return AF.request(METHOD_GET_ODS_SP2_BARU, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  184. }
  185. // ODS : SP2 Otorasi
  186. func postToGetOdsSp2Otorasi(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  187. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  188. let body: Parameters = [
  189. "cursor" : String(cursor),
  190. "prev" : String(prev),
  191. "jenis" : jenis,
  192. "columns" : columns,
  193. "search" : search,
  194. "cust_id" : String(cust_id),
  195. "user_id" : String(user_id),
  196. "role_id" : role_id
  197. ]
  198. return AF.request(METHOD_GET_ODS_SP2_OTORASI, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  199. }
  200. // ODS : SP2 Print
  201. func postToGetOdsSp2Print(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  202. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  203. let body: Parameters = [
  204. "cursor" : String(cursor),
  205. "prev" : String(prev),
  206. "jenis" : jenis,
  207. "columns" : columns,
  208. "search" : search,
  209. "cust_id" : String(cust_id),
  210. "user_id" : String(user_id),
  211. "role_id" : role_id
  212. ]
  213. return AF.request(METHOD_GET_ODS_SP2_PRINT, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  214. }
  215. // ODS : Daftar RHU
  216. func postToGetOdsDaftarRhu(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  217. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  218. let body: Parameters = [
  219. "cursor" : String(cursor),
  220. "prev" : String(prev),
  221. "jenis" : jenis,
  222. "columns" : columns,
  223. "search" : search,
  224. "cust_id" : String(cust_id),
  225. "user_id" : String(user_id),
  226. "role_id" : role_id
  227. ]
  228. return AF.request(METHOD_GET_ODS_DAFTAR_RHU, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  229. }
  230. // ODS : SP2 Before
  231. func postToGetOdsSp2Before(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  232. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  233. let body: Parameters = [
  234. "cursor" : String(cursor),
  235. "prev" : String(prev),
  236. "jenis" : jenis,
  237. "columns" : columns,
  238. "search" : search,
  239. "cust_id" : String(cust_id),
  240. "user_id" : String(user_id),
  241. "role_id" : role_id
  242. ]
  243. return AF.request(METHOD_GET_ODS_SP2_BEFORE, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  244. }
  245. // ODS : SP2 After
  246. func postToGetOdsSp2After(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  247. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  248. let body: Parameters = [
  249. "cursor" : String(cursor),
  250. "prev" : String(prev),
  251. "jenis" : jenis,
  252. "columns" : columns,
  253. "search" : search,
  254. "cust_id" : String(cust_id),
  255. "user_id" : String(user_id),
  256. "role_id" : role_id
  257. ]
  258. return AF.request(METHOD_GET_ODS_SP2_AFTER, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  259. }
  260. // FOTO LABEL : Sertifikat Belum Upload
  261. func postToGetSurtifikatBelumUpload(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int) -> DataRequest {
  262. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  263. let body: Parameters = [
  264. "cursor" : String(cursor),
  265. "prev" : String(prev),
  266. "jenis" : jenis,
  267. "columns" : columns,
  268. "search" : search,
  269. "cust_id" : String(cust_id)
  270. ]
  271. return AF.request(METHOD_GET_SERTIFIKAT_BELUM_UPLOAD, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  272. }
  273. // FOTO LABEL : Sertifikat Belum Upload Detail
  274. func postToGetSurtifikatBelumUploadDetail(apl_id: Int) -> DataRequest {
  275. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  276. let body: Parameters = [
  277. "apl_id" : String(apl_id)
  278. ]
  279. return AF.request(METHOD_GET_SERTIFIKAT_BELUM_UPLOAD_DETAIL, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  280. }
  281. // FOTO LABEL : Sertifikat Sudah Upload
  282. func postToGetSurtifikatSudahUpload(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int) -> DataRequest {
  283. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  284. let body: Parameters = [
  285. "cursor" : String(cursor),
  286. "prev" : String(prev),
  287. "jenis" : jenis,
  288. "columns" : columns,
  289. "search" : search,
  290. "cust_id" : String(cust_id)
  291. ]
  292. return AF.request(METHOD_GET_SERTIFIKAT_SUDAH_UPLOAD, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  293. }
  294. // FOTO LABEL : Sertifikasi Upload
  295. func uploadSertifikasi(plgId: String, aplId: String, qrCodeFileURL: URL, keteranganFileURL: URL, peringatanFileURL: URL, qrCodeExt: String, keteranganExt: String, peringatanExt: String) -> UploadRequest {
  296. var qrCodeMimeType = "*/*"
  297. var keteranganMimeType = "*/*"
  298. var peringatanMimeType = "*/*"
  299. if qrCodeExt == "pdf" {
  300. qrCodeMimeType = "application/pdf"
  301. } else if qrCodeExt == "jpg" {
  302. qrCodeMimeType = "image/jpg"
  303. } else if qrCodeExt == "jpeg" {
  304. qrCodeMimeType = "image/jpeg"
  305. } else if qrCodeExt == "png" {
  306. qrCodeMimeType = "image/png"
  307. }
  308. if keteranganExt == "pdf" {
  309. keteranganMimeType = "application/pdf"
  310. } else if keteranganExt == "jpg" {
  311. keteranganMimeType = "image/jpg"
  312. } else if keteranganExt == "jpeg" {
  313. keteranganMimeType = "image/jpeg"
  314. } else if keteranganExt == "png" {
  315. keteranganMimeType = "image/png"
  316. }
  317. if peringatanExt == "pdf" {
  318. peringatanMimeType = "application/pdf"
  319. } else if peringatanExt == "jpg" {
  320. peringatanMimeType = "image/jpg"
  321. } else if peringatanExt == "jpeg" {
  322. peringatanMimeType = "image/jpeg"
  323. } else if peringatanExt == "png" {
  324. peringatanMimeType = "image/png"
  325. }
  326. let plgIdData: Data = plgId.data(using: .utf8)!
  327. let aplIdData: Data = aplId.data(using: .utf8)!
  328. let qrCodeData: Data = try! Data(contentsOf: qrCodeFileURL)
  329. let qrCodeFilename = "\(aplId)-file-qrcode.\(qrCodeExt)"
  330. let keteranganData: Data = try! Data(contentsOf: keteranganFileURL)
  331. let keteranganFilename = "\(aplId)-file-label.\(keteranganExt)"
  332. let peringatanData: Data = try! Data(contentsOf: peringatanFileURL)
  333. let peringatanFilename = "\(aplId)-file-peringatan.\(peringatanExt)"
  334. let upload = AF.upload(
  335. multipartFormData: { multipartFormData in
  336. multipartFormData.append(plgIdData, withName: "plg_id")
  337. multipartFormData.append(aplIdData, withName: "apl_id")
  338. multipartFormData.append(qrCodeData, withName: "foto_qrcode", fileName: qrCodeFilename, mimeType: qrCodeMimeType)
  339. multipartFormData.append(keteranganData, withName: "foto_label", fileName: keteranganFilename, mimeType: keteranganMimeType)
  340. multipartFormData.append(peringatanData, withName: "foto_peringatan", fileName: peringatanFilename, mimeType: peringatanMimeType)
  341. },
  342. to: METHOD_UPLOAD_SERTIFIKASI)
  343. return upload
  344. }
  345. // APLIKASI : Aplikasi Ditolak
  346. func postToGetAplikasiDitolak(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  347. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  348. let body: Parameters = [
  349. "cursor" : String(cursor),
  350. "prev" : String(prev),
  351. "jenis" : jenis,
  352. "columns" : columns,
  353. "search" : search,
  354. "cust_id" : String(cust_id),
  355. "user_id" : String(user_id),
  356. "role_id" : role_id
  357. ]
  358. return AF.request(METHOD_GET_APLIKASI_DITOLAK, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  359. }
  360. // APLIKASI : Aplikasi Status
  361. func postToGetAplikasiStatus(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  362. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  363. let body: Parameters = [
  364. "cursor" : String(cursor),
  365. "prev" : String(prev),
  366. "jenis" : jenis,
  367. "columns" : columns,
  368. "search" : search,
  369. "cust_id" : String(cust_id),
  370. "user_id" : String(user_id),
  371. "role_id" : role_id
  372. ]
  373. return AF.request(METHOD_GET_APLIKASI_STATUS, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  374. }
  375. // SP2 SERTIFIKAT
  376. // SP2 TAMBAHAN
  377. // DAFTAR RHU
  378. // SERTIFIKAT : Sertifikat Sementara
  379. func postToGetSertifikatSementara(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  380. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  381. let body: Parameters = [
  382. "cursor" : String(cursor),
  383. "prev" : String(prev),
  384. "jenis" : jenis,
  385. "columns" : columns,
  386. "search" : search,
  387. "cust_id" : String(cust_id),
  388. "user_id" : String(user_id),
  389. "role_id" : role_id
  390. ]
  391. return AF.request(METHOD_GET_SERTIFIKAT_SEMENTARA, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  392. }
  393. // SERTIFIKAT : Sertifikat Berlaku
  394. func postToGetSertifikatBerlaku(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  395. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  396. let body: Parameters = [
  397. "cursor" : String(cursor),
  398. "prev" : String(prev),
  399. "jenis" : jenis,
  400. "columns" : columns,
  401. "search" : search,
  402. "cust_id" : String(cust_id),
  403. "user_id" : String(user_id),
  404. "role_id" : role_id
  405. ]
  406. return AF.request(METHOD_GET_SERTIFIKAT_BERLAKU, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  407. }
  408. // SERTIFIKAT : Sertifikat Tidak Berlaku
  409. func postToGetSertifikatTidakBerlaku(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  410. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  411. let body: Parameters = [
  412. "cursor" : String(cursor),
  413. "prev" : String(prev),
  414. "jenis" : jenis,
  415. "columns" : columns,
  416. "search" : search,
  417. "cust_id" : String(cust_id),
  418. "user_id" : String(user_id),
  419. "role_id" : role_id
  420. ]
  421. return AF.request(METHOD_GET_SERTIFIKAT_TIDAK_BERLAKU, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  422. }
  423. // SERTIFIKAT : Sertifikat Daftar Pencabutan
  424. func postToGetSertifikatDaftarPencabutan(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  425. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  426. let body: Parameters = [
  427. "cursor" : String(cursor),
  428. "prev" : String(prev),
  429. "jenis" : jenis,
  430. "columns" : columns,
  431. "search" : search,
  432. "cust_id" : String(cust_id),
  433. "user_id" : String(user_id),
  434. "role_id" : role_id
  435. ]
  436. return AF.request(METHOD_GET_SERTIFIKAT_DAFTAR_PENCABUTAN, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  437. }
  438. // SP2 Sertifikat
  439. func postToGetSp2Sertifikat(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  440. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  441. let body: Parameters = [
  442. "cursor" : String(cursor),
  443. "prev" : String(prev),
  444. "jenis" : jenis,
  445. "columns" : columns,
  446. "search" : search,
  447. "cust_id" : String(cust_id),
  448. "user_id" : String(user_id),
  449. "role_id" : role_id
  450. ]
  451. return AF.request(METHOD_GET_SP2_SERTIFIKAT, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  452. }
  453. // SP2 Tambahan
  454. func postToGetSp2Tambahan(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  455. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  456. let body: Parameters = [
  457. "cursor" : String(cursor),
  458. "prev" : String(prev),
  459. "jenis" : jenis,
  460. "columns" : columns,
  461. "search" : search,
  462. "cust_id" : String(cust_id),
  463. "user_id" : String(user_id),
  464. "role_id" : role_id
  465. ]
  466. return AF.request(METHOD_GET_SP2_TAMBAHAN, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  467. }
  468. // Daftar RHU
  469. func postToGetDaftarRhu(cursor: Int, prev: Int, jenis: String, columns: String, search: String, cust_id: Int, user_id: Int, role_id: String) -> DataRequest {
  470. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  471. let body: Parameters = [
  472. "cursor" : String(cursor),
  473. "prev" : String(prev),
  474. "jenis" : jenis,
  475. "columns" : columns,
  476. "search" : search,
  477. "cust_id" : String(cust_id),
  478. "user_id" : String(user_id),
  479. "role_id" : role_id
  480. ]
  481. return AF.request(METHOD_GET_DAFTAR_RHU, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  482. }
  483. // Pertanyaan Survey -> SurveyVC
  484. func postToGetPertanyaanSurvey(cursor: Int, prev: Int, search: String) -> DataRequest {
  485. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  486. let body: Parameters = [
  487. "cursor" : String(cursor),
  488. "prev" : String(prev),
  489. "search" : search
  490. ]
  491. return AF.request(METHOD_GET_PERTANYAAN_SURVEY, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  492. }
  493. // List Jawaban Survey -> SurveyVC
  494. func postToGetListJawabanSurvey(cursor: Int, prev: Int, search: String) -> DataRequest {
  495. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  496. let body: Parameters = [
  497. "cursor" : String(cursor),
  498. "prev" : String(prev),
  499. "search" : search
  500. ]
  501. return AF.request(METHOD_GET_JAWABAN_SURVEY_LIST, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  502. }
  503. // Post Jawaban Survey -> SurveyVC
  504. func postJawabanSurvey(user_id: Int, cust_id: Int, survey_id: Int, jawaban: Int) -> DataRequest {
  505. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  506. let body: Parameters = [
  507. "user_id" : String(user_id),
  508. "cust_id" : String(cust_id),
  509. "survey_id" : String(survey_id),
  510. "jawaban" : String(jawaban)
  511. ]
  512. return AF.request(METHOD_POST_JAWABAN_SURVEY, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  513. }
  514. // Hasil Survey -> HasilSurveyVC
  515. func postToGetHasilSurvey(jenis: String, columns: String, cursor: Int, prev: Int, search: String) -> DataRequest {
  516. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  517. let body: Parameters = [
  518. "jenis" : jenis,
  519. "columns" : columns,
  520. "cursor" : String(cursor),
  521. "prev" : String(prev),
  522. "search" : search
  523. ]
  524. return AF.request(METHOD_GET_HASIL_SURVEY, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  525. }
  526. func postToGetFaqCategory() -> DataRequest {
  527. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  528. return AF.request(METHOD_GET_FAQ_CATEGORY, method: .get, encoding: URLEncoding.default, headers: headers)
  529. }
  530. func postToGetFaqContent(faq_cat_id: Int) -> DataRequest {
  531. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  532. let url = "\(METHOD_GET_FAQ_CONTENT)/\(faq_cat_id)"
  533. return AF.request(url, method: .get, encoding: URLEncoding.default, headers: headers)
  534. }
  535. // ------------------------------------------- NEW FUNCTION -------------------------------------------
  536. func postToGetSertifikatPublic(user_id: Int, cust_id: Int, role_id: String, jenis: String, columns: String, limit: Int, page: Int, search: String) -> DataRequest {
  537. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  538. let body: Parameters = [
  539. "user_id" : String(user_id),
  540. "cust_id" : String(cust_id),
  541. "role_id" : role_id,
  542. "jenis" : jenis,
  543. "columns" : columns,
  544. "limit" : String(limit),
  545. "page" : String(page),
  546. "search" : search
  547. ]
  548. return AF.request(METHOD_GET_SERTIFIKAT_PUBLIC, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  549. }
  550. func postToGetSertifikatPrivate(user_id: Int, cust_id: Int, role_id: String, status: String, limit: Int, page: Int, search: String) -> DataRequest {
  551. let headers: HTTPHeaders = ["Accept" : "Application/json; charset=utf-8"]
  552. let body: Parameters = [
  553. "user_id" : String(user_id),
  554. "cust_id" : String(cust_id),
  555. "role_id" : role_id,
  556. "status" : status,
  557. "limit" : String(limit),
  558. "page" : String(page),
  559. "search" : search
  560. ]
  561. return AF.request(METHOD_GET_SERTIFIKAT_PRIVATE, method: .post, parameters: body, encoding: URLEncoding.default, headers: headers)
  562. }
  563. }