ZCRMSDK 2.1.0 → 3.0.0.beta

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZCRMSDK.rb +84 -1
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +87 -31
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +48 -28
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +69 -21
  6. data/src/com/zoho/api/authenticator/store/token_store.rb +7 -0
  7. data/src/com/zoho/api/logger/sdk_logger.rb +19 -9
  8. data/src/com/zoho/crm/api/assignment_rules/api_exception.rb +121 -0
  9. data/src/com/zoho/crm/api/assignment_rules/assignment_rule.rb +215 -0
  10. data/src/com/zoho/crm/api/assignment_rules/assignment_rules_operations.rb +61 -0
  11. data/src/com/zoho/crm/api/assignment_rules/default_user.rb +80 -0
  12. data/src/com/zoho/crm/api/assignment_rules/response_handler.rb +10 -0
  13. data/src/com/zoho/crm/api/assignment_rules/response_wrapper.rb +63 -0
  14. data/src/com/zoho/crm/api/attachments/attachment.rb +4 -4
  15. data/src/com/zoho/crm/api/attachments/attachments_operations.rb +6 -6
  16. data/src/com/zoho/crm/api/blue_print/blue_print_operations.rb +2 -2
  17. data/src/com/zoho/crm/api/blue_print/escalation.rb +80 -0
  18. data/src/com/zoho/crm/api/blue_print/field.rb +1107 -0
  19. data/src/com/zoho/crm/api/blue_print/next_transition.rb +38 -0
  20. data/src/com/zoho/crm/api/blue_print/process_info.rb +4 -4
  21. data/src/com/zoho/crm/api/blue_print/transition.rb +19 -1
  22. data/src/com/zoho/crm/api/blue_print/validation_error.rb +57 -0
  23. data/src/com/zoho/crm/api/bulk_read/bulk_read_operations.rb +3 -3
  24. data/src/com/zoho/crm/api/bulk_read/criteria.rb +20 -0
  25. data/src/com/zoho/crm/api/bulk_read/query.rb +5 -4
  26. data/src/com/zoho/crm/api/bulk_write/bulk_write_operations.rb +3 -3
  27. data/src/com/zoho/crm/api/bulk_write/resource.rb +24 -4
  28. data/src/com/zoho/crm/api/contact_roles/contact_roles_operations.rb +7 -7
  29. data/src/com/zoho/crm/api/currencies/currencies_operations.rb +7 -7
  30. data/src/com/zoho/crm/api/custom_views/criteria.rb +5 -4
  31. data/src/com/zoho/crm/api/custom_views/custom_view.rb +100 -41
  32. data/src/com/zoho/crm/api/custom_views/custom_views_operations.rb +2 -2
  33. data/src/com/zoho/crm/api/custom_views/{shared_details.rb → shared_to.rb} +2 -2
  34. data/src/com/zoho/crm/api/dc/au_datacenter.rb +3 -3
  35. data/src/com/zoho/crm/api/dc/cn_datacenter.rb +3 -3
  36. data/src/com/zoho/crm/api/dc/datacenter.rb +3 -2
  37. data/src/com/zoho/crm/api/dc/eu_datacenter.rb +3 -3
  38. data/src/com/zoho/crm/api/dc/in_datacenter.rb +3 -3
  39. data/src/com/zoho/crm/api/dc/us_datacenter.rb +3 -3
  40. data/src/com/zoho/crm/api/email_templates/api_exception.rb +121 -0
  41. data/src/com/zoho/crm/api/email_templates/attachment.rb +118 -0
  42. data/src/com/zoho/crm/api/email_templates/email_template.rb +390 -0
  43. data/src/com/zoho/crm/api/email_templates/email_templates_operations.rb +61 -0
  44. data/src/com/zoho/crm/api/email_templates/response_handler.rb +10 -0
  45. data/src/com/zoho/crm/api/email_templates/response_wrapper.rb +83 -0
  46. data/src/com/zoho/crm/api/field_attachments/api_exception.rb +121 -0
  47. data/src/com/zoho/crm/api/field_attachments/body_wrapper.rb +62 -0
  48. data/src/com/zoho/crm/api/field_attachments/field_attachments_operations.rb +52 -0
  49. data/src/com/zoho/crm/api/field_attachments/file_body_wrapper.rb +64 -0
  50. data/src/com/zoho/crm/api/field_attachments/response_handler.rb +10 -0
  51. data/src/com/zoho/crm/api/fields/external.rb +99 -0
  52. data/src/com/zoho/crm/api/fields/field.rb +192 -38
  53. data/src/com/zoho/crm/api/fields/fields_operations.rb +2 -2
  54. data/src/com/zoho/crm/api/fields/history_tracking.rb +80 -0
  55. data/src/com/zoho/crm/api/fields/maps.rb +80 -0
  56. data/src/com/zoho/crm/api/fields/multi_select_lookup.rb +19 -0
  57. data/src/com/zoho/crm/api/fields/multi_user_lookup.rb +175 -0
  58. data/src/com/zoho/crm/api/fields/pick_list_value.rb +19 -0
  59. data/src/com/zoho/crm/api/fields/related_details.rb +19 -0
  60. data/src/com/zoho/crm/api/files/file_operations.rb +2 -2
  61. data/src/com/zoho/crm/api/initializer.rb +40 -15
  62. data/src/com/zoho/crm/api/inventory_templates/api_exception.rb +121 -0
  63. data/src/com/zoho/crm/api/inventory_templates/inventory_template.rb +352 -0
  64. data/src/com/zoho/crm/api/inventory_templates/inventory_templates_operations.rb +82 -0
  65. data/src/com/zoho/crm/api/inventory_templates/response_handler.rb +10 -0
  66. data/src/com/zoho/crm/api/inventory_templates/response_wrapper.rb +83 -0
  67. data/src/com/zoho/crm/api/layouts/layout.rb +38 -0
  68. data/src/com/zoho/crm/api/layouts/layouts_operations.rb +2 -2
  69. data/src/com/zoho/crm/api/layouts/section.rb +19 -0
  70. data/src/com/zoho/crm/api/modules/module.rb +57 -0
  71. data/src/com/zoho/crm/api/modules/modules_operations.rb +4 -4
  72. data/src/com/zoho/crm/api/notes/notes_operations.rb +7 -7
  73. data/src/com/zoho/crm/api/notification/notification_operations.rb +6 -6
  74. data/src/com/zoho/crm/api/org/org_operations.rb +2 -2
  75. data/src/com/zoho/crm/api/pipeline/action_handler.rb +10 -0
  76. data/src/com/zoho/crm/api/pipeline/action_response.rb +10 -0
  77. data/src/com/zoho/crm/api/pipeline/action_wrapper.rb +63 -0
  78. data/src/com/zoho/crm/api/pipeline/api_exception.rb +129 -0
  79. data/src/com/zoho/crm/api/pipeline/body_wrapper.rb +61 -0
  80. data/src/com/zoho/crm/api/pipeline/forecast_category.rb +80 -0
  81. data/src/com/zoho/crm/api/pipeline/pick_list_value.rb +175 -0
  82. data/src/com/zoho/crm/api/pipeline/pipeline.rb +213 -0
  83. data/src/com/zoho/crm/api/pipeline/pipeline_operations.rb +165 -0
  84. data/src/com/zoho/crm/api/pipeline/response_handler.rb +10 -0
  85. data/src/com/zoho/crm/api/pipeline/response_wrapper.rb +63 -0
  86. data/src/com/zoho/crm/api/pipeline/stage.rb +80 -0
  87. data/src/com/zoho/crm/api/pipeline/success_response.rb +123 -0
  88. data/src/com/zoho/crm/api/pipeline/transfer_action_handler.rb +10 -0
  89. data/src/com/zoho/crm/api/pipeline/transfer_action_response.rb +10 -0
  90. data/src/com/zoho/crm/api/pipeline/transfer_action_wrapper.rb +63 -0
  91. data/src/com/zoho/crm/api/pipeline/transfer_and_delete_wrapper.rb +61 -0
  92. data/src/com/zoho/crm/api/pipeline/transfer_pipe_line.rb +80 -0
  93. data/src/com/zoho/crm/api/profiles/default_view.rb +99 -0
  94. data/src/com/zoho/crm/api/profiles/profile.rb +57 -0
  95. data/src/com/zoho/crm/api/profiles/profiles_operations.rb +2 -2
  96. data/src/com/zoho/crm/api/query/query_operations.rb +1 -1
  97. data/src/com/zoho/crm/api/record/api_exception.rb +2 -0
  98. data/src/com/zoho/crm/api/record/body_wrapper.rb +0 -19
  99. data/src/com/zoho/crm/api/record/count_handler.rb +10 -0
  100. data/src/com/zoho/crm/api/record/count_wrapper.rb +63 -0
  101. data/src/com/zoho/crm/api/record/field.rb +1 -0
  102. data/src/com/zoho/crm/api/record/image_upload.rb +213 -0
  103. data/src/com/zoho/crm/api/record/inventory_line_items.rb +56 -39
  104. data/src/com/zoho/crm/api/record/mass_update_body_wrapper.rb +4 -4
  105. data/src/com/zoho/crm/api/record/mass_update_territory.rb +80 -0
  106. data/src/com/zoho/crm/api/record/multi_select_lookup.rb +99 -0
  107. data/src/com/zoho/crm/api/record/multi_select_picklist.rb +80 -0
  108. data/src/com/zoho/crm/api/record/price_book.rb +31 -0
  109. data/src/com/zoho/crm/api/record/record_operations.rb +201 -111
  110. data/src/com/zoho/crm/api/record/tax.rb +80 -0
  111. data/src/com/zoho/crm/api/record/territory.rb +70 -12
  112. data/src/com/zoho/crm/api/record/widget.rb +80 -0
  113. data/src/com/zoho/crm/api/record/wizard.rb +80 -0
  114. data/src/com/zoho/crm/api/related_lists/related_lists_operations.rb +2 -2
  115. data/src/com/zoho/crm/api/related_records/related_records_operations.rb +8 -36
  116. data/src/com/zoho/crm/api/request_proxy.rb +3 -4
  117. data/src/com/zoho/crm/api/roles/roles_operations.rb +2 -2
  118. data/src/com/zoho/crm/api/sdk_config.rb +2 -68
  119. data/src/com/zoho/crm/api/send_mail/action_handler.rb +10 -0
  120. data/src/com/zoho/crm/api/send_mail/action_response.rb +10 -0
  121. data/src/com/zoho/crm/api/send_mail/action_wrapper.rb +63 -0
  122. data/src/com/zoho/crm/api/send_mail/api_exception.rb +125 -0
  123. data/src/com/zoho/crm/api/send_mail/body_wrapper.rb +61 -0
  124. data/src/com/zoho/crm/api/send_mail/data_subject_request.rb +80 -0
  125. data/src/com/zoho/crm/api/send_mail/inventory_details.rb +100 -0
  126. data/src/com/zoho/crm/api/send_mail/mail.rb +423 -0
  127. data/src/com/zoho/crm/api/send_mail/response_handler.rb +10 -0
  128. data/src/com/zoho/crm/api/send_mail/response_wrapper.rb +63 -0
  129. data/src/com/zoho/crm/api/send_mail/send_mail_operations.rb +61 -0
  130. data/src/com/zoho/crm/api/send_mail/success_response.rb +121 -0
  131. data/src/com/zoho/crm/api/send_mail/template.rb +10 -0
  132. data/src/com/zoho/crm/api/send_mail/user_address.rb +137 -0
  133. data/src/com/zoho/crm/api/share_records/share_records_operations.rb +4 -4
  134. data/src/com/zoho/crm/api/tags/tag.rb +19 -0
  135. data/src/com/zoho/crm/api/tags/tags_operations.rb +11 -11
  136. data/src/com/zoho/crm/api/taxes/taxes_operations.rb +6 -6
  137. data/src/com/zoho/crm/api/territories/response_wrapper.rb +20 -0
  138. data/src/com/zoho/crm/api/territories/territories_operations.rb +2 -2
  139. data/src/com/zoho/crm/api/territories/territory.rb +61 -23
  140. data/src/com/zoho/crm/api/users/users_operations.rb +6 -6
  141. data/src/com/zoho/crm/api/util/api_http_connector.rb +5 -5
  142. data/src/com/zoho/crm/api/util/common_api_handler.rb +0 -1
  143. data/src/com/zoho/crm/api/util/constants.rb +140 -13
  144. data/src/com/zoho/crm/api/util/converter.rb +21 -4
  145. data/src/com/zoho/crm/api/util/form_data_converter.rb +3 -15
  146. data/src/com/zoho/crm/api/util/utility.rb +226 -86
  147. data/src/com/zoho/crm/api/variable_groups/variable_groups_operations.rb +3 -3
  148. data/src/com/zoho/crm/api/variables/variables_operations.rb +9 -9
  149. data/src/com/zoho/crm/api/wizards/api_exception.rb +121 -0
  150. data/src/com/zoho/crm/api/wizards/button.rb +214 -0
  151. data/src/com/zoho/crm/api/wizards/chart_data.rb +118 -0
  152. data/src/com/zoho/crm/api/wizards/connection.rb +80 -0
  153. data/src/com/zoho/crm/api/wizards/container.rb +119 -0
  154. data/src/com/zoho/crm/api/wizards/node.rb +118 -0
  155. data/src/com/zoho/crm/api/wizards/response_handler.rb +10 -0
  156. data/src/com/zoho/crm/api/wizards/response_wrapper.rb +63 -0
  157. data/src/com/zoho/crm/api/wizards/screen.rb +99 -0
  158. data/src/com/zoho/crm/api/wizards/segment.rb +176 -0
  159. data/src/com/zoho/crm/api/wizards/wizard.rb +273 -0
  160. data/src/com/zoho/crm/api/wizards/wizards_operations.rb +61 -0
  161. data/src/resources/JSONDetails.json +1 -1
  162. data/src/version.rb +1 -1
  163. metadata +88 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4754097d74e87ebd8d343c0667ba59a07c2ad8b91e60f93dfbcac3ac05bd7391
