ZCRMSDK 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZCRMSDK.rb +362 -0
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +217 -0
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +149 -0
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +165 -0
  6. data/src/com/zoho/api/authenticator/store/token_store.rb +26 -0
  7. data/src/com/zoho/api/authenticator/token.rb +10 -0
  8. data/src/com/zoho/api/logger/sdk_logger.rb +69 -0
  9. data/src/com/zoho/crm/api/attachments/action_handler.rb +10 -0
  10. data/src/com/zoho/crm/api/attachments/action_response.rb +10 -0
  11. data/src/com/zoho/crm/api/attachments/action_wrapper.rb +63 -0
  12. data/src/com/zoho/crm/api/attachments/api_exception.rb +125 -0
  13. data/src/com/zoho/crm/api/attachments/attachment.rb +367 -0
  14. data/src/com/zoho/crm/api/attachments/attachments_operations.rb +196 -0
  15. data/src/com/zoho/crm/api/attachments/file_body_wrapper.rb +64 -0
  16. data/src/com/zoho/crm/api/attachments/response_handler.rb +10 -0
  17. data/src/com/zoho/crm/api/attachments/response_wrapper.rb +83 -0
  18. data/src/com/zoho/crm/api/attachments/success_response.rb +121 -0
  19. data/src/com/zoho/crm/api/blue_print/action_response.rb +10 -0
  20. data/src/com/zoho/crm/api/blue_print/api_exception.rb +123 -0
  21. data/src/com/zoho/crm/api/blue_print/blue_print.rb +119 -0
  22. data/src/com/zoho/crm/api/blue_print/blue_print_operations.rb +67 -0
  23. data/src/com/zoho/crm/api/blue_print/body_wrapper.rb +61 -0
  24. data/src/com/zoho/crm/api/blue_print/next_transition.rb +80 -0
  25. data/src/com/zoho/crm/api/blue_print/process_info.rb +251 -0
  26. data/src/com/zoho/crm/api/blue_print/response_handler.rb +10 -0
  27. data/src/com/zoho/crm/api/blue_print/response_wrapper.rb +63 -0
  28. data/src/com/zoho/crm/api/blue_print/success_response.rb +121 -0
  29. data/src/com/zoho/crm/api/blue_print/transition.rb +253 -0
  30. data/src/com/zoho/crm/api/blue_print/validation_error.rb +80 -0
  31. data/src/com/zoho/crm/api/bulk_read/action_handler.rb +10 -0
  32. data/src/com/zoho/crm/api/bulk_read/action_response.rb +10 -0
  33. data/src/com/zoho/crm/api/bulk_read/action_wrapper.rb +82 -0
  34. data/src/com/zoho/crm/api/bulk_read/api_exception.rb +125 -0
  35. data/src/com/zoho/crm/api/bulk_read/bulk_read_operations.rb +74 -0
  36. data/src/com/zoho/crm/api/bulk_read/call_back.rb +81 -0
  37. data/src/com/zoho/crm/api/bulk_read/criteria.rb +135 -0
  38. data/src/com/zoho/crm/api/bulk_read/file_body_wrapper.rb +64 -0
  39. data/src/com/zoho/crm/api/bulk_read/job_detail.rb +196 -0
  40. data/src/com/zoho/crm/api/bulk_read/query.rb +137 -0
  41. data/src/com/zoho/crm/api/bulk_read/request_wrapper.rb +100 -0
  42. data/src/com/zoho/crm/api/bulk_read/response_handler.rb +10 -0
  43. data/src/com/zoho/crm/api/bulk_read/response_wrapper.rb +63 -0
  44. data/src/com/zoho/crm/api/bulk_read/result.rb +137 -0
  45. data/src/com/zoho/crm/api/bulk_read/success_response.rb +121 -0
  46. data/src/com/zoho/crm/api/bulk_write/action_response.rb +10 -0
  47. data/src/com/zoho/crm/api/bulk_write/api_exception.rb +239 -0
  48. data/src/com/zoho/crm/api/bulk_write/bulk_write_operations.rb +112 -0
  49. data/src/com/zoho/crm/api/bulk_write/bulk_write_response.rb +216 -0
  50. data/src/com/zoho/crm/api/bulk_write/call_back.rb +81 -0
  51. data/src/com/zoho/crm/api/bulk_write/field_mapping.rb +156 -0
  52. data/src/com/zoho/crm/api/bulk_write/file.rb +157 -0
  53. data/src/com/zoho/crm/api/bulk_write/file_body_wrapper.rb +64 -0
  54. data/src/com/zoho/crm/api/bulk_write/request_wrapper.rb +119 -0
  55. data/src/com/zoho/crm/api/bulk_write/resource.rb +195 -0
  56. data/src/com/zoho/crm/api/bulk_write/response_handler.rb +10 -0
  57. data/src/com/zoho/crm/api/bulk_write/response_wrapper.rb +10 -0
  58. data/src/com/zoho/crm/api/bulk_write/result.rb +61 -0
  59. data/src/com/zoho/crm/api/bulk_write/success_response.rb +121 -0
  60. data/src/com/zoho/crm/api/contact_roles/action_handler.rb +10 -0
  61. data/src/com/zoho/crm/api/contact_roles/action_response.rb +10 -0
  62. data/src/com/zoho/crm/api/contact_roles/action_wrapper.rb +63 -0
  63. data/src/com/zoho/crm/api/contact_roles/api_exception.rb +125 -0
  64. data/src/com/zoho/crm/api/contact_roles/body_wrapper.rb +61 -0
  65. data/src/com/zoho/crm/api/contact_roles/contact_role.rb +99 -0
  66. data/src/com/zoho/crm/api/contact_roles/contact_roles_operations.rb +161 -0
  67. data/src/com/zoho/crm/api/contact_roles/response_handler.rb +10 -0
  68. data/src/com/zoho/crm/api/contact_roles/response_wrapper.rb +63 -0
  69. data/src/com/zoho/crm/api/contact_roles/success_response.rb +121 -0
  70. data/src/com/zoho/crm/api/currencies/action_handler.rb +10 -0
  71. data/src/com/zoho/crm/api/currencies/action_response.rb +10 -0
  72. data/src/com/zoho/crm/api/currencies/action_wrapper.rb +63 -0
  73. data/src/com/zoho/crm/api/currencies/api_exception.rb +127 -0
  74. data/src/com/zoho/crm/api/currencies/base_currency_action_handler.rb +10 -0
  75. data/src/com/zoho/crm/api/currencies/base_currency_action_wrapper.rb +63 -0
  76. data/src/com/zoho/crm/api/currencies/base_currency_wrapper.rb +61 -0
  77. data/src/com/zoho/crm/api/currencies/body_wrapper.rb +61 -0
  78. data/src/com/zoho/crm/api/currencies/currencies_operations.rb +156 -0
  79. data/src/com/zoho/crm/api/currencies/currency.rb +290 -0
  80. data/src/com/zoho/crm/api/currencies/format.rb +100 -0
  81. data/src/com/zoho/crm/api/currencies/response_handler.rb +10 -0
  82. data/src/com/zoho/crm/api/currencies/response_wrapper.rb +63 -0
  83. data/src/com/zoho/crm/api/currencies/success_response.rb +121 -0
  84. data/src/com/zoho/crm/api/custom_views/api_exception.rb +121 -0
  85. data/src/com/zoho/crm/api/custom_views/criteria.rb +135 -0
  86. data/src/com/zoho/crm/api/custom_views/custom_view.rb +327 -0
  87. data/src/com/zoho/crm/api/custom_views/custom_views_operations.rb +75 -0
  88. data/src/com/zoho/crm/api/custom_views/info.rb +156 -0
  89. data/src/com/zoho/crm/api/custom_views/range.rb +80 -0
  90. data/src/com/zoho/crm/api/custom_views/response_handler.rb +10 -0
  91. data/src/com/zoho/crm/api/custom_views/response_wrapper.rb +82 -0
  92. data/src/com/zoho/crm/api/custom_views/shared_details.rb +118 -0
  93. data/src/com/zoho/crm/api/custom_views/translation.rb +118 -0
  94. data/src/com/zoho/crm/api/dc/au_datacenter.rb +18 -0
  95. data/src/com/zoho/crm/api/dc/cn_datacenter.rb +18 -0
  96. data/src/com/zoho/crm/api/dc/datacenter.rb +20 -0
  97. data/src/com/zoho/crm/api/dc/eu_datacenter.rb +18 -0
  98. data/src/com/zoho/crm/api/dc/in_datacenter.rb +18 -0
  99. data/src/com/zoho/crm/api/dc/us_datacenter.rb +18 -0
  100. data/src/com/zoho/crm/api/exception/sdk_exception.rb +47 -0
  101. data/src/com/zoho/crm/api/fields/api_exception.rb +121 -0
  102. data/src/com/zoho/crm/api/fields/association_details.rb +80 -0
  103. data/src/com/zoho/crm/api/fields/auto_number.rb +99 -0
  104. data/src/com/zoho/crm/api/fields/crypt.rb +156 -0
  105. data/src/com/zoho/crm/api/fields/currency.rb +80 -0
  106. data/src/com/zoho/crm/api/fields/field.rb +956 -0
  107. data/src/com/zoho/crm/api/fields/fields_operations.rb +71 -0
  108. data/src/com/zoho/crm/api/fields/formula.rb +80 -0
  109. data/src/com/zoho/crm/api/fields/lookup_field.rb +80 -0
  110. data/src/com/zoho/crm/api/fields/module.rb +157 -0
  111. data/src/com/zoho/crm/api/fields/multi_select_lookup.rb +156 -0
  112. data/src/com/zoho/crm/api/fields/pick_list_value.rb +175 -0
  113. data/src/com/zoho/crm/api/fields/private.rb +99 -0
  114. data/src/com/zoho/crm/api/fields/related_details.rb +137 -0
  115. data/src/com/zoho/crm/api/fields/response_handler.rb +10 -0
  116. data/src/com/zoho/crm/api/fields/response_wrapper.rb +63 -0
  117. data/src/com/zoho/crm/api/fields/tool_tip.rb +80 -0
  118. data/src/com/zoho/crm/api/fields/unique.rb +61 -0
  119. data/src/com/zoho/crm/api/fields/view_type.rb +118 -0
  120. data/src/com/zoho/crm/api/files/action_handler.rb +10 -0
  121. data/src/com/zoho/crm/api/files/action_response.rb +10 -0
  122. data/src/com/zoho/crm/api/files/action_wrapper.rb +63 -0
  123. data/src/com/zoho/crm/api/files/api_exception.rb +125 -0
  124. data/src/com/zoho/crm/api/files/body_wrapper.rb +62 -0
  125. data/src/com/zoho/crm/api/files/file_body_wrapper.rb +64 -0
  126. data/src/com/zoho/crm/api/files/file_operations.rb +75 -0
  127. data/src/com/zoho/crm/api/files/response_handler.rb +10 -0
  128. data/src/com/zoho/crm/api/files/success_response.rb +121 -0
  129. data/src/com/zoho/crm/api/header.rb +10 -0
  130. data/src/com/zoho/crm/api/header_map.rb +55 -0
  131. data/src/com/zoho/crm/api/initializer.rb +192 -0
  132. data/src/com/zoho/crm/api/layouts/api_exception.rb +121 -0
  133. data/src/com/zoho/crm/api/layouts/layout.rb +272 -0
  134. data/src/com/zoho/crm/api/layouts/layouts_operations.rb +61 -0
  135. data/src/com/zoho/crm/api/layouts/properties.rb +100 -0
  136. data/src/com/zoho/crm/api/layouts/response_handler.rb +10 -0
  137. data/src/com/zoho/crm/api/layouts/response_wrapper.rb +63 -0
  138. data/src/com/zoho/crm/api/layouts/section.rb +233 -0
  139. data/src/com/zoho/crm/api/modules/action_handler.rb +10 -0
  140. data/src/com/zoho/crm/api/modules/action_response.rb +10 -0
  141. data/src/com/zoho/crm/api/modules/action_wrapper.rb +63 -0
  142. data/src/com/zoho/crm/api/modules/api_exception.rb +125 -0
  143. data/src/com/zoho/crm/api/modules/argument.rb +80 -0
  144. data/src/com/zoho/crm/api/modules/body_wrapper.rb +61 -0
  145. data/src/com/zoho/crm/api/modules/module.rb +882 -0
  146. data/src/com/zoho/crm/api/modules/modules_operations.rb +111 -0
  147. data/src/com/zoho/crm/api/modules/related_list_properties.rb +99 -0
  148. data/src/com/zoho/crm/api/modules/response_handler.rb +10 -0
  149. data/src/com/zoho/crm/api/modules/response_wrapper.rb +63 -0
  150. data/src/com/zoho/crm/api/modules/success_response.rb +121 -0
  151. data/src/com/zoho/crm/api/modules/territory.rb +99 -0
  152. data/src/com/zoho/crm/api/notes/action_handler.rb +10 -0
  153. data/src/com/zoho/crm/api/notes/action_response.rb +10 -0
  154. data/src/com/zoho/crm/api/notes/action_wrapper.rb +63 -0
  155. data/src/com/zoho/crm/api/notes/api_exception.rb +125 -0
  156. data/src/com/zoho/crm/api/notes/body_wrapper.rb +61 -0
  157. data/src/com/zoho/crm/api/notes/info.rb +118 -0
  158. data/src/com/zoho/crm/api/notes/note.rb +349 -0
  159. data/src/com/zoho/crm/api/notes/notes_operations.rb +219 -0
  160. data/src/com/zoho/crm/api/notes/response_handler.rb +10 -0
  161. data/src/com/zoho/crm/api/notes/response_wrapper.rb +82 -0
  162. data/src/com/zoho/crm/api/notes/success_response.rb +121 -0
  163. data/src/com/zoho/crm/api/notification/action_handler.rb +10 -0
  164. data/src/com/zoho/crm/api/notification/action_response.rb +10 -0
  165. data/src/com/zoho/crm/api/notification/action_wrapper.rb +63 -0
  166. data/src/com/zoho/crm/api/notification/api_exception.rb +125 -0
  167. data/src/com/zoho/crm/api/notification/body_wrapper.rb +61 -0
  168. data/src/com/zoho/crm/api/notification/info.rb +118 -0
  169. data/src/com/zoho/crm/api/notification/notification.rb +251 -0
  170. data/src/com/zoho/crm/api/notification/notification_operations.rb +164 -0
  171. data/src/com/zoho/crm/api/notification/response_handler.rb +10 -0
  172. data/src/com/zoho/crm/api/notification/response_wrapper.rb +82 -0
  173. data/src/com/zoho/crm/api/notification/success_response.rb +121 -0
  174. data/src/com/zoho/crm/api/org/action_response.rb +10 -0
  175. data/src/com/zoho/crm/api/org/api_exception.rb +123 -0
  176. data/src/com/zoho/crm/api/org/file_body_wrapper.rb +62 -0
  177. data/src/com/zoho/crm/api/org/license_details.rb +156 -0
  178. data/src/com/zoho/crm/api/org/org.rb +631 -0
  179. data/src/com/zoho/crm/api/org/org_operations.rb +49 -0
  180. data/src/com/zoho/crm/api/org/response_handler.rb +10 -0
  181. data/src/com/zoho/crm/api/org/response_wrapper.rb +63 -0
  182. data/src/com/zoho/crm/api/org/success_response.rb +121 -0
  183. data/src/com/zoho/crm/api/param.rb +10 -0
  184. data/src/com/zoho/crm/api/parameter_map.rb +54 -0
  185. data/src/com/zoho/crm/api/profiles/api_exception.rb +121 -0
  186. data/src/com/zoho/crm/api/profiles/category.rb +99 -0
  187. data/src/com/zoho/crm/api/profiles/permission_detail.rb +137 -0
  188. data/src/com/zoho/crm/api/profiles/profile.rb +290 -0
  189. data/src/com/zoho/crm/api/profiles/profiles_operations.rb +61 -0
  190. data/src/com/zoho/crm/api/profiles/response_handler.rb +10 -0
  191. data/src/com/zoho/crm/api/profiles/response_wrapper.rb +63 -0
  192. data/src/com/zoho/crm/api/profiles/section.rb +80 -0
  193. data/src/com/zoho/crm/api/query/api_exception.rb +121 -0
  194. data/src/com/zoho/crm/api/query/body_wrapper.rb +61 -0
  195. data/src/com/zoho/crm/api/query/query_operations.rb +35 -0
  196. data/src/com/zoho/crm/api/query/response_handler.rb +10 -0
  197. data/src/com/zoho/crm/api/query/response_wrapper.rb +84 -0
  198. data/src/com/zoho/crm/api/record/action_handler.rb +10 -0
  199. data/src/com/zoho/crm/api/record/action_response.rb +10 -0
  200. data/src/com/zoho/crm/api/record/action_wrapper.rb +63 -0
  201. data/src/com/zoho/crm/api/record/api_exception.rb +143 -0
  202. data/src/com/zoho/crm/api/record/body_wrapper.rb +156 -0
  203. data/src/com/zoho/crm/api/record/carry_over_tags.rb +99 -0
  204. data/src/com/zoho/crm/api/record/comment.rb +118 -0
  205. data/src/com/zoho/crm/api/record/consent.rb +185 -0
  206. data/src/com/zoho/crm/api/record/convert_action_handler.rb +10 -0
  207. data/src/com/zoho/crm/api/record/convert_action_response.rb +10 -0
  208. data/src/com/zoho/crm/api/record/convert_action_wrapper.rb +63 -0
  209. data/src/com/zoho/crm/api/record/convert_body_wrapper.rb +61 -0
  210. data/src/com/zoho/crm/api/record/criteria.rb +135 -0
  211. data/src/com/zoho/crm/api/record/deleted_record.rb +157 -0
  212. data/src/com/zoho/crm/api/record/deleted_records_handler.rb +10 -0
  213. data/src/com/zoho/crm/api/record/deleted_records_wrapper.rb +82 -0
  214. data/src/com/zoho/crm/api/record/download_handler.rb +10 -0
  215. data/src/com/zoho/crm/api/record/field.rb +2109 -0
  216. data/src/com/zoho/crm/api/record/file_body_wrapper.rb +66 -0
  217. data/src/com/zoho/crm/api/record/file_details.rb +327 -0
  218. data/src/com/zoho/crm/api/record/file_handler.rb +10 -0
  219. data/src/com/zoho/crm/api/record/info.rb +118 -0
  220. data/src/com/zoho/crm/api/record/inventory_line_items.rb +235 -0
  221. data/src/com/zoho/crm/api/record/lead_converter.rb +194 -0
  222. data/src/com/zoho/crm/api/record/line_item_product.rb +65 -0
  223. data/src/com/zoho/crm/api/record/line_tax.rb +118 -0
  224. data/src/com/zoho/crm/api/record/mass_update.rb +140 -0
  225. data/src/com/zoho/crm/api/record/mass_update_action_handler.rb +10 -0
  226. data/src/com/zoho/crm/api/record/mass_update_action_response.rb +10 -0
  227. data/src/com/zoho/crm/api/record/mass_update_action_wrapper.rb +63 -0
  228. data/src/com/zoho/crm/api/record/mass_update_body_wrapper.rb +156 -0
  229. data/src/com/zoho/crm/api/record/mass_update_response.rb +10 -0
  230. data/src/com/zoho/crm/api/record/mass_update_response_handler.rb +10 -0
  231. data/src/com/zoho/crm/api/record/mass_update_response_wrapper.rb +63 -0
  232. data/src/com/zoho/crm/api/record/mass_update_success_response.rb +121 -0
  233. data/src/com/zoho/crm/api/record/options.rb +10 -0
  234. data/src/com/zoho/crm/api/record/participants.rb +116 -0
  235. data/src/com/zoho/crm/api/record/pricing_details.rb +65 -0
  236. data/src/com/zoho/crm/api/record/record.rb +192 -0
  237. data/src/com/zoho/crm/api/record/record_operations.rb +677 -0
  238. data/src/com/zoho/crm/api/record/recurring_activity.rb +61 -0
  239. data/src/com/zoho/crm/api/record/remind_at.rb +61 -0
  240. data/src/com/zoho/crm/api/record/reminder.rb +80 -0
  241. data/src/com/zoho/crm/api/record/response_handler.rb +10 -0
  242. data/src/com/zoho/crm/api/record/response_wrapper.rb +82 -0
  243. data/src/com/zoho/crm/api/record/success_response.rb +161 -0
  244. data/src/com/zoho/crm/api/record/successful_convert.rb +101 -0
  245. data/src/com/zoho/crm/api/record/territory.rb +80 -0
  246. data/src/com/zoho/crm/api/related_lists/api_exception.rb +121 -0
  247. data/src/com/zoho/crm/api/related_lists/related_list.rb +251 -0
  248. data/src/com/zoho/crm/api/related_lists/related_lists_operations.rb +61 -0
  249. data/src/com/zoho/crm/api/related_lists/response_handler.rb +10 -0
  250. data/src/com/zoho/crm/api/related_lists/response_wrapper.rb +63 -0
  251. data/src/com/zoho/crm/api/related_records/action_handler.rb +10 -0
  252. data/src/com/zoho/crm/api/related_records/action_response.rb +10 -0
  253. data/src/com/zoho/crm/api/related_records/action_wrapper.rb +63 -0
  254. data/src/com/zoho/crm/api/related_records/api_exception.rb +125 -0
  255. data/src/com/zoho/crm/api/related_records/body_wrapper.rb +62 -0
  256. data/src/com/zoho/crm/api/related_records/file_body_wrapper.rb +64 -0
  257. data/src/com/zoho/crm/api/related_records/related_records_operations.rb +235 -0
  258. data/src/com/zoho/crm/api/related_records/response_handler.rb +10 -0
  259. data/src/com/zoho/crm/api/related_records/response_wrapper.rb +84 -0
  260. data/src/com/zoho/crm/api/related_records/success_response.rb +121 -0
  261. data/src/com/zoho/crm/api/request_proxy.rb +16 -0
  262. data/src/com/zoho/crm/api/roles/api_exception.rb +121 -0
  263. data/src/com/zoho/crm/api/roles/response_handler.rb +10 -0
  264. data/src/com/zoho/crm/api/roles/response_wrapper.rb +63 -0
  265. data/src/com/zoho/crm/api/roles/role.rb +195 -0
  266. data/src/com/zoho/crm/api/roles/roles_operations.rb +47 -0
  267. data/src/com/zoho/crm/api/sdk_config.rb +78 -0
  268. data/src/com/zoho/crm/api/share_records/action_handler.rb +10 -0
  269. data/src/com/zoho/crm/api/share_records/action_response.rb +10 -0
  270. data/src/com/zoho/crm/api/share_records/action_wrapper.rb +63 -0
  271. data/src/com/zoho/crm/api/share_records/api_exception.rb +129 -0
  272. data/src/com/zoho/crm/api/share_records/body_wrapper.rb +61 -0
  273. data/src/com/zoho/crm/api/share_records/delete_action_handler.rb +10 -0
  274. data/src/com/zoho/crm/api/share_records/delete_action_response.rb +10 -0
  275. data/src/com/zoho/crm/api/share_records/delete_action_wrapper.rb +63 -0
  276. data/src/com/zoho/crm/api/share_records/response_handler.rb +10 -0
  277. data/src/com/zoho/crm/api/share_records/response_wrapper.rb +83 -0
  278. data/src/com/zoho/crm/api/share_records/share_record.rb +157 -0
  279. data/src/com/zoho/crm/api/share_records/share_records_operations.rb +128 -0
  280. data/src/com/zoho/crm/api/share_records/shared_through.rb +100 -0
  281. data/src/com/zoho/crm/api/share_records/success_response.rb +123 -0
  282. data/src/com/zoho/crm/api/tags/action_handler.rb +10 -0
  283. data/src/com/zoho/crm/api/tags/action_response.rb +10 -0
  284. data/src/com/zoho/crm/api/tags/action_wrapper.rb +63 -0
  285. data/src/com/zoho/crm/api/tags/api_exception.rb +131 -0
  286. data/src/com/zoho/crm/api/tags/body_wrapper.rb +61 -0
  287. data/src/com/zoho/crm/api/tags/conflict_wrapper.rb +61 -0
  288. data/src/com/zoho/crm/api/tags/count_handler.rb +10 -0
  289. data/src/com/zoho/crm/api/tags/count_wrapper.rb +63 -0
  290. data/src/com/zoho/crm/api/tags/info.rb +80 -0
  291. data/src/com/zoho/crm/api/tags/merge_wrapper.rb +61 -0
  292. data/src/com/zoho/crm/api/tags/record_action_handler.rb +10 -0
  293. data/src/com/zoho/crm/api/tags/record_action_response.rb +10 -0
  294. data/src/com/zoho/crm/api/tags/record_action_wrapper.rb +120 -0
  295. data/src/com/zoho/crm/api/tags/response_handler.rb +10 -0
  296. data/src/com/zoho/crm/api/tags/response_wrapper.rb +82 -0
  297. data/src/com/zoho/crm/api/tags/success_response.rb +123 -0
  298. data/src/com/zoho/crm/api/tags/tag.rb +157 -0
  299. data/src/com/zoho/crm/api/tags/tags_operations.rb +387 -0
  300. data/src/com/zoho/crm/api/taxes/action_handler.rb +10 -0
  301. data/src/com/zoho/crm/api/taxes/action_response.rb +10 -0
  302. data/src/com/zoho/crm/api/taxes/action_wrapper.rb +63 -0
  303. data/src/com/zoho/crm/api/taxes/api_exception.rb +125 -0
  304. data/src/com/zoho/crm/api/taxes/body_wrapper.rb +61 -0
  305. data/src/com/zoho/crm/api/taxes/preference.rb +80 -0
  306. data/src/com/zoho/crm/api/taxes/response_handler.rb +10 -0
  307. data/src/com/zoho/crm/api/taxes/response_wrapper.rb +82 -0
  308. data/src/com/zoho/crm/api/taxes/success_response.rb +121 -0
  309. data/src/com/zoho/crm/api/taxes/tax.rb +137 -0
  310. data/src/com/zoho/crm/api/taxes/taxes_operations.rb +136 -0
  311. data/src/com/zoho/crm/api/territories/api_exception.rb +121 -0
  312. data/src/com/zoho/crm/api/territories/response_handler.rb +10 -0
  313. data/src/com/zoho/crm/api/territories/response_wrapper.rb +63 -0
  314. data/src/com/zoho/crm/api/territories/territories_operations.rb +47 -0
  315. data/src/com/zoho/crm/api/territories/territory.rb +234 -0
  316. data/src/com/zoho/crm/api/user_signature.rb +27 -0
  317. data/src/com/zoho/crm/api/users/action_handler.rb +10 -0
  318. data/src/com/zoho/crm/api/users/action_response.rb +10 -0
  319. data/src/com/zoho/crm/api/users/action_wrapper.rb +63 -0
  320. data/src/com/zoho/crm/api/users/api_exception.rb +125 -0
  321. data/src/com/zoho/crm/api/users/body_wrapper.rb +61 -0
  322. data/src/com/zoho/crm/api/users/customize_info.rb +156 -0
  323. data/src/com/zoho/crm/api/users/info.rb +118 -0
  324. data/src/com/zoho/crm/api/users/request_wrapper.rb +61 -0
  325. data/src/com/zoho/crm/api/users/response_handler.rb +10 -0
  326. data/src/com/zoho/crm/api/users/response_wrapper.rb +82 -0
  327. data/src/com/zoho/crm/api/users/shift.rb +80 -0
  328. data/src/com/zoho/crm/api/users/success_response.rb +121 -0
  329. data/src/com/zoho/crm/api/users/tab_theme.rb +80 -0
  330. data/src/com/zoho/crm/api/users/territory.rb +99 -0
  331. data/src/com/zoho/crm/api/users/theme.rb +156 -0
  332. data/src/com/zoho/crm/api/users/user.rb +696 -0
  333. data/src/com/zoho/crm/api/users/users_operations.rb +181 -0
  334. data/src/com/zoho/crm/api/util/api_http_connector.rb +111 -0
  335. data/src/com/zoho/crm/api/util/api_response.rb +16 -0
  336. data/src/com/zoho/crm/api/util/choice.rb +9 -0
  337. data/src/com/zoho/crm/api/util/common_api_handler.rb +235 -0
  338. data/src/com/zoho/crm/api/util/constants.rb +536 -0
  339. data/src/com/zoho/crm/api/util/converter.rb +213 -0
  340. data/src/com/zoho/crm/api/util/data_type_converter.rb +162 -0
  341. data/src/com/zoho/crm/api/util/downloader.rb +83 -0
  342. data/src/com/zoho/crm/api/util/form_data_converter.rb +167 -0
  343. data/src/com/zoho/crm/api/util/header_param_validator.rb +55 -0
  344. data/src/com/zoho/crm/api/util/json_converter.rb +726 -0
  345. data/src/com/zoho/crm/api/util/model.rb +5 -0
  346. data/src/com/zoho/crm/api/util/module_fields_handler.rb +78 -0
  347. data/src/com/zoho/crm/api/util/stream_wrapper.rb +37 -0
  348. data/src/com/zoho/crm/api/util/utility.rb +727 -0
  349. data/src/com/zoho/crm/api/variable_groups/api_exception.rb +121 -0
  350. data/src/com/zoho/crm/api/variable_groups/response_handler.rb +10 -0
  351. data/src/com/zoho/crm/api/variable_groups/response_wrapper.rb +63 -0
  352. data/src/com/zoho/crm/api/variable_groups/variable_group.rb +137 -0
  353. data/src/com/zoho/crm/api/variable_groups/variable_groups_operations.rb +66 -0
  354. data/src/com/zoho/crm/api/variables/action_handler.rb +10 -0
  355. data/src/com/zoho/crm/api/variables/action_response.rb +10 -0
  356. data/src/com/zoho/crm/api/variables/action_wrapper.rb +63 -0
  357. data/src/com/zoho/crm/api/variables/api_exception.rb +125 -0
  358. data/src/com/zoho/crm/api/variables/body_wrapper.rb +61 -0
  359. data/src/com/zoho/crm/api/variables/response_handler.rb +10 -0
  360. data/src/com/zoho/crm/api/variables/response_wrapper.rb +63 -0
  361. data/src/com/zoho/crm/api/variables/success_response.rb +121 -0
  362. data/src/com/zoho/crm/api/variables/variable.rb +173 -0
  363. data/src/com/zoho/crm/api/variables/variables_operations.rb +241 -0
  364. data/src/resources/JSONDetails.json +1 -0
  365. data/src/version.rb +3 -0
  366. metadata +395 -45
  367. data/lib/ZCRMSDK.rb +0 -14
  368. data/lib/ZCRMSDK/handler.rb +0 -3290
  369. data/lib/ZCRMSDK/oauth_client.rb +0 -253
  370. data/lib/ZCRMSDK/oauth_utility.rb +0 -161
  371. data/lib/ZCRMSDK/operations.rb +0 -1091
  372. data/lib/ZCRMSDK/org.rb +0 -174
  373. data/lib/ZCRMSDK/persistence.rb +0 -127
  374. data/lib/ZCRMSDK/request.rb +0 -83
  375. data/lib/ZCRMSDK/response.rb +0 -216
  376. data/lib/ZCRMSDK/restclient.rb +0 -65
  377. data/lib/ZCRMSDK/test.rb +0 -5748
  378. data/lib/ZCRMSDK/utility.rb +0 -309
  379. data/lib/ZCRMSDK/version.rb +0 -5
