ZCRMSDK 1.0.2 → 3.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (462) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZCRMSDK.rb +445 -0
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +273 -0
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +169 -0
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +213 -0
  6. data/src/com/zoho/api/authenticator/store/token_store.rb +33 -0
  7. data/src/com/zoho/api/authenticator/token.rb +10 -0
  8. data/src/com/zoho/api/logger/sdk_logger.rb +78 -0
  9. data/src/com/zoho/crm/api/assignment_rules/api_exception.rb +121 -0
  10. data/src/com/zoho/crm/api/assignment_rules/assignment_rule.rb +215 -0
  11. data/src/com/zoho/crm/api/assignment_rules/assignment_rules_operations.rb +61 -0
  12. data/src/com/zoho/crm/api/assignment_rules/default_user.rb +80 -0
  13. data/src/com/zoho/crm/api/assignment_rules/response_handler.rb +10 -0
  14. data/src/com/zoho/crm/api/assignment_rules/response_wrapper.rb +63 -0
  15. data/src/com/zoho/crm/api/attachments/action_handler.rb +10 -0
  16. data/src/com/zoho/crm/api/attachments/action_response.rb +10 -0
  17. data/src/com/zoho/crm/api/attachments/action_wrapper.rb +63 -0
  18. data/src/com/zoho/crm/api/attachments/api_exception.rb +125 -0
  19. data/src/com/zoho/crm/api/attachments/attachment.rb +367 -0
  20. data/src/com/zoho/crm/api/attachments/attachments_operations.rb +196 -0
  21. data/src/com/zoho/crm/api/attachments/file_body_wrapper.rb +64 -0
  22. data/src/com/zoho/crm/api/attachments/response_handler.rb +10 -0
  23. data/src/com/zoho/crm/api/attachments/response_wrapper.rb +83 -0
  24. data/src/com/zoho/crm/api/attachments/success_response.rb +121 -0
  25. data/src/com/zoho/crm/api/blue_print/action_response.rb +10 -0
  26. data/src/com/zoho/crm/api/blue_print/api_exception.rb +123 -0
  27. data/src/com/zoho/crm/api/blue_print/blue_print.rb +119 -0
  28. data/src/com/zoho/crm/api/blue_print/blue_print_operations.rb +67 -0
  29. data/src/com/zoho/crm/api/blue_print/body_wrapper.rb +61 -0
  30. data/src/com/zoho/crm/api/blue_print/escalation.rb +80 -0
  31. data/src/com/zoho/crm/api/blue_print/field.rb +1107 -0
  32. data/src/com/zoho/crm/api/blue_print/next_transition.rb +118 -0
  33. data/src/com/zoho/crm/api/blue_print/process_info.rb +251 -0
  34. data/src/com/zoho/crm/api/blue_print/response_handler.rb +10 -0
  35. data/src/com/zoho/crm/api/blue_print/response_wrapper.rb +63 -0
  36. data/src/com/zoho/crm/api/blue_print/success_response.rb +121 -0
  37. data/src/com/zoho/crm/api/blue_print/transition.rb +271 -0
  38. data/src/com/zoho/crm/api/blue_print/validation_error.rb +137 -0
  39. data/src/com/zoho/crm/api/bulk_read/action_handler.rb +10 -0
  40. data/src/com/zoho/crm/api/bulk_read/action_response.rb +10 -0
  41. data/src/com/zoho/crm/api/bulk_read/action_wrapper.rb +82 -0
  42. data/src/com/zoho/crm/api/bulk_read/api_exception.rb +125 -0
  43. data/src/com/zoho/crm/api/bulk_read/bulk_read_operations.rb +74 -0
  44. data/src/com/zoho/crm/api/bulk_read/call_back.rb +81 -0
  45. data/src/com/zoho/crm/api/bulk_read/criteria.rb +155 -0
  46. data/src/com/zoho/crm/api/bulk_read/file_body_wrapper.rb +64 -0
  47. data/src/com/zoho/crm/api/bulk_read/job_detail.rb +196 -0
  48. data/src/com/zoho/crm/api/bulk_read/query.rb +138 -0
  49. data/src/com/zoho/crm/api/bulk_read/request_wrapper.rb +100 -0
  50. data/src/com/zoho/crm/api/bulk_read/response_handler.rb +10 -0
  51. data/src/com/zoho/crm/api/bulk_read/response_wrapper.rb +63 -0
  52. data/src/com/zoho/crm/api/bulk_read/result.rb +137 -0
  53. data/src/com/zoho/crm/api/bulk_read/success_response.rb +121 -0
  54. data/src/com/zoho/crm/api/bulk_write/action_response.rb +10 -0
  55. data/src/com/zoho/crm/api/bulk_write/api_exception.rb +239 -0
  56. data/src/com/zoho/crm/api/bulk_write/bulk_write_operations.rb +112 -0
  57. data/src/com/zoho/crm/api/bulk_write/bulk_write_response.rb +216 -0
  58. data/src/com/zoho/crm/api/bulk_write/call_back.rb +81 -0
  59. data/src/com/zoho/crm/api/bulk_write/field_mapping.rb +156 -0
  60. data/src/com/zoho/crm/api/bulk_write/file.rb +157 -0
  61. data/src/com/zoho/crm/api/bulk_write/file_body_wrapper.rb +64 -0
  62. data/src/com/zoho/crm/api/bulk_write/request_wrapper.rb +119 -0
  63. data/src/com/zoho/crm/api/bulk_write/resource.rb +215 -0
  64. data/src/com/zoho/crm/api/bulk_write/response_handler.rb +10 -0
  65. data/src/com/zoho/crm/api/bulk_write/response_wrapper.rb +10 -0
  66. data/src/com/zoho/crm/api/bulk_write/result.rb +61 -0
  67. data/src/com/zoho/crm/api/bulk_write/success_response.rb +121 -0
  68. data/src/com/zoho/crm/api/contact_roles/action_handler.rb +10 -0
  69. data/src/com/zoho/crm/api/contact_roles/action_response.rb +10 -0
  70. data/src/com/zoho/crm/api/contact_roles/action_wrapper.rb +63 -0
  71. data/src/com/zoho/crm/api/contact_roles/api_exception.rb +125 -0
  72. data/src/com/zoho/crm/api/contact_roles/body_wrapper.rb +61 -0
  73. data/src/com/zoho/crm/api/contact_roles/contact_role.rb +99 -0
  74. data/src/com/zoho/crm/api/contact_roles/contact_roles_operations.rb +161 -0
  75. data/src/com/zoho/crm/api/contact_roles/response_handler.rb +10 -0
  76. data/src/com/zoho/crm/api/contact_roles/response_wrapper.rb +63 -0
  77. data/src/com/zoho/crm/api/contact_roles/success_response.rb +121 -0
  78. data/src/com/zoho/crm/api/currencies/action_handler.rb +10 -0
  79. data/src/com/zoho/crm/api/currencies/action_response.rb +10 -0
  80. data/src/com/zoho/crm/api/currencies/action_wrapper.rb +63 -0
  81. data/src/com/zoho/crm/api/currencies/api_exception.rb +127 -0
  82. data/src/com/zoho/crm/api/currencies/base_currency_action_handler.rb +10 -0
  83. data/src/com/zoho/crm/api/currencies/base_currency_action_wrapper.rb +63 -0
  84. data/src/com/zoho/crm/api/currencies/base_currency_wrapper.rb +61 -0
  85. data/src/com/zoho/crm/api/currencies/body_wrapper.rb +61 -0
  86. data/src/com/zoho/crm/api/currencies/currencies_operations.rb +156 -0
  87. data/src/com/zoho/crm/api/currencies/currency.rb +290 -0
  88. data/src/com/zoho/crm/api/currencies/format.rb +100 -0
  89. data/src/com/zoho/crm/api/currencies/response_handler.rb +10 -0
  90. data/src/com/zoho/crm/api/currencies/response_wrapper.rb +63 -0
  91. data/src/com/zoho/crm/api/currencies/success_response.rb +121 -0
  92. data/src/com/zoho/crm/api/custom_views/api_exception.rb +121 -0
  93. data/src/com/zoho/crm/api/custom_views/criteria.rb +136 -0
  94. data/src/com/zoho/crm/api/custom_views/custom_view.rb +386 -0
  95. data/src/com/zoho/crm/api/custom_views/custom_views_operations.rb +75 -0
  96. data/src/com/zoho/crm/api/custom_views/info.rb +156 -0
  97. data/src/com/zoho/crm/api/custom_views/range.rb +80 -0
  98. data/src/com/zoho/crm/api/custom_views/response_handler.rb +10 -0
  99. data/src/com/zoho/crm/api/custom_views/response_wrapper.rb +82 -0
  100. data/src/com/zoho/crm/api/custom_views/shared_to.rb +118 -0
  101. data/src/com/zoho/crm/api/custom_views/translation.rb +118 -0
  102. data/src/com/zoho/crm/api/dc/au_datacenter.rb +18 -0
  103. data/src/com/zoho/crm/api/dc/cn_datacenter.rb +18 -0
  104. data/src/com/zoho/crm/api/dc/datacenter.rb +21 -0
  105. data/src/com/zoho/crm/api/dc/eu_datacenter.rb +18 -0
  106. data/src/com/zoho/crm/api/dc/in_datacenter.rb +18 -0
  107. data/src/com/zoho/crm/api/dc/us_datacenter.rb +18 -0
  108. data/src/com/zoho/crm/api/email_templates/api_exception.rb +121 -0
  109. data/src/com/zoho/crm/api/email_templates/attachment.rb +118 -0
  110. data/src/com/zoho/crm/api/email_templates/email_template.rb +390 -0
  111. data/src/com/zoho/crm/api/email_templates/email_templates_operations.rb +61 -0
  112. data/src/com/zoho/crm/api/email_templates/response_handler.rb +10 -0
  113. data/src/com/zoho/crm/api/email_templates/response_wrapper.rb +83 -0
  114. data/src/com/zoho/crm/api/exception/sdk_exception.rb +47 -0
  115. data/src/com/zoho/crm/api/field_attachments/api_exception.rb +121 -0
  116. data/src/com/zoho/crm/api/field_attachments/body_wrapper.rb +62 -0
  117. data/src/com/zoho/crm/api/field_attachments/field_attachments_operations.rb +52 -0
  118. data/src/com/zoho/crm/api/field_attachments/file_body_wrapper.rb +64 -0
  119. data/src/com/zoho/crm/api/field_attachments/response_handler.rb +10 -0
  120. data/src/com/zoho/crm/api/fields/api_exception.rb +121 -0
  121. data/src/com/zoho/crm/api/fields/association_details.rb +80 -0
  122. data/src/com/zoho/crm/api/fields/auto_number.rb +99 -0
  123. data/src/com/zoho/crm/api/fields/crypt.rb +156 -0
  124. data/src/com/zoho/crm/api/fields/currency.rb +80 -0
  125. data/src/com/zoho/crm/api/fields/external.rb +99 -0
  126. data/src/com/zoho/crm/api/fields/field.rb +1110 -0
  127. data/src/com/zoho/crm/api/fields/fields_operations.rb +71 -0
  128. data/src/com/zoho/crm/api/fields/formula.rb +80 -0
  129. data/src/com/zoho/crm/api/fields/history_tracking.rb +80 -0
  130. data/src/com/zoho/crm/api/fields/lookup_field.rb +80 -0
  131. data/src/com/zoho/crm/api/fields/maps.rb +80 -0
  132. data/src/com/zoho/crm/api/fields/module.rb +157 -0
  133. data/src/com/zoho/crm/api/fields/multi_select_lookup.rb +175 -0
  134. data/src/com/zoho/crm/api/fields/multi_user_lookup.rb +175 -0
  135. data/src/com/zoho/crm/api/fields/pick_list_value.rb +194 -0
  136. data/src/com/zoho/crm/api/fields/private.rb +99 -0
  137. data/src/com/zoho/crm/api/fields/related_details.rb +156 -0
  138. data/src/com/zoho/crm/api/fields/response_handler.rb +10 -0
  139. data/src/com/zoho/crm/api/fields/response_wrapper.rb +63 -0
  140. data/src/com/zoho/crm/api/fields/tool_tip.rb +80 -0
  141. data/src/com/zoho/crm/api/fields/unique.rb +61 -0
  142. data/src/com/zoho/crm/api/fields/view_type.rb +118 -0
  143. data/src/com/zoho/crm/api/files/action_handler.rb +10 -0
  144. data/src/com/zoho/crm/api/files/action_response.rb +10 -0
  145. data/src/com/zoho/crm/api/files/action_wrapper.rb +63 -0
  146. data/src/com/zoho/crm/api/files/api_exception.rb +125 -0
  147. data/src/com/zoho/crm/api/files/body_wrapper.rb +62 -0
  148. data/src/com/zoho/crm/api/files/file_body_wrapper.rb +64 -0
  149. data/src/com/zoho/crm/api/files/file_operations.rb +75 -0
  150. data/src/com/zoho/crm/api/files/response_handler.rb +10 -0
  151. data/src/com/zoho/crm/api/files/success_response.rb +121 -0
  152. data/src/com/zoho/crm/api/header.rb +10 -0
  153. data/src/com/zoho/crm/api/header_map.rb +55 -0
  154. data/src/com/zoho/crm/api/initializer.rb +217 -0
  155. data/src/com/zoho/crm/api/inventory_templates/api_exception.rb +121 -0
  156. data/src/com/zoho/crm/api/inventory_templates/inventory_template.rb +352 -0
  157. data/src/com/zoho/crm/api/inventory_templates/inventory_templates_operations.rb +82 -0
  158. data/src/com/zoho/crm/api/inventory_templates/response_handler.rb +10 -0
  159. data/src/com/zoho/crm/api/inventory_templates/response_wrapper.rb +83 -0
  160. data/src/com/zoho/crm/api/layouts/api_exception.rb +121 -0
  161. data/src/com/zoho/crm/api/layouts/layout.rb +310 -0
  162. data/src/com/zoho/crm/api/layouts/layouts_operations.rb +61 -0
  163. data/src/com/zoho/crm/api/layouts/properties.rb +100 -0
  164. data/src/com/zoho/crm/api/layouts/response_handler.rb +10 -0
  165. data/src/com/zoho/crm/api/layouts/response_wrapper.rb +63 -0
  166. data/src/com/zoho/crm/api/layouts/section.rb +252 -0
  167. data/src/com/zoho/crm/api/modules/action_handler.rb +10 -0
  168. data/src/com/zoho/crm/api/modules/action_response.rb +10 -0
  169. data/src/com/zoho/crm/api/modules/action_wrapper.rb +63 -0
  170. data/src/com/zoho/crm/api/modules/api_exception.rb +125 -0
  171. data/src/com/zoho/crm/api/modules/argument.rb +80 -0
  172. data/src/com/zoho/crm/api/modules/body_wrapper.rb +61 -0
  173. data/src/com/zoho/crm/api/modules/module.rb +939 -0
  174. data/src/com/zoho/crm/api/modules/modules_operations.rb +111 -0
  175. data/src/com/zoho/crm/api/modules/related_list_properties.rb +99 -0
  176. data/src/com/zoho/crm/api/modules/response_handler.rb +10 -0
  177. data/src/com/zoho/crm/api/modules/response_wrapper.rb +63 -0
  178. data/src/com/zoho/crm/api/modules/success_response.rb +121 -0
  179. data/src/com/zoho/crm/api/modules/territory.rb +99 -0
  180. data/src/com/zoho/crm/api/notes/action_handler.rb +10 -0
  181. data/src/com/zoho/crm/api/notes/action_response.rb +10 -0
  182. data/src/com/zoho/crm/api/notes/action_wrapper.rb +63 -0
  183. data/src/com/zoho/crm/api/notes/api_exception.rb +125 -0
  184. data/src/com/zoho/crm/api/notes/body_wrapper.rb +61 -0
  185. data/src/com/zoho/crm/api/notes/info.rb +118 -0
  186. data/src/com/zoho/crm/api/notes/note.rb +349 -0
  187. data/src/com/zoho/crm/api/notes/notes_operations.rb +219 -0
  188. data/src/com/zoho/crm/api/notes/response_handler.rb +10 -0
  189. data/src/com/zoho/crm/api/notes/response_wrapper.rb +82 -0
  190. data/src/com/zoho/crm/api/notes/success_response.rb +121 -0
  191. data/src/com/zoho/crm/api/notification/action_handler.rb +10 -0
  192. data/src/com/zoho/crm/api/notification/action_response.rb +10 -0
  193. data/src/com/zoho/crm/api/notification/action_wrapper.rb +63 -0
  194. data/src/com/zoho/crm/api/notification/api_exception.rb +125 -0
  195. data/src/com/zoho/crm/api/notification/body_wrapper.rb +61 -0
  196. data/src/com/zoho/crm/api/notification/info.rb +118 -0
  197. data/src/com/zoho/crm/api/notification/notification.rb +251 -0
  198. data/src/com/zoho/crm/api/notification/notification_operations.rb +164 -0
  199. data/src/com/zoho/crm/api/notification/response_handler.rb +10 -0
  200. data/src/com/zoho/crm/api/notification/response_wrapper.rb +82 -0
  201. data/src/com/zoho/crm/api/notification/success_response.rb +121 -0
  202. data/src/com/zoho/crm/api/org/action_response.rb +10 -0
  203. data/src/com/zoho/crm/api/org/api_exception.rb +123 -0
  204. data/src/com/zoho/crm/api/org/file_body_wrapper.rb +62 -0
  205. data/src/com/zoho/crm/api/org/license_details.rb +156 -0
  206. data/src/com/zoho/crm/api/org/org.rb +631 -0
  207. data/src/com/zoho/crm/api/org/org_operations.rb +49 -0
  208. data/src/com/zoho/crm/api/org/response_handler.rb +10 -0
  209. data/src/com/zoho/crm/api/org/response_wrapper.rb +63 -0
  210. data/src/com/zoho/crm/api/org/success_response.rb +121 -0
  211. data/src/com/zoho/crm/api/param.rb +10 -0
  212. data/src/com/zoho/crm/api/parameter_map.rb +54 -0
  213. data/src/com/zoho/crm/api/pipeline/action_handler.rb +10 -0
  214. data/src/com/zoho/crm/api/pipeline/action_response.rb +10 -0
  215. data/src/com/zoho/crm/api/pipeline/action_wrapper.rb +63 -0
  216. data/src/com/zoho/crm/api/pipeline/api_exception.rb +129 -0
  217. data/src/com/zoho/crm/api/pipeline/body_wrapper.rb +61 -0
  218. data/src/com/zoho/crm/api/pipeline/forecast_category.rb +80 -0
  219. data/src/com/zoho/crm/api/pipeline/pick_list_value.rb +175 -0
  220. data/src/com/zoho/crm/api/pipeline/pipeline.rb +213 -0
  221. data/src/com/zoho/crm/api/pipeline/pipeline_operations.rb +165 -0
  222. data/src/com/zoho/crm/api/pipeline/response_handler.rb +10 -0
  223. data/src/com/zoho/crm/api/pipeline/response_wrapper.rb +63 -0
  224. data/src/com/zoho/crm/api/pipeline/stage.rb +80 -0
  225. data/src/com/zoho/crm/api/pipeline/success_response.rb +123 -0
  226. data/src/com/zoho/crm/api/pipeline/transfer_action_handler.rb +10 -0
  227. data/src/com/zoho/crm/api/pipeline/transfer_action_response.rb +10 -0
  228. data/src/com/zoho/crm/api/pipeline/transfer_action_wrapper.rb +63 -0
  229. data/src/com/zoho/crm/api/pipeline/transfer_and_delete_wrapper.rb +61 -0
  230. data/src/com/zoho/crm/api/pipeline/transfer_pipe_line.rb +80 -0
  231. data/src/com/zoho/crm/api/profiles/api_exception.rb +121 -0
  232. data/src/com/zoho/crm/api/profiles/category.rb +99 -0
  233. data/src/com/zoho/crm/api/profiles/default_view.rb +99 -0
  234. data/src/com/zoho/crm/api/profiles/permission_detail.rb +137 -0
  235. data/src/com/zoho/crm/api/profiles/profile.rb +347 -0
  236. data/src/com/zoho/crm/api/profiles/profiles_operations.rb +61 -0
  237. data/src/com/zoho/crm/api/profiles/response_handler.rb +10 -0
  238. data/src/com/zoho/crm/api/profiles/response_wrapper.rb +63 -0
  239. data/src/com/zoho/crm/api/profiles/section.rb +80 -0
  240. data/src/com/zoho/crm/api/query/api_exception.rb +121 -0
  241. data/src/com/zoho/crm/api/query/body_wrapper.rb +61 -0
  242. data/src/com/zoho/crm/api/query/query_operations.rb +35 -0
  243. data/src/com/zoho/crm/api/query/response_handler.rb +10 -0
  244. data/src/com/zoho/crm/api/query/response_wrapper.rb +84 -0
  245. data/src/com/zoho/crm/api/record/action_handler.rb +10 -0
  246. data/src/com/zoho/crm/api/record/action_response.rb +10 -0
  247. data/src/com/zoho/crm/api/record/action_wrapper.rb +63 -0
  248. data/src/com/zoho/crm/api/record/api_exception.rb +145 -0
  249. data/src/com/zoho/crm/api/record/body_wrapper.rb +137 -0
  250. data/src/com/zoho/crm/api/record/carry_over_tags.rb +99 -0
  251. data/src/com/zoho/crm/api/record/comment.rb +118 -0
  252. data/src/com/zoho/crm/api/record/consent.rb +185 -0
  253. data/src/com/zoho/crm/api/record/convert_action_handler.rb +10 -0
  254. data/src/com/zoho/crm/api/record/convert_action_response.rb +10 -0
  255. data/src/com/zoho/crm/api/record/convert_action_wrapper.rb +63 -0
  256. data/src/com/zoho/crm/api/record/convert_body_wrapper.rb +61 -0
  257. data/src/com/zoho/crm/api/record/count_handler.rb +10 -0
  258. data/src/com/zoho/crm/api/record/count_wrapper.rb +63 -0
  259. data/src/com/zoho/crm/api/record/criteria.rb +135 -0
  260. data/src/com/zoho/crm/api/record/deleted_record.rb +157 -0
  261. data/src/com/zoho/crm/api/record/deleted_records_handler.rb +10 -0
  262. data/src/com/zoho/crm/api/record/deleted_records_wrapper.rb +82 -0
  263. data/src/com/zoho/crm/api/record/download_handler.rb +10 -0
  264. data/src/com/zoho/crm/api/record/field.rb +2110 -0
  265. data/src/com/zoho/crm/api/record/file_body_wrapper.rb +66 -0
  266. data/src/com/zoho/crm/api/record/file_details.rb +327 -0
  267. data/src/com/zoho/crm/api/record/file_handler.rb +10 -0
  268. data/src/com/zoho/crm/api/record/image_upload.rb +213 -0
  269. data/src/com/zoho/crm/api/record/info.rb +118 -0
  270. data/src/com/zoho/crm/api/record/inventory_line_items.rb +252 -0
  271. data/src/com/zoho/crm/api/record/lead_converter.rb +194 -0
  272. data/src/com/zoho/crm/api/record/line_item_product.rb +65 -0
  273. data/src/com/zoho/crm/api/record/line_tax.rb +118 -0
  274. data/src/com/zoho/crm/api/record/mass_update.rb +140 -0
  275. data/src/com/zoho/crm/api/record/mass_update_action_handler.rb +10 -0
  276. data/src/com/zoho/crm/api/record/mass_update_action_response.rb +10 -0
  277. data/src/com/zoho/crm/api/record/mass_update_action_wrapper.rb +63 -0
  278. data/src/com/zoho/crm/api/record/mass_update_body_wrapper.rb +156 -0
  279. data/src/com/zoho/crm/api/record/mass_update_response.rb +10 -0
  280. data/src/com/zoho/crm/api/record/mass_update_response_handler.rb +10 -0
  281. data/src/com/zoho/crm/api/record/mass_update_response_wrapper.rb +63 -0
  282. data/src/com/zoho/crm/api/record/mass_update_success_response.rb +121 -0
  283. data/src/com/zoho/crm/api/record/mass_update_territory.rb +80 -0
  284. data/src/com/zoho/crm/api/record/multi_select_lookup.rb +99 -0
  285. data/src/com/zoho/crm/api/record/multi_select_picklist.rb +80 -0
  286. data/src/com/zoho/crm/api/record/options.rb +10 -0
  287. data/src/com/zoho/crm/api/record/participants.rb +116 -0
  288. data/src/com/zoho/crm/api/record/price_book.rb +31 -0
  289. data/src/com/zoho/crm/api/record/pricing_details.rb +65 -0
  290. data/src/com/zoho/crm/api/record/record.rb +192 -0
  291. data/src/com/zoho/crm/api/record/record_operations.rb +847 -0
  292. data/src/com/zoho/crm/api/record/recurring_activity.rb +61 -0
  293. data/src/com/zoho/crm/api/record/remind_at.rb +61 -0
  294. data/src/com/zoho/crm/api/record/reminder.rb +80 -0
  295. data/src/com/zoho/crm/api/record/response_handler.rb +10 -0
  296. data/src/com/zoho/crm/api/record/response_wrapper.rb +82 -0
  297. data/src/com/zoho/crm/api/record/success_response.rb +161 -0
  298. data/src/com/zoho/crm/api/record/successful_convert.rb +101 -0
  299. data/src/com/zoho/crm/api/record/tax.rb +80 -0
  300. data/src/com/zoho/crm/api/record/territory.rb +138 -0
  301. data/src/com/zoho/crm/api/record/widget.rb +80 -0
  302. data/src/com/zoho/crm/api/record/wizard.rb +80 -0
  303. data/src/com/zoho/crm/api/related_lists/api_exception.rb +121 -0
  304. data/src/com/zoho/crm/api/related_lists/related_list.rb +251 -0
  305. data/src/com/zoho/crm/api/related_lists/related_lists_operations.rb +61 -0
  306. data/src/com/zoho/crm/api/related_lists/response_handler.rb +10 -0
  307. data/src/com/zoho/crm/api/related_lists/response_wrapper.rb +63 -0
  308. data/src/com/zoho/crm/api/related_records/action_handler.rb +10 -0
  309. data/src/com/zoho/crm/api/related_records/action_response.rb +10 -0
  310. data/src/com/zoho/crm/api/related_records/action_wrapper.rb +63 -0
  311. data/src/com/zoho/crm/api/related_records/api_exception.rb +125 -0
  312. data/src/com/zoho/crm/api/related_records/body_wrapper.rb +62 -0
  313. data/src/com/zoho/crm/api/related_records/file_body_wrapper.rb +64 -0
  314. data/src/com/zoho/crm/api/related_records/related_records_operations.rb +235 -0
  315. data/src/com/zoho/crm/api/related_records/response_handler.rb +10 -0
  316. data/src/com/zoho/crm/api/related_records/response_wrapper.rb +84 -0
  317. data/src/com/zoho/crm/api/related_records/success_response.rb +121 -0
  318. data/src/com/zoho/crm/api/request_proxy.rb +15 -0
  319. data/src/com/zoho/crm/api/roles/api_exception.rb +121 -0
  320. data/src/com/zoho/crm/api/roles/response_handler.rb +10 -0
  321. data/src/com/zoho/crm/api/roles/response_wrapper.rb +63 -0
  322. data/src/com/zoho/crm/api/roles/role.rb +195 -0
  323. data/src/com/zoho/crm/api/roles/roles_operations.rb +47 -0
  324. data/src/com/zoho/crm/api/sdk_config.rb +12 -0
  325. data/src/com/zoho/crm/api/send_mail/action_handler.rb +10 -0
  326. data/src/com/zoho/crm/api/send_mail/action_response.rb +10 -0
  327. data/src/com/zoho/crm/api/send_mail/action_wrapper.rb +63 -0
  328. data/src/com/zoho/crm/api/send_mail/api_exception.rb +125 -0
  329. data/src/com/zoho/crm/api/send_mail/body_wrapper.rb +61 -0
  330. data/src/com/zoho/crm/api/send_mail/data_subject_request.rb +80 -0
  331. data/src/com/zoho/crm/api/send_mail/inventory_details.rb +100 -0
  332. data/src/com/zoho/crm/api/send_mail/mail.rb +423 -0
  333. data/src/com/zoho/crm/api/send_mail/response_handler.rb +10 -0
  334. data/src/com/zoho/crm/api/send_mail/response_wrapper.rb +63 -0
  335. data/src/com/zoho/crm/api/send_mail/send_mail_operations.rb +61 -0
  336. data/src/com/zoho/crm/api/send_mail/success_response.rb +121 -0
  337. data/src/com/zoho/crm/api/send_mail/template.rb +10 -0
  338. data/src/com/zoho/crm/api/send_mail/user_address.rb +137 -0
  339. data/src/com/zoho/crm/api/share_records/action_handler.rb +10 -0
  340. data/src/com/zoho/crm/api/share_records/action_response.rb +10 -0
  341. data/src/com/zoho/crm/api/share_records/action_wrapper.rb +63 -0
  342. data/src/com/zoho/crm/api/share_records/api_exception.rb +129 -0
  343. data/src/com/zoho/crm/api/share_records/body_wrapper.rb +61 -0
  344. data/src/com/zoho/crm/api/share_records/delete_action_handler.rb +10 -0
  345. data/src/com/zoho/crm/api/share_records/delete_action_response.rb +10 -0
  346. data/src/com/zoho/crm/api/share_records/delete_action_wrapper.rb +63 -0
  347. data/src/com/zoho/crm/api/share_records/response_handler.rb +10 -0
  348. data/src/com/zoho/crm/api/share_records/response_wrapper.rb +83 -0
  349. data/src/com/zoho/crm/api/share_records/share_record.rb +157 -0
  350. data/src/com/zoho/crm/api/share_records/share_records_operations.rb +128 -0
  351. data/src/com/zoho/crm/api/share_records/shared_through.rb +100 -0
  352. data/src/com/zoho/crm/api/share_records/success_response.rb +123 -0
  353. data/src/com/zoho/crm/api/tags/action_handler.rb +10 -0
  354. data/src/com/zoho/crm/api/tags/action_response.rb +10 -0
  355. data/src/com/zoho/crm/api/tags/action_wrapper.rb +63 -0
  356. data/src/com/zoho/crm/api/tags/api_exception.rb +131 -0
  357. data/src/com/zoho/crm/api/tags/body_wrapper.rb +61 -0
  358. data/src/com/zoho/crm/api/tags/conflict_wrapper.rb +61 -0
  359. data/src/com/zoho/crm/api/tags/count_handler.rb +10 -0
  360. data/src/com/zoho/crm/api/tags/count_wrapper.rb +63 -0
  361. data/src/com/zoho/crm/api/tags/info.rb +80 -0
  362. data/src/com/zoho/crm/api/tags/merge_wrapper.rb +61 -0
  363. data/src/com/zoho/crm/api/tags/record_action_handler.rb +10 -0
  364. data/src/com/zoho/crm/api/tags/record_action_response.rb +10 -0
  365. data/src/com/zoho/crm/api/tags/record_action_wrapper.rb +120 -0
  366. data/src/com/zoho/crm/api/tags/response_handler.rb +10 -0
  367. data/src/com/zoho/crm/api/tags/response_wrapper.rb +82 -0
  368. data/src/com/zoho/crm/api/tags/success_response.rb +123 -0
  369. data/src/com/zoho/crm/api/tags/tag.rb +176 -0
  370. data/src/com/zoho/crm/api/tags/tags_operations.rb +387 -0
  371. data/src/com/zoho/crm/api/taxes/action_handler.rb +10 -0
  372. data/src/com/zoho/crm/api/taxes/action_response.rb +10 -0
  373. data/src/com/zoho/crm/api/taxes/action_wrapper.rb +63 -0
  374. data/src/com/zoho/crm/api/taxes/api_exception.rb +125 -0
  375. data/src/com/zoho/crm/api/taxes/body_wrapper.rb +61 -0
  376. data/src/com/zoho/crm/api/taxes/preference.rb +80 -0
  377. data/src/com/zoho/crm/api/taxes/response_handler.rb +10 -0
  378. data/src/com/zoho/crm/api/taxes/response_wrapper.rb +82 -0
  379. data/src/com/zoho/crm/api/taxes/success_response.rb +121 -0
  380. data/src/com/zoho/crm/api/taxes/tax.rb +137 -0
  381. data/src/com/zoho/crm/api/taxes/taxes_operations.rb +136 -0
  382. data/src/com/zoho/crm/api/territories/api_exception.rb +121 -0
  383. data/src/com/zoho/crm/api/territories/response_handler.rb +10 -0
  384. data/src/com/zoho/crm/api/territories/response_wrapper.rb +83 -0
  385. data/src/com/zoho/crm/api/territories/territories_operations.rb +47 -0
  386. data/src/com/zoho/crm/api/territories/territory.rb +272 -0
  387. data/src/com/zoho/crm/api/user_signature.rb +27 -0
  388. data/src/com/zoho/crm/api/users/action_handler.rb +10 -0
  389. data/src/com/zoho/crm/api/users/action_response.rb +10 -0
  390. data/src/com/zoho/crm/api/users/action_wrapper.rb +63 -0
  391. data/src/com/zoho/crm/api/users/api_exception.rb +125 -0
  392. data/src/com/zoho/crm/api/users/body_wrapper.rb +61 -0
  393. data/src/com/zoho/crm/api/users/customize_info.rb +156 -0
  394. data/src/com/zoho/crm/api/users/info.rb +118 -0
  395. data/src/com/zoho/crm/api/users/request_wrapper.rb +61 -0
  396. data/src/com/zoho/crm/api/users/response_handler.rb +10 -0
  397. data/src/com/zoho/crm/api/users/response_wrapper.rb +82 -0
  398. data/src/com/zoho/crm/api/users/shift.rb +80 -0
  399. data/src/com/zoho/crm/api/users/success_response.rb +121 -0
  400. data/src/com/zoho/crm/api/users/tab_theme.rb +80 -0
  401. data/src/com/zoho/crm/api/users/territory.rb +99 -0
  402. data/src/com/zoho/crm/api/users/theme.rb +156 -0
  403. data/src/com/zoho/crm/api/users/user.rb +696 -0
  404. data/src/com/zoho/crm/api/users/users_operations.rb +181 -0
  405. data/src/com/zoho/crm/api/util/api_http_connector.rb +112 -0
  406. data/src/com/zoho/crm/api/util/api_response.rb +16 -0
  407. data/src/com/zoho/crm/api/util/choice.rb +9 -0
  408. data/src/com/zoho/crm/api/util/common_api_handler.rb +235 -0
  409. data/src/com/zoho/crm/api/util/constants.rb +663 -0
  410. data/src/com/zoho/crm/api/util/converter.rb +230 -0
  411. data/src/com/zoho/crm/api/util/data_type_converter.rb +162 -0
  412. data/src/com/zoho/crm/api/util/downloader.rb +83 -0
  413. data/src/com/zoho/crm/api/util/form_data_converter.rb +156 -0
  414. data/src/com/zoho/crm/api/util/header_param_validator.rb +55 -0
  415. data/src/com/zoho/crm/api/util/json_converter.rb +726 -0
  416. data/src/com/zoho/crm/api/util/model.rb +5 -0
  417. data/src/com/zoho/crm/api/util/module_fields_handler.rb +78 -0
  418. data/src/com/zoho/crm/api/util/stream_wrapper.rb +37 -0
  419. data/src/com/zoho/crm/api/util/utility.rb +883 -0
  420. data/src/com/zoho/crm/api/variable_groups/api_exception.rb +121 -0
  421. data/src/com/zoho/crm/api/variable_groups/response_handler.rb +10 -0
  422. data/src/com/zoho/crm/api/variable_groups/response_wrapper.rb +63 -0
  423. data/src/com/zoho/crm/api/variable_groups/variable_group.rb +137 -0
  424. data/src/com/zoho/crm/api/variable_groups/variable_groups_operations.rb +66 -0
  425. data/src/com/zoho/crm/api/variables/action_handler.rb +10 -0
  426. data/src/com/zoho/crm/api/variables/action_response.rb +10 -0
  427. data/src/com/zoho/crm/api/variables/action_wrapper.rb +63 -0
  428. data/src/com/zoho/crm/api/variables/api_exception.rb +125 -0
  429. data/src/com/zoho/crm/api/variables/body_wrapper.rb +61 -0
  430. data/src/com/zoho/crm/api/variables/response_handler.rb +10 -0
  431. data/src/com/zoho/crm/api/variables/response_wrapper.rb +63 -0
  432. data/src/com/zoho/crm/api/variables/success_response.rb +121 -0
  433. data/src/com/zoho/crm/api/variables/variable.rb +173 -0
  434. data/src/com/zoho/crm/api/variables/variables_operations.rb +241 -0
  435. data/src/com/zoho/crm/api/wizards/api_exception.rb +121 -0
  436. data/src/com/zoho/crm/api/wizards/button.rb +214 -0
  437. data/src/com/zoho/crm/api/wizards/chart_data.rb +118 -0
  438. data/src/com/zoho/crm/api/wizards/connection.rb +80 -0
  439. data/src/com/zoho/crm/api/wizards/container.rb +119 -0
  440. data/src/com/zoho/crm/api/wizards/node.rb +118 -0
  441. data/src/com/zoho/crm/api/wizards/response_handler.rb +10 -0
  442. data/src/com/zoho/crm/api/wizards/response_wrapper.rb +63 -0
  443. data/src/com/zoho/crm/api/wizards/screen.rb +99 -0
  444. data/src/com/zoho/crm/api/wizards/segment.rb +176 -0
  445. data/src/com/zoho/crm/api/wizards/wizard.rb +273 -0
  446. data/src/com/zoho/crm/api/wizards/wizards_operations.rb +61 -0
  447. data/src/resources/JSONDetails.json +1 -0
  448. data/src/version.rb +3 -0
  449. metadata +480 -47
  450. data/lib/ZCRMSDK.rb +0 -14
  451. data/lib/ZCRMSDK/handler.rb +0 -3290
  452. data/lib/ZCRMSDK/oauth_client.rb +0 -253
  453. data/lib/ZCRMSDK/oauth_utility.rb +0 -161
  454. data/lib/ZCRMSDK/operations.rb +0 -1091
  455. data/lib/ZCRMSDK/org.rb +0 -174
  456. data/lib/ZCRMSDK/persistence.rb +0 -129
  457. data/lib/ZCRMSDK/request.rb +0 -83
  458. data/lib/ZCRMSDK/response.rb +0 -216
  459. data/lib/ZCRMSDK/restclient.rb +0 -65
  460. data/lib/ZCRMSDK/test.rb +0 -5746
  461. data/lib/ZCRMSDK/utility.rb +0 -309
  462. 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.1/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.1/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.1/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.1/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.1/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.1/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_CONTENT_TYPE_HEADER.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
+ proxy_log = Constants::PROXY_SETTINGS + Constants::PROXY_HOST + request_proxy.host + " , "
105
+ proxy_log += Constants::PROXY_PORT + request_proxy.port.to_s
106
+ if request_proxy.user_name.nil?
107
+ proxy_log += " , " + Constants::PROXY_USER + request_proxy.user_name
108
+ end
109
+ proxy_log
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,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