4
- data.tar.gz: 9528461fca077395fe305ea54af17b06275ebcfa00cfb052f1414eb27df3cd9b
3
+ metadata.gz: 8904af6d2578e6476199b3d332c31aa201ba71b09a0696e530cc15d1ab48b5e0
4
+ data.tar.gz: 9ea0df2ce8f9db7f4c4223be625b4e0eb7f404074e5bef02754e387ef29e1e24
5
5
  SHA512:
6
- metadata.gz: 434c2b3a036e8c48f334cfefb23d45307331cf508d284a56b05ad40d856cd20661c69f126624d2fa040be43dd383ad30c5526b195ecfadddb210878f1fc15d90
7
- data.tar.gz: d6ed7370f2a3ce9ff9b3654ee35368daed99212397bafe772a0edeb43c8f2a5abb711fbc060839cb28a2c75a2a23d8fc514ad23e34dce5bdb9cb52c2440b38ce
6
+ metadata.gz: 3cbe40f9c9b7df36198203bf82e4b0f8252cb27e68cf888823ef8e59a2ab00fa518bf19a3080b1631783cbaa23951a29dd006eb4b81133727d9dfc2100941465
7
+ data.tar.gz: b55ab1856d5a12d99ce5bf785f053ce6e44dd7cc5e9a7557dceba4b1a7a9066311e5667ff4b3d275456a3ab511be602207ea037f40050431f0dd3190527c417b
data/src/ZCRMSDK.rb CHANGED
@@ -1,5 +1,23 @@
1
1
  require 'version.rb'
