ZOHOCRMSDK2_0 1.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 (366) hide show
  1. checksums.yaml +7 -0
  2. data/src/ZOHOCRMSDK2_0.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 +68 -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 +757 -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 +263 -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 +112 -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 +236 -0
  338. data/src/com/zoho/crm/api/util/constants.rb +538 -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 +168 -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 +743 -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 +506 -0
@@ -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,112 @@
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
+
53
+ if request_proxy.nil?
54
+ http = Net::HTTP.new(url.host, url.port)
55
+ else
56
+ proxy_host = request_proxy.host
57
+ proxy_port = request_proxy.port
58
+ proxy_user = nil
59
+ proxy_password = nil
60
+ unless proxy_user.nil?
61
+ proxy_user = request_proxy.user_name
62
+ proxy_password = request_proxy.password
63
+ end
64
+ http = Net::HTTP.new(url.host, url.port, proxy_host, proxy_port, proxy_user, proxy_password)
65
+ SDKLog::SDKLogger.info(proxy_log(request_proxy))
66
+ end
67
+
68
+ http.use_ssl = true
69
+ http.open_timeout = initializer.sdk_config.open_timeout
70
+ http.read_timeout = initializer.sdk_config.read_timeout
71
+ http.write_timeout = initializer.sdk_config.write_timeout
72
+ http.keep_alive_timeout = initializer.sdk_config.keep_alive_timeout
73
+
74
+ if @request_method == Constants::REQUEST_METHOD_GET
75
+ req = Net::HTTP::Get.new(url.request_uri)
76
+ elsif @request_method == Constants::REQUEST_METHOD_POST
77
+ req = Net::HTTP::Post.new(url.request_uri)
78
+ elsif @request_method == Constants::REQUEST_METHOD_PUT
79
+ req = Net::HTTP::Put.new(url.request_uri)
80
+ elsif @request_method == Constants::REQUEST_METHOD_PATCH
81
+ req = Net::HTTP::Patch.new(url.request_uri)
82
+ elsif @request_method == Constants::REQUEST_METHOD_DELETE
83
+ req = Net::HTTP::Delete.new(url.request_uri)
84
+ end
85
+
86
+ set_content_type_header unless @content_type.nil?
87
+
88
+ @headers&.each { |key, value| req.add_field(key, value) }
89
+
90
+ converter_instance.append_to_request(req, @request_body) unless @request_body.nil?
91
+
92
+ SDKLog::SDKLogger.info(to_s)
93
+
94
+ response = http.request(req)
95
+ response
96
+ end
97
+
98
+ def to_s
99
+ req_headers = @headers.clone
100
+ req_headers [Constants::AUTHORIZATION] = Constants::CANT_DISCLOSE
101
+ @request_method + ' - ' + Constants::URL + ' = ' + @url + ', ' + Constants::HEADERS + ' = ' + req_headers.to_s + ', ' + Constants::PARAMS + ' = ' + @parameters.to_s
102
+ end
103
+
104
+ def proxy_log(request_proxy)
105
+ if request_proxy.user_name.nil?
106
+ 'Proxy settings - Host : ' + request_proxy.host + ' , Port : ' + request_proxy.port.to_s
107
+ else
108
+ 'Proxy settings - Host : ' + request_proxy.host + ' , Port : ' + request_proxy.port.to_s + ' , Proxy User : ' + request_proxy.user_name
109
+ end
110
+ end
111
+ end
112
+ 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,236 @@
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
+
92
+ request = nil
93
+
94
+ begin
95
+ converter_instance = get_converter_class_instance(@content_type.to_s.downcase)
96
+ request = converter_instance.form_request(@request, @request.class.name, nil, nil)
97
+ rescue SDKException => e
98
+ SDKLog::SDKLogger.severe(Constants::FORM_REQUEST_EXCEPTION, e)
99
+ raise e
100
+ rescue StandardError => e
101
+ ex = SDKException.new(nil, nil, nil, e)
102
+ SDKLog::SDKLogger.severe(Constants::FORM_REQUEST_EXCEPTION, ex)
103
+ raise ex
104
+ end
105
+
106
+ connector.request_body = request
107
+ end
108
+
109
+ begin
110
+ connector.headers[Constants::ZOHO_SDK] = RUBY_PLATFORM + ' Ruby-' + Constants::ZOHO_API_VERSION + '/' + RUBY_VERSION + ':' + Constants::SDK_VERSION
111
+
112
+ response = connector.fire_request(converter_instance)
113
+
114
+ status_code = response.code.to_i
115
+
116
+ headers = response.each_header.to_h
117
+
118
+ is_model = false
119
+
120
+ return_object = nil
121
+
122
+ unless response.body.nil?
123
+ mime_type = headers[Constants::CONTENT_TYPE]
124
+
125
+ mime_type = mime_type.split(';')[0] if mime_type.include? ';'
126
+ converter_instance = get_converter_class_instance(mime_type.to_s.downcase)
127
+
128
+ return_object = converter_instance.get_wrapped_response(response, class_name)
129
+ end
130
+
131
+ unless return_object.nil?
132
+
133
+ is_model = true if (class_name == return_object.class.name) || is_expected_type(return_object, class_name)
134
+ end
135
+ Response::APIResponse.new(headers, status_code, return_object, is_model)
136
+ rescue SDKException => e
137
+ SDKLog::SDKLogger.severe(Constants::API_CALL_EXCEPTION, e)
138
+ raise e
139
+ rescue StandardError => e
140
+ ex = SDKException.new(nil, nil, nil, e)
141
+ SDKLog::SDKLogger.severe(Constants::API_CALL_EXCEPTION, ex)
142
+ raise ex
143
+ end
144
+ end
145
+
146
+ def is_expected_type(model, class_name)
147
+ ancestors = model.class.ancestors
148
+ ancestors.each do |ancestor|
149
+ return true if ancestor.name == class_name
150
+ end
151
+ false
152
+ end
153
+
154
+ # This method is to add an API request parameter.
155
+ # @param param [Param] A Param class instance.
156
+ # @param param_value [Object] An object containing the API request parameter value.
157
+ def add_param(param, param_value)
158
+ if param.is_a? Param
159
+ unless param_value.nil?
160
+ @param = ParameterMap.new if @param.nil?
161
+
162
+ @param.add(param, param_value)
163
+ end
164
+ end
165
+ end
166
+
167
+ def param=(param_instance)
168
+ return if (param_instance==nil)
169
+ @param = ParameterMap.new if @param.nil?
170
+ @param.param_hash = @param.param_hash.merge(param_instance.param_hash)
171
+ end
172
+
173
+ def header=(header_instance)
174
+ return if (header_instance==nil)
175
+ @header = HeaderMap.new if @header.nil?
176
+ @header.header_hash = @header.header_hash.merge(header_instance.header_hash)
177
+ end
178
+
179
+ # This method is to add an API request header.
180
+ # @param header [Header] A Header class instance.
181
+ # @param param_value [Object] An object containing the API request parameter value.
182
+ def add_header(header, header_value)
183
+ if header.is_a? Header
184
+ unless header_value.nil?
185
+
186
+ @header = HeaderMap.new if @header.nil?
187
+
188
+ @header.add(header, header_value)
189
+ end
190
+ end
191
+ end
192
+
193
+ def set_api_url(connector)
194
+ api_path = ''
195
+ initializer = Initializer.get_initializer
196
+ if @api_path.to_s.include? Constants::HTTP
197
+ if @api_path.to_s.include? Constants::CONTENT_API_URL
198
+ api_path = initializer.environment.file_upload_url
199
+ begin
200
+ uri = URI.parse(@api_path)
201
+
202
+ api_path += uri.path
203
+ rescue URI::InvalidURIError => e
204
+ ex = SDKException.new(nil, nil, nil, e)
205
+ SDKLog::SDKLogger.severe(Constants::INVALID_URL_ERROR, ex)
206
+
207
+ raise ex
208
+ end
209
+ else
210
+ @api_path = @api_path.to_s.slice(1..@api_path.to_s.length) if @api_path.to_s.slice(0..0) == '/'
211
+ api_path += @api_path
212
+ end
213
+ else
214
+ api_path += initializer.environment.url
215
+
216
+ api_path += @api_path
217
+ end
218
+ connector.url = api_path
219
+ end
220
+
221
+ # This method is used to get a Converter class instance.
222
+ # @param encode_type [String] A String containing the expected API response content type.
223
+ def get_converter_class_instance(encode_type)
224
+ case encode_type
225
+ when 'application/json', 'text/plain' , 'application/ld+json'
226
+ Util::JSONConverter.new(self)
227
+ when 'application/xml', 'text/xml'
228
+ Util::XMLConverter.new(self)
229
+ when 'multipart/form-data'
230
+ Util::FormDataConverter.new(self)
231
+ 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'
232
+ Util::Downloader.new(self)
233
+ end
234
+ end
235
+ end
236
+ end