@@ -0,0 +1,181 @@
1
+ require_relative '../header'
2
+ require_relative '../header_map'
3
+ require_relative '../param'
4
+ require_relative '../parameter_map'
5
+ require_relative '../exception/sdk_exception'
6
+ require_relative '../util/api_response'
7
+ require_relative '../util/common_api_handler'
8
+ require_relative '../util/constants'
9
+
10
+ module Users
11
+ class UsersOperations
12
+
13
+ # Creates an instance of UsersOperations
14
+ def initialize
15
+ end
16
+
17
+ # The method to get users
18
+ # @param param_instance [ParameterMap] An instance of ParameterMap
19
+ # @param header_instance [HeaderMap] An instance of HeaderMap
20
+ # @return An instance of APIResponse
21
+ # @raise SDKException
22
+ def get_users(param_instance=nil, header_instance=nil)
23
+ if param_instance!=nil and !param_instance.is_a? ParameterMap
24
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: param_instance EXPECTED TYPE: ParameterMap', nil, nil)
25
+ end
26
+ if header_instance!=nil and !header_instance.is_a? HeaderMap
27
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: header_instance EXPECTED TYPE: HeaderMap', nil, nil)
28
+ end
29
+ handler_instance = Handler::CommonAPIHandler.new
30
+ api_path = ''
31
+ api_path = api_path + '/crm/v2/users'
32
+ handler_instance.api_path = api_path
33
+ handler_instance.http_method = Constants::REQUEST_METHOD_GET
34
+ handler_instance.category_method = 'READ'
35
+ handler_instance.param = param_instance
36
+ handler_instance.header = header_instance
37
+ require_relative 'response_handler'
38
+ handler_instance.api_call(ResponseHandler.name, 'application/json')
39
+ end
40
+
41
+ # The method to create user
42
+ # @param request [RequestWrapper] An instance of RequestWrapper
43
+ # @return An instance of APIResponse
44
+ # @raise SDKException
45
+ def create_user(request)
46
+ if request!=nil and !request.is_a? RequestWrapper
47
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: request EXPECTED TYPE: RequestWrapper', nil, nil)
48
+ end
49
+ handler_instance = Handler::CommonAPIHandler.new
50
+ api_path = ''
51
+ api_path = api_path + '/crm/v2/users'
52
+ handler_instance.api_path = api_path
53
+ handler_instance.http_method = Constants::REQUEST_METHOD_POST
54
+ handler_instance.category_method = 'CREATE'
55
+ handler_instance.content_type = 'application/json'
56
+ handler_instance.request = request
57
+ handler_instance.mandatory_checker = true
58
+ require_relative 'action_handler'
59
+ handler_instance.api_call(ActionHandler.name, 'application/json')
60
+ end
61
+
62
+ # The method to update users
63
+ # @param request [BodyWrapper] An instance of BodyWrapper
64
+ # @return An instance of APIResponse
65
+ # @raise SDKException
66
+ def update_users(request)
67
+ if request!=nil and !request.is_a? BodyWrapper
68
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: request EXPECTED TYPE: BodyWrapper', nil, nil)
69
+ end
70
+ handler_instance = Handler::CommonAPIHandler.new
71
+ api_path = ''
72
+ api_path = api_path + '/crm/v2/users'
73
+ handler_instance.api_path = api_path
74
+ handler_instance.http_method = Constants::REQUEST_METHOD_PUT
75
+ handler_instance.category_method = 'UPDATE'
76
+ handler_instance.content_type = 'application/json'
77
+ handler_instance.request = request
78
+ handler_instance.mandatory_checker = true
79
+ require_relative 'action_handler'
80
+ handler_instance.api_call(ActionHandler.name, 'application/json')
81
+ end
82
+
83
+ # The method to get user
84
+ # @param id [Integer] A Integer
85
+ # @param header_instance [HeaderMap] An instance of HeaderMap
86
+ # @return An instance of APIResponse
87
+ # @raise SDKException
88
+ def get_user(id, header_instance=nil)
89
+ if !id.is_a? Integer
90
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: id EXPECTED TYPE: Integer', nil, nil)
91
+ end
92
+ if header_instance!=nil and !header_instance.is_a? HeaderMap
93
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: header_instance EXPECTED TYPE: HeaderMap', nil, nil)
94
+ end
95
+ handler_instance = Handler::CommonAPIHandler.new
96
+ api_path = ''
97
+ api_path = api_path + '/crm/v2/users/'
98
+ api_path = api_path + id.to_s
99
+ handler_instance.api_path = api_path
100
+ handler_instance.http_method = Constants::REQUEST_METHOD_GET
101
+ handler_instance.category_method = 'READ'
102
+ handler_instance.header = header_instance
103
+ require_relative 'response_handler'
104
+ handler_instance.api_call(ResponseHandler.name, 'application/json')
105
+ end
106
+
107
+ # The method to update user
108
+ # @param id [Integer] A Integer
109
+ # @param request [BodyWrapper] An instance of BodyWrapper
110
+ # @return An instance of APIResponse
111
+ # @raise SDKException
112
+ def update_user(id, request)
113
+ if !id.is_a? Integer
114
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: id EXPECTED TYPE: Integer', nil, nil)
115
+ end
116
+ if request!=nil and !request.is_a? BodyWrapper
117
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: request EXPECTED TYPE: BodyWrapper', nil, nil)
118
+ end
119
+ handler_instance = Handler::CommonAPIHandler.new
120
+ api_path = ''
121
+ api_path = api_path + '/crm/v2/users/'
122
+ api_path = api_path + id.to_s
123
+ handler_instance.api_path = api_path
124
+ handler_instance.http_method = Constants::REQUEST_METHOD_PUT
125
+ handler_instance.category_method = 'UPDATE'
126
+ handler_instance.content_type = 'application/json'
127
+ handler_instance.request = request
128
+ require_relative 'action_handler'
129
+ handler_instance.api_call(ActionHandler.name, 'application/json')
130
+ end
131
+
132
+ # The method to delete user
133
+ # @param id [Integer] A Integer
134
+ # @return An instance of APIResponse
135
+ # @raise SDKException
136
+ def delete_user(id)
137
+ if !id.is_a? Integer
138
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: id EXPECTED TYPE: Integer', nil, nil)
139
+ end
140
+ handler_instance = Handler::CommonAPIHandler.new
141
+ api_path = ''
142
+ api_path = api_path + '/crm/v2/users/'
143
+ api_path = api_path + id.to_s
144
+ handler_instance.api_path = api_path
145
+ handler_instance.http_method = Constants::REQUEST_METHOD_DELETE
146
+ handler_instance.category_method = Constants::REQUEST_METHOD_DELETE
147
+ require_relative 'action_handler'
148
+ handler_instance.api_call(ActionHandler.name, 'application/json')
149
+ end
150
+
151
+ class GetUsersParam
152
+ @@type = Param.new('type', 'com.zoho.crm.api.Users.GetUsersParam')
153
+ def self.type
154
+ @@type
155
+ end
156
+ @@page = Param.new('page', 'com.zoho.crm.api.Users.GetUsersParam')
157
+ def self.page
158
+ @@page
159
+ end
160
+ @@per_page = Param.new('per_page', 'com.zoho.crm.api.Users.GetUsersParam')
161
+ def self.per_page
162
+ @@per_page
163
+ end
164
+ end
165
+
166
+ class GetUsersHeader
167
+ @@If_modified_since = Header.new('If-Modified-Since', 'com.zoho.crm.api.Users.GetUsersHeader')
168
+ def self.If_modified_since
169
+ @@If_modified_since
170
+ end
171
+ end
172
+
173
+ class GetUserHeader
174
+ @@If_modified_since = Header.new('If-Modified-Since', 'com.zoho.crm.api.Users.GetUserHeader')
175
+ def self.If_modified_since
176
+ @@If_modified_since
177
+ end
178
+ end
179
+
180
+ end
181
+ end
@@ -0,0 +1,111 @@
1
+ require 'net/http'
2
+
3
+ require_relative '../initializer'
4
+ require_relative '../../../api/logger/sdk_logger'
5
+ require_relative 'constants'
6
+
7
+ module Util
8
+ # This class is to make HTTP connections, trigger the requests and receive the response
9
+ class APIHTTPConnector
10
+ attr_accessor :url, :headers, :request_method, :parameters, :request_body, :content_type
11
+
12
+ def initialize
13
+ @url = nil
14
+
15
+ @headers = {}
16
+
17
+ @request_method = nil
18
+
19
+ @parameters = {}
20
+
21
+ @request_body = nil
22
+
23
+ @content_type = nil
24
+ end
25
+
26
+ def set_content_type_header
27
+ Constants::SET_TO_CONTENT_TYPE.each do |content_type|
28
+ if @url.include? content_type
29
+ @headers[Constants::CONTENT_TYPE] = @content_type
30
+ break
31
+ end
32
+ end
33
+ end
34
+
35
+ # This method makes a Zoho CRM Rest API request
36
+ # @param converterInstance A Converter class instance to call appendToRequest method.
37
+ # @return HttpResponse class instance or nil
38
+ # @raise Exception
39
+ def fire_request(converter_instance)
40
+ @parameters&.each do |param_key, value|
41
+ @parameters[param_key] = CGI.escape(value) if value.is_a? String
42
+ end
43
+
44
+ query_string = @parameters.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join('&')
45
+
46
+ @url += '?' + query_string if !query_string.nil? && (query_string.strip != '')
47
+
48
+ url = URI(@url)
49
+ http = nil
50
+ initializer = Initializer.get_initializer
51
+ request_proxy = initializer.request_proxy
52
+ if request_proxy.nil?
53
+ http = Net::HTTP.new(url.host, url.port)
54
+ else
55
+ proxy_host = request_proxy.host
56
+ proxy_port = request_proxy.port
57
+ proxy_user = nil
58
+ proxy_password = nil
59
+ unless proxy_user.nil?
60
+ proxy_user = request_proxy.user_name
61
+ proxy_password = request_proxy.password
62
+ end
63
+ http = Net::HTTP.new(url.host, url.port, proxy_host, proxy_port, proxy_user, proxy_password)
64
+ SDKLog::SDKLogger.info(proxy_log(request_proxy))
65
+ end
66
+
67
+ http.use_ssl = true
68
+ http.open_timeout = initializer.sdk_config.open_timeout
69
+ http.read_timeout = initializer.sdk_config.read_timeout
70
+ http.write_timeout = initializer.sdk_config.write_timeout
71
+ http.keep_alive_timeout = initializer.sdk_config.keep_alive_timeout
72
+
73
+ if @request_method == Constants::REQUEST_METHOD_GET
74
+ req = Net::HTTP::Get.new(url.request_uri)
75
+ elsif @request_method == Constants::REQUEST_METHOD_POST
76
+ req = Net::HTTP::Post.new(url.request_uri)
77
+ elsif @request_method == Constants::REQUEST_METHOD_PUT
78
+ req = Net::HTTP::Put.new(url.request_uri)
79
+ elsif @request_method == Constants::REQUEST_METHOD_PATCH
80
+ req = Net::HTTP::Patch.new(url.request_uri)
81
+ elsif @request_method == Constants::REQUEST_METHOD_DELETE
82
+ req = Net::HTTP::Delete.new(url.request_uri)
83
+ end
84
+
85
+ set_content_type_header unless @content_type.nil?
86
+
87
+ @headers&.each { |key, value| req.add_field(key, value) }
88
+
89
+ converter_instance.append_to_request(req, @request_body) unless @request_body.nil?
90
+
91
+ SDKLog::SDKLogger.info(to_s)
92
+
93
+ response = http.request(req)
94
+ response
95
+ end
96
+
97
+ def to_s
98
+ req_headers = @headers.clone
99
+ req_headers [Constants::AUTHORIZATION] = Constants::CANT_DISCLOSE
100
+ @request_method + ' - ' + Constants::URL + ' = ' + @url + ', ' + Constants::HEADERS + ' = ' + req_headers.to_s + ', ' + Constants::PARAMS + ' = ' + @parameters.to_s
101
+ end
102
+
103
+ def proxy_log(request_proxy)
104
+ if request_proxy.user_name.nil?
105
+ 'Proxy settings - Host : ' + request_proxy.host + ' , Port : ' + request_proxy.port.to_s
106
+ else
107
+ 'Proxy settings - Host : ' + request_proxy.host + ' , Port : ' + request_proxy.port.to_s + ' , Proxy User : ' + request_proxy.user_name
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,16 @@
1
+ module Response
2
+ # This class is the common API response object.
3
+ class APIResponse
4
+ attr_reader :headers, :status_code, :data_object, :is_expected
5
+ # Creates an APIResponse class instance with the specified parameters.
6
+ # @param headers A Hash containing the API response headers.
7
+ # @param status_code A Integer containing the API response HTTP status code.
8
+ # @param object A Object containing the API response class instance.
9
+ def initialize(headers, status_code, object, is_expected)
10
+ @headers = headers
11
+ @status_code = status_code
12
+ @data_object = object
13
+ @is_expected = is_expected
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,9 @@
1
+ module Util
2
+ class Choice
3
+ attr_reader :value
4
+
5
+ def initialize(value)
6
+ @value = value
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,235 @@
1
+ require 'uri'
2
+
3
+ require_relative 'json_converter'
4
+ require_relative 'form_data_converter'
5
+ require_relative 'data_type_converter'
6
+ require_relative 'downloader'
7
+ require_relative 'api_response'
8
+ require_relative 'api_http_connector'
9
+ require_relative '../initializer'
10
+ require_relative '../header'
11
+ require_relative '../param'
12
+ require_relative '../header_map'
13
+ require_relative '../parameter_map'
14
+ require_relative 'constants'
15
+ require_relative '../exception/sdk_exception'
16
+ require_relative '../../../api/logger/sdk_logger'
17
+
18
+ module Handler
19
+ # This class is to process the API request and its response.
20
+ # Construct the objects that are to be sent as parameters or in the request body with the API.
21
+ # The Request parameter, header and body objects are constructed here.
22
+ # Process the response JSON and converts it to relevant objects in the library.
23
+ class CommonAPIHandler
24
+ attr_accessor :api_path, :header, :param, :category_method, :request, :http_method, :module_api_name, :content_type, :mandatory_checker
25
+
26
+ def initialize
27
+ @api_path = nil
28
+
29
+ @header = HeaderMap.new
30
+
31
+ @param = ParameterMap.new
32
+
33
+ @mandatory_checker = false
34
+
35
+ @request = nil
36
+
37
+ @http_method = nil
38
+
39
+ @category_method = nil
40
+
41
+ @module_api_name = nil
42
+
43
+ @content_type = nil
44
+ end
45
+
46
+ # This method is used in constructing API request and response details. To make the Zoho CRM API calls.
47
+ # @param class_name [String] A Class containing the method return type.
48
+ # @param encode_type [String] A String containing the expected API response content type.
49
+ # @see Util::APIHTTPConnector
50
+ # @return A APIResponse representing the Zoho CRM API response instance or nil.
51
+ def api_call(class_name, encode_type)
52
+ if Initializer.get_initializer.nil?
53
+ raise SDKException.new(Constants::SDK_UNINITIALIZATION_ERROR, Constants::SDK_UNINITIALIZATION_MESSAGE, nil, nil)
54
+ end
55
+
56
+ connector = Util::APIHTTPConnector.new
57
+
58
+ begin
59
+ set_api_url(connector)
60
+ rescue SDKException => e
61
+ SDKLog::SDKLogger.severe(Constants::SET_API_URL_EXCEPTION, e)
62
+ raise e
63
+ rescue StandardError => e
64
+ ex = SDKException.new(nil, nil, nil, e)
65
+ SDKLog::SDKLogger.severe(Constants::SET_API_URL_EXCEPTION, ex)
66
+ raise ex
67
+ end
68
+
69
+ connector.request_method = @http_method
70
+
71
+ connector.content_type = @content_type
72
+
73
+ connector.headers = @header.header_hash if !@header.nil? && !@header.header_hash.empty?
74
+
75
+ connector.parameters = @param.param_hash if !@param.nil? && !@param.param_hash.empty?
76
+
77
+ begin
78
+ Initializer.get_initializer.token.authenticate(connector)
79
+ rescue SDKException => e
80
+ SDKLog::SDKLogger.severe(Constants::AUTHENTICATION_EXCEPTION, e)
81
+ raise e
82
+ rescue StandardError => e
83
+ ex = SDKException.new(nil, nil, nil, e)
84
+ SDKLog::SDKLogger.severe(Constants::AUTHENTICATION_EXCEPTION, ex)
85
+ raise ex
86
+ end
87
+
88
+ converter_instance = nil
89
+
90
+ if !@content_type.nil? && (Constants::IS_GENERATE_REQUEST_BODY.include? http_method)
91
+ request = nil
92
+
93
+ begin
94
+ converter_instance = get_converter_class_instance(@content_type.to_s.downcase)
95
+ request = converter_instance.form_request(@request, @request.class.name, nil, nil)
96
+ rescue SDKException => e
97
+ SDKLog::SDKLogger.severe(Constants::FORM_REQUEST_EXCEPTION, e)
98
+ raise e
99
+ rescue StandardError => e
100
+ ex = SDKException.new(nil, nil, nil, e)
101
+ SDKLog::SDKLogger.severe(Constants::FORM_REQUEST_EXCEPTION, ex)
102
+ raise ex
103
+ end
104
+
105
+ connector.request_body = request
106
+ end
107
+
108
+ begin
109
+ connector.headers[Constants::ZOHO_SDK] = RUBY_PLATFORM + ' Ruby/' + RUBY_VERSION + ':' + Constants::SDK_VERSION
110
+
111
+ response = connector.fire_request(converter_instance)
112
+
113
+ status_code = response.code.to_i
114
+
115
+ headers = response.each_header.to_h
116
+
117
+ is_model = false
118
+
119
+ return_object = nil
120
+
121
+ unless response.body.nil?
122
+ mime_type = headers[Constants::CONTENT_TYPE]
123
+
124
+ mime_type = mime_type.split(';')[0] if mime_type.include? ';'
125
+ converter_instance = get_converter_class_instance(mime_type.to_s.downcase)
126
+
127
+ return_object = converter_instance.get_wrapped_response(response, class_name)
128
+ end
129
+
130
+ unless return_object.nil?
131
+
132
+ is_model = true if (class_name == return_object.class.name) || is_expected_type(return_object, class_name)
133
+ end
134
+ Response::APIResponse.new(headers, status_code, return_object, is_model)
135
+ rescue SDKException => e
136
+ SDKLog::SDKLogger.severe(Constants::API_CALL_EXCEPTION, e)
137
+ raise e
138
+ rescue StandardError => e
139
+ ex = SDKException.new(nil, nil, nil, e)
140
+ SDKLog::SDKLogger.severe(Constants::API_CALL_EXCEPTION, ex)
141
+ raise ex
142
+ end
143
+ end
144
+
145
+ def is_expected_type(model, class_name)
146
+ ancestors = model.class.ancestors
147
+ ancestors.each do |ancestor|
148
+ return true if ancestor.name == class_name
149
+ end
150
+ false
151
+ end
152
+
153
+ # This method is to add an API request parameter.
154
+ # @param param [Param] A Param class instance.
155
+ # @param param_value [Object] An object containing the API request parameter value.
156
+ def add_param(param, param_value)
157
+ if param.is_a? Param
158
+ unless param_value.nil?
159
+ @param = ParameterMap.new if @param.nil?
160
+
161
+ @param.add(param, param_value)
162
+ end
163
+ end
164
+ end
165
+
166
+ def param=(param_instance)
167
+ return if (param_instance==nil)
168
+ @param = ParameterMap.new if @param.nil?
169
+ @param.param_hash = @param.param_hash.merge(param_instance.param_hash)
170
+ end
171
+
172
+ def header=(header_instance)
173
+ return if (header_instance==nil)
174
+ @header = HeaderMap.new if @header.nil?
175
+ @header.header_hash = @header.header_hash.merge(header_instance.header_hash)
176
+ end
177
+
178
+ # This method is to add an API request header.
179
+ # @param header [Header] A Header class instance.
180
+ # @param param_value [Object] An object containing the API request parameter value.
181
+ def add_header(header, header_value)
182
+ if header.is_a? Header
183
+ unless header_value.nil?
184
+
185
+ @header = HeaderMap.new if @header.nil?
186
+
187
+ @header.add(header, header_value)
188
+ end
189
+ end
190
+ end
191
+
192
+ def set_api_url(connector)
193
+ api_path = ''
194
+ initializer = Initializer.get_initializer
195
+ if @api_path.to_s.include? Constants::HTTP
196
+ if @api_path.to_s.include? Constants::CONTENT_API_URL
197
+ api_path = initializer.environment.file_upload_url
198
+ begin
199
+ uri = URI.parse(@api_path)
200
+
201
+ api_path += uri.path
202
+ rescue URI::InvalidURIError => e
203
+ ex = SDKException.new(nil, nil, nil, e)
204
+ SDKLog::SDKLogger.severe(Constants::INVALID_URL_ERROR, ex)
205
+
206
+ raise ex
207
+ end
208
+ else
209
+ @api_path = @api_path.to_s.slice(1..@api_path.to_s.length) if @api_path.to_s.slice(0..0) == '/'
210
+ api_path += @api_path
211
+ end
212
+ else
213
+ api_path += initializer.environment.url
214
+
215
+ api_path += @api_path
216
+ end
217
+ connector.url = api_path
218
+ end
219
+
220
+ # This method is used to get a Converter class instance.
221
+ # @param encode_type [String] A String containing the expected API response content type.
222
+ def get_converter_class_instance(encode_type)
223
+ case encode_type
224
+ when 'application/json', 'text/plain' , 'application/ld+json'
225
+ Util::JSONConverter.new(self)
226
+ when 'application/xml', 'text/xml'
227
+ Util::XMLConverter.new(self)
228
+ when 'multipart/form-data'
229
+ Util::FormDataConverter.new(self)
230
+ when 'image/png','image/jpeg','image/gif','image/tiff','image/svg+xml','image/bmp','image/webp','text/csv','text/html','text/css','text/javascript','text/calendar','application/x-download','application/zip','application/pdf','application/java-archive','application/javascript','application/octet-stream','application/xhtml+xml','application/x-bzip','application/msword','application/vnd.openxmlformats-officedocument.wordprocessingml.document','application/gzip','application/x-httpd-php','application/vnd.ms-powerpoint','application/vnd.rar','application/x-sh','application/x-tar','application/vnd.ms-excel','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/x-7z-compressed','audio/mpeg','audio/x-ms-wma','audio/vnd.rn-realaudio','audio/x-wav','audio/3gpp','audio/3gpp2','video/mpeg','video/mp4','video/webm','video/3gpp','video/3gpp2','font/ttf'
231
+ Util::Downloader.new(self)
232
+ end
233
+ end
234
+ end
235
+ end