2
2
  require 'com/zoho/crm/api/request_proxy.rb'
3
+ require 'com/zoho/crm/api/pipeline/transfer_action_handler.rb'
4
+ require 'com/zoho/crm/api/pipeline/stage.rb'
5
+ require 'com/zoho/crm/api/pipeline/transfer_action_response.rb'
6
+ require 'com/zoho/crm/api/pipeline/body_wrapper.rb'
7
+ require 'com/zoho/crm/api/pipeline/transfer_action_wrapper.rb'
8
+ require 'com/zoho/crm/api/pipeline/pipeline.rb'
9
+ require 'com/zoho/crm/api/pipeline/action_handler.rb'
10
+ require 'com/zoho/crm/api/pipeline/pipeline_operations.rb'
11
+ require 'com/zoho/crm/api/pipeline/transfer_and_delete_wrapper.rb'
12
+ require 'com/zoho/crm/api/pipeline/pick_list_value.rb'
13
+ require 'com/zoho/crm/api/pipeline/action_wrapper.rb'
14
+ require 'com/zoho/crm/api/pipeline/forecast_category.rb'
15
+ require 'com/zoho/crm/api/pipeline/transfer_pipe_line.rb'
16
+ require 'com/zoho/crm/api/pipeline/response_wrapper.rb'
17
+ require 'com/zoho/crm/api/pipeline/api_exception.rb'
18
+ require 'com/zoho/crm/api/pipeline/success_response.rb'
19
+ require 'com/zoho/crm/api/pipeline/action_response.rb'
20
+ require 'com/zoho/crm/api/pipeline/response_handler.rb'
3
21
  require 'com/zoho/crm/api/currencies/body_wrapper.rb'
4
22
  require 'com/zoho/crm/api/currencies/currencies_operations.rb'
5
23
  require 'com/zoho/crm/api/currencies/currency.rb'
@@ -35,17 +53,23 @@ require 'com/zoho/crm/api/record/participants.rb'
35
53
  require 'com/zoho/crm/api/record/remind_at.rb'
36
54
  require 'com/zoho/crm/api/record/carry_over_tags.rb'
37
55
  require 'com/zoho/crm/api/record/record.rb'
56
+ require 'com/zoho/crm/api/record/wizard.rb'
38
57
  require 'com/zoho/crm/api/record/convert_body_wrapper.rb'
58
+ require 'com/zoho/crm/api/record/price_book.rb'
39
59
  require 'com/zoho/crm/api/record/file_details.rb'
40
60
  require 'com/zoho/crm/api/record/action_wrapper.rb'
41
61
  require 'com/zoho/crm/api/record/deleted_records_handler.rb'
42
62
  require 'com/zoho/crm/api/record/convert_action_handler.rb'
63
+ require 'com/zoho/crm/api/record/mass_update_territory.rb'
64
+ require 'com/zoho/crm/api/record/multi_select_lookup.rb'
65
+ require 'com/zoho/crm/api/record/multi_select_picklist.rb'
43
66
  require 'com/zoho/crm/api/record/mass_update.rb'
44
67
  require 'com/zoho/crm/api/record/mass_update_action_response.rb'
45
68
  require 'com/zoho/crm/api/record/deleted_record.rb'
46
69
  require 'com/zoho/crm/api/record/convert_action_wrapper.rb'
47
70
  require 'com/zoho/crm/api/record/territory.rb'
48
71
  require 'com/zoho/crm/api/record/mass_update_response.rb'
72
+ require 'com/zoho/crm/api/record/widget.rb'
49
73
  require 'com/zoho/crm/api/record/mass_update_body_wrapper.rb'
50
74
  require 'com/zoho/crm/api/record/mass_update_success_response.rb'
51
75
  require 'com/zoho/crm/api/record/response_wrapper.rb'
@@ -55,18 +79,27 @@ require 'com/zoho/crm/api/record/comment.rb'
55
79
  require 'com/zoho/crm/api/record/file_handler.rb'
56
80
  require 'com/zoho/crm/api/record/api_exception.rb'
57
81
  require 'com/zoho/crm/api/record/mass_update_response_handler.rb'
82
+ require 'com/zoho/crm/api/record/count_handler.rb'
58
83
  require 'com/zoho/crm/api/record/options.rb'
59
84
  require 'com/zoho/crm/api/record/field.rb'
60
85
  require 'com/zoho/crm/api/record/recurring_activity.rb'
86
+ require 'com/zoho/crm/api/record/tax.rb'
87
+ require 'com/zoho/crm/api/record/image_upload.rb'
61
88
  require 'com/zoho/crm/api/record/criteria.rb'
62
89
  require 'com/zoho/crm/api/record/mass_update_response_wrapper.rb'
63
90
  require 'com/zoho/crm/api/record/success_response.rb'
91
+ require 'com/zoho/crm/api/record/count_wrapper.rb'
64
92
  require 'com/zoho/crm/api/record/action_response.rb'
65
93
  require 'com/zoho/crm/api/record/pricing_details.rb'
66
94
  require 'com/zoho/crm/api/record/response_handler.rb'
67
95
  require 'com/zoho/crm/api/record/successful_convert.rb'
68
96
  require 'com/zoho/crm/api/record/line_item_product.rb'
69
97
  require 'com/zoho/crm/api/record/mass_update_action_wrapper.rb'
98
+ require 'com/zoho/crm/api/field_attachments/body_wrapper.rb'
99
+ require 'com/zoho/crm/api/field_attachments/file_body_wrapper.rb'
100
+ require 'com/zoho/crm/api/field_attachments/api_exception.rb'
101
+ require 'com/zoho/crm/api/field_attachments/response_handler.rb'
102
+ require 'com/zoho/crm/api/field_attachments/field_attachments_operations.rb'
70
103
  require 'com/zoho/crm/api/sdk_config.rb'
71
104
  require 'com/zoho/crm/api/util/api_http_connector.rb'
72
105
  require 'com/zoho/crm/api/util/form_data_converter.rb'
@@ -108,18 +141,31 @@ require 'com/zoho/crm/api/org/success_response.rb'
108
141
  require 'com/zoho/crm/api/org/action_response.rb'
109
142
  require 'com/zoho/crm/api/org/response_handler.rb'
110
143
  require 'com/zoho/crm/api/org/org.rb'
144
+ require 'com/zoho/crm/api/inventory_templates/inventory_templates_operations.rb'
145
+ require 'com/zoho/crm/api/inventory_templates/inventory_template.rb'
146
+ require 'com/zoho/crm/api/inventory_templates/response_wrapper.rb'
147
+ require 'com/zoho/crm/api/inventory_templates/api_exception.rb'
148
+ require 'com/zoho/crm/api/inventory_templates/response_handler.rb'
111
149
  require 'com/zoho/crm/api/blue_print/body_wrapper.rb'
112
150
  require 'com/zoho/crm/api/blue_print/next_transition.rb'
113
151
  require 'com/zoho/crm/api/blue_print/blue_print_operations.rb'
114
152
  require 'com/zoho/crm/api/blue_print/process_info.rb'
115
153
  require 'com/zoho/crm/api/blue_print/blue_print.rb'
154
+ require 'com/zoho/crm/api/blue_print/escalation.rb'
116
155
  require 'com/zoho/crm/api/blue_print/transition.rb'
117
156
  require 'com/zoho/crm/api/blue_print/response_wrapper.rb'
118
157
  require 'com/zoho/crm/api/blue_print/api_exception.rb'
119
158
  require 'com/zoho/crm/api/blue_print/validation_error.rb'
159
+ require 'com/zoho/crm/api/blue_print/field.rb'
120
160
  require 'com/zoho/crm/api/blue_print/success_response.rb'
121
161
  require 'com/zoho/crm/api/blue_print/action_response.rb'
122
162
  require 'com/zoho/crm/api/blue_print/response_handler.rb'
163
+ require 'com/zoho/crm/api/email_templates/email_template.rb'
164
+ require 'com/zoho/crm/api/email_templates/attachment.rb'
165
+ require 'com/zoho/crm/api/email_templates/response_wrapper.rb'
166
+ require 'com/zoho/crm/api/email_templates/email_templates_operations.rb'
167
+ require 'com/zoho/crm/api/email_templates/api_exception.rb'
168
+ require 'com/zoho/crm/api/email_templates/response_handler.rb'
123
169
  require 'com/zoho/crm/api/related_records/body_wrapper.rb'
124
170
  require 'com/zoho/crm/api/related_records/action_handler.rb'
125
171
  require 'com/zoho/crm/api/related_records/related_records_operations.rb'
@@ -157,8 +203,8 @@ require 'com/zoho/crm/api/tags/action_response.rb'
157
203
  require 'com/zoho/crm/api/tags/merge_wrapper.rb'
158
204
  require 'com/zoho/crm/api/tags/response_handler.rb'
159
205
  require 'com/zoho/crm/api/header_map.rb'
206
+ require 'com/zoho/crm/api/custom_views/shared_to.rb'
160
207
  require 'com/zoho/crm/api/custom_views/info.rb'
161
- require 'com/zoho/crm/api/custom_views/shared_details.rb'
162
208
  require 'com/zoho/crm/api/custom_views/translation.rb'
163
209
  require 'com/zoho/crm/api/custom_views/custom_view.rb'
164
210
  require 'com/zoho/crm/api/custom_views/range.rb'
@@ -259,6 +305,12 @@ require 'com/zoho/crm/api/dc/au_datacenter.rb'
259
305
  require 'com/zoho/crm/api/dc/cn_datacenter.rb'
260
306
  require 'com/zoho/crm/api/dc/us_datacenter.rb'
261
307
  require 'com/zoho/crm/api/dc/datacenter.rb'
308
+ require 'com/zoho/crm/api/assignment_rules/assignment_rules_operations.rb'
309
+ require 'com/zoho/crm/api/assignment_rules/assignment_rule.rb'
310
+ require 'com/zoho/crm/api/assignment_rules/response_wrapper.rb'
311
+ require 'com/zoho/crm/api/assignment_rules/api_exception.rb'
312
+ require 'com/zoho/crm/api/assignment_rules/default_user.rb'
313
+ require 'com/zoho/crm/api/assignment_rules/response_handler.rb'
262
314
  require 'com/zoho/crm/api/files/file_operations.rb'
263
315
  require 'com/zoho/crm/api/files/body_wrapper.rb'
264
316
  require 'com/zoho/crm/api/files/action_handler.rb'
@@ -285,10 +337,12 @@ require 'com/zoho/crm/api/bulk_write/response_handler.rb'
285
337
  require 'com/zoho/crm/api/fields/private.rb'
286
338
  require 'com/zoho/crm/api/fields/association_details.rb'
287
339
  require 'com/zoho/crm/api/fields/module.rb'
340
+ require 'com/zoho/crm/api/fields/external.rb'
288
341
  require 'com/zoho/crm/api/fields/currency.rb'
289
342
  require 'com/zoho/crm/api/fields/pick_list_value.rb'
290
343
  require 'com/zoho/crm/api/fields/view_type.rb'
291
344
  require 'com/zoho/crm/api/fields/lookup_field.rb'
345
+ require 'com/zoho/crm/api/fields/multi_user_lookup.rb'
292
346
  require 'com/zoho/crm/api/fields/multi_select_lookup.rb'
293
347
  require 'com/zoho/crm/api/fields/auto_number.rb'
294
348
  require 'com/zoho/crm/api/fields/unique.rb'
@@ -301,9 +355,12 @@ require 'com/zoho/crm/api/fields/field.rb'
301
355
  require 'com/zoho/crm/api/fields/crypt.rb'
302
356
  require 'com/zoho/crm/api/fields/tool_tip.rb'
303
357
  require 'com/zoho/crm/api/fields/response_handler.rb'
358
+ require 'com/zoho/crm/api/fields/history_tracking.rb'
359
+ require 'com/zoho/crm/api/fields/maps.rb'
304
360
  require 'com/zoho/crm/api/parameter_map.rb'
305
361
  require 'com/zoho/crm/api/profiles/category.rb'
306
362
  require 'com/zoho/crm/api/profiles/permission_detail.rb'
363
+ require 'com/zoho/crm/api/profiles/default_view.rb'
307
364
  require 'com/zoho/crm/api/profiles/section.rb'
308
365
  require 'com/zoho/crm/api/profiles/profile.rb'
309
366
  require 'com/zoho/crm/api/profiles/response_wrapper.rb'
@@ -324,6 +381,32 @@ require 'com/zoho/crm/api/share_records/api_exception.rb'
324
381
  require 'com/zoho/crm/api/share_records/success_response.rb'
325
382
  require 'com/zoho/crm/api/share_records/action_response.rb'
326
383
  require 'com/zoho/crm/api/share_records/response_handler.rb'
384
+ require 'com/zoho/crm/api/send_mail/body_wrapper.rb'
385
+ require 'com/zoho/crm/api/send_mail/action_handler.rb'
386
+ require 'com/zoho/crm/api/send_mail/user_address.rb'
387
+ require 'com/zoho/crm/api/send_mail/inventory_details.rb'
388
+ require 'com/zoho/crm/api/send_mail/template.rb'
389
+ require 'com/zoho/crm/api/send_mail/action_wrapper.rb'
390
+ require 'com/zoho/crm/api/send_mail/data_subject_request.rb'
391
+ require 'com/zoho/crm/api/send_mail/send_mail_operations.rb'
392
+ require 'com/zoho/crm/api/send_mail/response_wrapper.rb'
393
+ require 'com/zoho/crm/api/send_mail/api_exception.rb'
394
+ require 'com/zoho/crm/api/send_mail/success_response.rb'
395
+ require 'com/zoho/crm/api/send_mail/mail.rb'
396
+ require 'com/zoho/crm/api/send_mail/action_response.rb'
397
+ require 'com/zoho/crm/api/send_mail/response_handler.rb'
398
+ require 'com/zoho/crm/api/wizards/node.rb'
399
+ require 'com/zoho/crm/api/wizards/segment.rb'
400
+ require 'com/zoho/crm/api/wizards/chart_data.rb'
401
+ require 'com/zoho/crm/api/wizards/wizard.rb'
402
+ require 'com/zoho/crm/api/wizards/connection.rb'
403
+ require 'com/zoho/crm/api/wizards/container.rb'
404
+ require 'com/zoho/crm/api/wizards/button.rb'
405
+ require 'com/zoho/crm/api/wizards/wizards_operations.rb'
406
+ require 'com/zoho/crm/api/wizards/response_wrapper.rb'
407
+ require 'com/zoho/crm/api/wizards/api_exception.rb'
408
+ require 'com/zoho/crm/api/wizards/screen.rb'
409
+ require 'com/zoho/crm/api/wizards/response_handler.rb'
327
410
  require 'com/zoho/crm/api/query/body_wrapper.rb'
328
411
  require 'com/zoho/crm/api/query/response_wrapper.rb'
329
412
  require 'com/zoho/crm/api/query/query_operations.rb'
@@ -11,19 +11,20 @@ require_relative '../../crm/api/exception/sdk_exception'
11
11
  module Authenticator
12
12
  # This class gets and refreshes the tokens based on the expiry time.
13
13
  class OAuthToken < Token
14
+ attr_reader :client_id , :client_secret ,:redirect_url ,:grant_token
15
+ attr_accessor :refresh_token, :access_token ,:user_mail ,:id ,:expires_in
14
16
  @@sync_lock = Monitor.new
15
17
 
16
- attr_accessor :client_id, :client_secret, :redirect_url, :grant_token, :refresh_token, :access_token, :expires_in, :user_mail, :id
17
-
18
18
  # Creates an OAuthToken class instance with the specified parameters.
19
19
  # @param client_id [string] A String containing the OAuth client id.
20
20
  # @param client_secret [string] A String containing the OAuth client secret.
21
+ # @param grant_token [string] A String containing the grant token.
22
+ # @param refresh_token [string] A String containing the refresh token.
21
23
  # @param redirect_url [string] A String containing the OAuth redirect URL.
22
- # @param token [string] A String containing the REFRESH/GRANT token.
23
- # @param type A TokenType module variable containing the type of given token.
24
- def initialize(client_id, client_secret, token, type, redirect_url = nil)
25
- error = {}
26
-
24
+ # @param id [string] A String containing ID
25
+
26
+ def initialize(client_id:, client_secret:, grant_token: nil, refresh_token: nil, redirect_url: nil,id: nil)
27
+ error ={}
27
28
  unless client_id.is_a?(String)
28
29
  error[Constants::ERROR_HASH_FIELD] = Constants::CLIENT_ID
29
30
 
@@ -35,7 +36,7 @@ module Authenticator
35
36
 
36
37
  end
37
38
 
38
- unless client_secret.nil? || client_secret.is_a?(String)
39
+ unless client_secret.is_a?(String)
39
40
  error[Constants::ERROR_HASH_FIELD] = Constants::CLIENT_SECRET
40
41
 
41
42
  error[Constants::ERROR_HASH_EXPECTED_TYPE] = String
@@ -46,8 +47,30 @@ module Authenticator
46
47
 
47
48
  end
48
49
 
49
- unless token.is_a?(String)
50
- error[Constants::ERROR_HASH_FIELD] = Constants::TOKEN
50
+ if !grant_token.nil? && !grant_token.is_a?(String)
51
+ error[Constants::ERROR_HASH_FIELD] = Constants::GRANT_TOKEN
52
+
53
+ error[Constants::ERROR_HASH_EXPECTED_TYPE] = String
54
+
55
+ error[Constants::ERROR_HASH_CLASS] = OAuthToken.class
56
+
57
+ raise SDKException.new(Constants::INPUT_ERROR, nil, error, nil)
58
+
59
+ end
60
+
61
+ if !refresh_token.nil? && !refresh_token.is_a?(String)
62
+ error[Constants::ERROR_HASH_FIELD] = Constants::REFRESH_TOKEN
63
+
64
+ error[Constants::ERROR_HASH_EXPECTED_TYPE] = String
65
+
66
+ error[Constants::ERROR_HASH_CLASS] = OAuthToken.class
67
+
68
+ raise SDKException.new(Constants::INPUT_ERROR, nil, error, nil)
69
+
70
+ end
71
+
72
+ if !redirect_url.nil? && !redirect_url.is_a?(String)
73
+ error[Constants::ERROR_HASH_FIELD] = Constants::REDIRECT_URL
51
74
 
52
75
  error[Constants::ERROR_HASH_EXPECTED_TYPE] = String
53
76
 
@@ -57,7 +80,18 @@ module Authenticator
57
80
 
58
81
  end
59
82
 
60
- unless TokenType::REFRESH.to_s.equal?(TokenType.const_get(type.to_s)) || TokenType::GRANT.to_s.equal?(TokenType.const_get(type.to_s))
83
+ if !id.nil? && !id.is_a?(String)
84
+ error[Constants::ERROR_HASH_FIELD] = Constants::ID
85
+
86
+ error[Constants::ERROR_HASH_EXPECTED_TYPE] = String
87
+
88
+ error[Constants::ERROR_HASH_CLASS] = OAuthToken.class
89
+
90
+ raise SDKException.new(Constants::INPUT_ERROR, nil, error, nil)
91
+
92
+ end
93
+
94
+ if grant_token.nil? && refresh_token.nil?
61
95
  error[Constants::ERROR_HASH_FIELD] = Constants::TYPE
62
96
 
63
97
  error[Constants::ERROR_HASH_EXPECTED_TYPE] = Constants::EXPECTED_TOKEN_TYPES
@@ -66,28 +100,39 @@ module Authenticator
66
100
 
67
101
  raise SDKException.new(Constants::INPUT_ERROR, nil, error, nil)
68
102
  end
69
-
70
103
  @client_id = client_id
71
104
 
72
105
  @client_secret = client_secret
73
106
 
74
107
  @redirect_url = redirect_url
75
108
 
76
- @refresh_token = (type == TokenType::REFRESH) ? token : nil
109
+ @refresh_token = refresh_token
77
110
 
78
- @grant_token = (type == TokenType::GRANT) ? token : nil
79
- end
111
+ @grant_token = grant_token
112
+
113
+ @access_token = nil
114
+
115
+ @expires_in = nil
80
116
 
117
+ @user_mail = nil
118
+
119
+ @id = id
120
+ end
121
+
81
122
  def authenticate(url_connection)
82
123
  @@sync_lock.synchronize do
83
124
  initializer = Initializer.get_initializer
84
125
  store = initializer.store
85
-
86
126
  user = initializer.user
87
127
 
88
- oauth_token = initializer.store.get_token(user, self)
128
+ oauth_token = nil
129
+ if !@id.nil?
130
+ oauth_token = initializer.store.get_token_by_id(@id, self)
131
+ else
132
+ oauth_token = initializer.store.get_token(user, self)
133
+ end
89
134
 
90
- token = nil
135
+ token = ""
91
136
 
92
137
  if oauth_token.nil?
93
138
  token = @refresh_token.nil? ? generate_access_token(user, store).access_token : refresh_access_token(user, store).access_token
@@ -115,8 +160,8 @@ module Authenticator
115
160
  json_body[Constants::CLIENT_ID] = @client_id
116
161
 
117
162
  json_body[Constants::CLIENT_SECRET] = @client_secret
118
-
119
- json_body[Constants::REDIRECT_URI] = @redirect_url
163
+
164
+ json_body[Constants::REDIRECT_URI] = @redirect_url if !@redirect_url.nil?
120
165
 
121
166
  json_body[Constants::GRANT_TYPE] = Constants::GRANT_TYPE_AUTH_CODE
122
167
 
@@ -125,7 +170,11 @@ module Authenticator
125
170
  response = get_response_from_server(json_body)
126
171
 
127
172
  begin
128
- store.save_token(user, parse_response(response))
173
+ parse_response(response)
174
+
175
+ generate_id()
176
+
177
+ store.save_token(user,self)
129
178
  rescue SDKException => e
130
179
  raise e
131
180
  rescue StandardError => e
@@ -141,7 +190,7 @@ module Authenticator
141
190
 
142
191
  json_body[Constants::CLIENT_SECRET] = @client_secret
143
192
 
144
- json_body[Constants::REDIRECT_URI] = @redirect_url
193
+ json_body[Constants::REDIRECT_URI] = @redirect_url if !@redirect_url.nil?
145
194
 
146
195
  json_body[Constants::GRANT_TYPE] = Constants::REFRESH_TOKEN
147
196
 
@@ -150,7 +199,11 @@ module Authenticator
150
199
  response = get_response_from_server(json_body)
151
200
 
152
201
  begin
153
- store.save_token(user, parse_response(response))
202
+ parse_response(response)
203
+
204
+ generate_id()
205
+
206
+ store.save_token(user,self)
154
207
  rescue SDKException => e
155
208
  raise e
156
209
  rescue StandardError => e
@@ -184,7 +237,7 @@ module Authenticator
184
237
  http.use_ssl = true
185
238
 
186
239
  request = Net::HTTP::Post.new(url.request_uri)
187
-
240
+ request.add_field(Constants::USER_AGENT_KEY, Constants::USER_AGENT)
188
241
  request.set_form(json_body, Constants::APPLICATION_FORM_URLENCODED)
189
242
 
190
243
  response = http.request(request)
@@ -207,11 +260,14 @@ module Authenticator
207
260
  def get_current_time_in_millis
208
261
  (Time.now.to_f * 1000).to_i
209
262
  end
210
- end
211
- end
212
263
 
213
- # This module contains different types of token.
214
- module TokenType
215
- GRANT = 'GRANT'.freeze
216
- REFRESH = 'REFRESH'.freeze
217
- end
264
+ def generate_id
265
+ id = ""
266
+ email = Initializer.get_initializer.user.email
267
+ environment = Initializer.get_initializer.environment.name
268
+ id = id + "ruby_" +email[0..email.index(Constants::AT) - 1] + Constants::UNDERSCORE
269
+ id = id + environment + Constants::UNDERSCORE + @refresh_token[@refresh_token.length-4..@refresh_token.length-1]
270
+ @id = id
271
+ end
272
+ end
273
+ end
@@ -6,24 +6,22 @@ require_relative '../../../crm/api/util/constants'
6
6
  module Store
7
7
  # This class stores the user token details to the MySQL DataBase.
8
8
  class DBStore < TokenStore
9
- attr_accessor :user_name, :password, :port_number, :host, :database_name
9
+ attr_reader :user_name, :password, :port_number, :host, :database_name, :table_name
10
10
 
11
11
  # Creates an DBStore class instance with the specified parameters.
12
12
  # @param host [string] A String containing the DataBase host name.
13
13
  # @param database_name A String containing the DataBase name.
14
+ # @param table_name A String containing the table name.
14
15
  # @param user_name A String containing the DataBase user name.
15
16
  # @param password A String containing the DataBase password.
16
17
  # @param port_number A String containing the DataBase port number.
17
- def initialize(host = nil, database_name = nil, user_name = nil, password = nil, port_number = nil)
18
- @host = host.nil? ? Constants::MYSQL_HOST : host
19
-
20
- @database_name = database_name.nil? ? Constants::MYSQL_DATABASE_NAME : database_name
21
-
22
- @user_name = user_name.nil? ? Constants::MYSQL_USER_NAME : user_name
23
-
24
- @password = password.nil? ? '' : password
25
-
26
- @port_number = port_number.nil? ? Constants::MYSQL_PORT_NUMBER : port_number
18
+ def initialize(host: Constants::MYSQL_HOST, database_name: Constants::MYSQL_DATABASE_NAME ,table_name: Constants::MYSQL_TABLE_NAME,user_name: Constants::MYSQL_USER_NAME,password: '',port_number: Constants::MYSQL_PORT_NUMBER )
19
+ @host = host
20
+ @database_name = database_name
21
+ @table_name = table_name
22
+ @user_name = user_name
23
+ @password = password
24
+ @port_number = port_number
27
25
  end
28
26
 
29
27
  def get_token(user, token)
@@ -36,7 +34,9 @@ module Store
36
34
  con.close
37
35
 
38
36
  rs.each do |row|
39
- oauthtoken = token
37
+ oauthtoken = Authenticator::OAuthToken.new(client_id: row[Constants::CLIENT_ID],client_secret: row[Constants::CLIENT_SECRET],grant_token: row[Constants::GRANT_TOKEN],refresh_token: row[Constants::REFRESH_TOKEN],redirect_url: row[Constants::REDIRECT_URL])
38
+
39
+ oauthtoken.id = row[Constants::ID]
40
40
 
41
41
  oauthtoken.access_token = row[Constants::ACCESS_TOKEN]
42
42
 
@@ -54,7 +54,7 @@ module Store
54
54
  def save_token(user, token)
55
55
  con = Mysql2::Client.new(host: @host, username: @user_name, password: @password, database: @database_name, port: @port_number)
56
56
  if token.is_a? Authenticator::OAuthToken
57
- query = "insert into oauthtoken(user_mail,client_id,refresh_token,access_token,grant_token,expiry_time) values ('#{user.email}','#{token.client_id}','#{token.refresh_token}','#{token.access_token}','#{token.grant_token}','#{token.expires_in}')"
57
+ query = "insert into #{token.table_name}(id,user_mail,client_id,client_secret,refresh_token,access_token,grant_token,expiry_time,redirect_url) values ('#{token.id}','#{user.email}','#{token.client_id}','#{token.client_secret}','#{token.refresh_token}','#{token.access_token}','#{token.grant_token}','#{token.expires_in}','#{token.redirect_url}')"
58
58
  token.user_mail = user.email
59
59
  delete_token(token)
60
60
  con.query(query)
@@ -81,7 +81,7 @@ module Store
81
81
  def delete_tokens
82
82
  con = Mysql2::Client.new(host: @host, username: @user_name, password: @password, database: @database_name, port: @port_number)
83
83
 
84
- query = 'delete from oauthtoken'
84
+ query = "delete * from #{@table_name}"
85
85
 
86
86
  con.query(query)
87
87
 
@@ -94,24 +94,16 @@ module Store
94
94
  tokens = []
95
95
  con = Mysql2::Client.new(host: @host, username: @user_name, password: @password, database: @database_name, port: @port_number)
96
96
 
97
- query = 'select * from oauthtoken;'
97
+ query = "select * from #{@table_name}"
98
98
 
99
99
  rs = con.query(query)
100
100
 
101
101
  con.close
102
102
 
103
103
  rs.each do |row|
104
- token_type = nil
105
- token_value = nil
106
- if !row[Constants::GRANT_TOKEN].nil? && row[Constants::GRANT_TOKEN].length.positive?
107
- token_type = TokenType::GRANT
108
- token_value = row[Constants::GRANT_TOKEN]
109
- else
110
- token_type = TokenType::REFRESH
111
- token_value = row[Constants::REFRESH_TOKEN]
112
- end
113
104
 
114
- oauthtoken = Authenticator::OAuthToken.new(row[Constants::CLIENT_ID], nil, token_value, token_type)
105
+
106
+ oauthtoken = Authenticator::OAuthToken.new(client_id: row[Constants::CLIENT_ID],client_secret: row[Constants::CLIENT_SECRET],grant_token: grant_token,refresh_token: row[Constants::REFRESH_TOKEN])
115
107
 
116
108
  oauthtoken.id = row[Constants::ID]
117
109
 
@@ -121,8 +113,6 @@ module Store
121
113
 
122
114
  oauthtoken.expires_in = row[Constants::EXPIRY_TIME]
123
115
 
124
- oauthtoken.refresh_token = row[Constants::REFRESH_TOKEN]
125
-
126
116
  tokens.push(oauthtoken)
127
117
  end
128
118
  tokens
@@ -135,7 +125,7 @@ module Store
135
125
 
136
126
  query = is_delete ? 'delete from ' : 'select * from '
137
127
 
138
- query += 'oauthtoken ' + "where user_mail='#{email}' and client_id='#{token.client_id}' and "
128
+ query += "#{@table_name} where user_mail='#{email}' and client_id='#{token.client_id}' and "
139
129
 
140
130
  query += if token.grant_token.nil?
141
131
  "refresh_token='#{token.refresh_token}'"
@@ -145,5 +135,35 @@ module Store
145
135
 
146
136
  query
147
137
  end
138
+ def get_token_by_id(id,token)
139
+ con = Mysql2::Client.new(host: @host, username: @user_name, password: @password, database: @database_name, port: @port_number)
140
+
141
+ if token.is_a? Authenticator::OAuthToken
142
+ query = "select * from #{@table_name} where id='#{id}'"
143
+
144
+ rs = con.query(query)
145
+
146
+ con.close
147
+
148
+ rs.each do |row|
149
+ if id == row[Constants::ID]
150
+ oauthtoken = Authenticator::OAuthToken.new(client_id: row[Constants::CLIENT_ID],client_secret: row[Constants::CLIENT_SECRET],grant_token: row[Constants::GRANT_TOKEN],refresh_token: row[Constants::REFRESH_TOKEN],redirect_url: row[Constants::REDIRECT_URL])
151
+
152
+ oauthtoken.id = row[Constants::ID]
153
+
154
+ oauthtoken.user_mail = row[Constants::USER_MAIL]
155
+
156
+ oauthtoken.access_token = row[Constants::ACCESS_TOKEN]
157
+
158
+ oauthtoken.expires_in = row[Constants::EXPIRY_TIME]
159
+
160
+ return oauthtoken
161
+ end
162
+ end
163
+ end
164
+ nil
165
+ rescue Mysql2::Error => e
166
+ raise SDKException.new(Constants::TOKEN_STORE, Constants::GET_TOKEN_BY_ID_DB_ERROR, nil, e)
167
+ end
148
168
  end
149
169
  end