ZCRMSDK 3.0.0.beta → 3.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZCRMSDK.rb +3 -1
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +1 -2
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +27 -5
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +26 -4
  6. data/src/com/zoho/crm/api/attachments/attachment.rb +38 -0
  7. data/src/com/zoho/crm/api/blue_print/field.rb +24 -4
  8. data/src/com/zoho/crm/api/fields/field.rb +23 -23
  9. data/src/com/zoho/crm/api/fields/multi_module_lookup.rb +99 -0
  10. data/src/com/zoho/crm/api/initializer.rb +4 -1
  11. data/src/com/zoho/crm/api/notes/note.rb +19 -0
  12. data/src/com/zoho/crm/api/org/hierarchy_preference.rb +61 -0
  13. data/src/com/zoho/crm/api/org/org.rb +38 -0
  14. data/src/com/zoho/crm/api/profiles/category.rb +19 -0
  15. data/src/com/zoho/crm/api/profiles/profile.rb +0 -19
  16. data/src/com/zoho/crm/api/record/field.rb +16 -17
  17. data/src/com/zoho/crm/api/record/line_tax.rb +19 -0
  18. data/src/com/zoho/crm/api/users/user.rb +34 -0
  19. data/src/com/zoho/crm/api/util/api_http_connector.rb +1 -1
  20. data/src/com/zoho/crm/api/util/common_api_handler.rb +5 -3
  21. data/src/com/zoho/crm/api/util/constants.rb +9 -11
  22. data/src/com/zoho/crm/api/util/converter.rb +11 -5
  23. data/src/com/zoho/crm/api/util/data_type_converter.rb +8 -2
  24. data/src/com/zoho/crm/api/util/form_data_converter.rb +1 -1
  25. data/src/com/zoho/crm/api/util/json_converter.rb +7 -9
  26. data/src/com/zoho/crm/api/util/module_fields_handler.rb +1 -1
  27. data/src/com/zoho/crm/api/util/utility.rb +81 -50
  28. data/src/com/zoho/crm/api/wizards/button.rb +38 -0
  29. data/src/com/zoho/crm/api/wizards/transition.rb +80 -0
  30. data/src/resources/JSONDetails.json +1 -1
  31. data/src/version.rb +1 -1
  32. metadata +9 -7
  33. data/src/com/zoho/crm/api/record/inventory_line_items.rb +0 -252
@@ -116,7 +116,10 @@ class Initializer
116
116
  end
117
117
 
118
118
  def self.get_JSONDetails
119
- JSON.parse(File.open(File.join(File.dirname(File.expand_path(__FILE__)), '../../../../' + Constants::JSON_DETAILS_FILE_PATH)).read)
119
+ if @@json_details.nil? || @@json_details.length == 0
120
+ return JSON.parse(File.open(File.join(File.dirname(File.expand_path(__FILE__)), '../../../../' + Constants::JSON_DETAILS_FILE_PATH)).read)
121
+ end
122
+ @@json_details
120
123
  rescue StandardError => e
121
124
  raise SDKException.new(nil, Constants::EXCEPTION_JSONDETAILS, nil, e)
122
125
  end
@@ -15,6 +15,7 @@ module Notes
15
15
  @created_time = nil
16
16
  @parent_id = nil
17
17
  @editable = nil
18
+ @sharing_permission = nil
18
19
  @se_module = nil
19
20
  @is_shared_to_client = nil
20
21
  @modified_by = nil
@@ -136,6 +137,24 @@ module Notes
136
137
  @key_modified['$editable'] = 1
137
138
  end
138
139
 
140
+ # The method to get the sharing_permission
141
+ # @return A String value
142
+
143
+ def sharing_permission
144
+ @sharing_permission
145
+ end
146
+
147
+ # The method to set the value to sharing_permission
148
+ # @param sharing_permission [String] A String
149
+
150
+ def sharing_permission=(sharing_permission)
151
+ if sharing_permission!=nil and !sharing_permission.is_a? String
152
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: sharing_permission EXPECTED TYPE: String', nil, nil)
153
+ end
154
+ @sharing_permission = sharing_permission
155
+ @key_modified['$sharing_permission'] = 1
156
+ end
157
+
139
158
  # The method to get the se_module
140
159
  # @return A String value
141
160
 
@@ -0,0 +1,61 @@
1
+ require_relative '../util/model'
2
+
3
+ module Org
4
+ class HierarchyPreference
5
+ include Util::Model
6
+
7
+ # Creates an instance of HierarchyPreference
8
+ def initialize
9
+ @type = nil
10
+ @key_modified = Hash.new
11
+ end
12
+
13
+ # The method to get the type
14
+ # @return A String value
15
+
16
+ def type
17
+ @type
18
+ end
19
+
20
+ # The method to set the value to type
21
+ # @param type [String] A String
22
+
23
+ def type=(type)
24
+ if type!=nil and !type.is_a? String
25
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: type EXPECTED TYPE: String', nil, nil)
26
+ end
27
+ @type = type
28
+ @key_modified['type'] = 1
29
+ end
30
+
31
+ # The method to check if the user has modified the given key
32
+ # @param key [String] A String
33
+ # @return A Integer value
34
+
35
+ def is_key_modified(key)
36
+ if key!=nil and !key.is_a? String
37
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: key EXPECTED TYPE: String', nil, nil)
38
+ end
39
+ if @key_modified.key?(key)
40
+ return @key_modified[key]
41
+ end
42
+
43
+ nil
44
+ end
45
+
46
+ # The method to mark the given key as modified
47
+ # @param key [String] A String
48
+ # @param modification [Integer] A Integer
49
+
50
+ def set_key_modified(key, modification)
51
+ if key!=nil and !key.is_a? String
52
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: key EXPECTED TYPE: String', nil, nil)
53
+ end
54
+ if modification!=nil and !modification.is_a? Integer
55
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: modification EXPECTED TYPE: Integer', nil, nil)
56
+ end
57
+ @key_modified[key] = modification
58
+ end
59
+
60
+ end
61
+ end
@@ -7,6 +7,7 @@ module Org
7
7
  # Creates an instance of Org
8
8
  def initialize
9
9
  @country = nil
10
+ @hierarchy_preferences = nil
10
11
  @photo_id = nil
11
12
  @city = nil
12
13
  @description = nil
@@ -36,6 +37,7 @@ module Org
36
37
  @company_name = nil
37
38
  @privacy_settings = nil
38
39
  @primary_email = nil
40
+ @hipaa_compliance_enabled = nil
39
41
  @iso_code = nil
40
42
  @key_modified = Hash.new
41
43
  end
@@ -58,6 +60,24 @@ module Org
58
60
  @key_modified['country'] = 1
59
61
  end
60
62
 
63
+ # The method to get the hierarchy_preferences
64
+ # @return An instance of HierarchyPreference
65
+
66
+ def hierarchy_preferences
67
+ @hierarchy_preferences
68
+ end
69
+
70
+ # The method to set the value to hierarchy_preferences
71
+ # @param hierarchy_preferences [HierarchyPreference] An instance of HierarchyPreference
72
+
73
+ def hierarchy_preferences=(hierarchy_preferences)
74
+ if hierarchy_preferences!=nil and !hierarchy_preferences.is_a? HierarchyPreference
75
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: hierarchy_preferences EXPECTED TYPE: HierarchyPreference', nil, nil)
76
+ end
77
+ @hierarchy_preferences = hierarchy_preferences
78
+ @key_modified['hierarchy_preferences'] = 1
79
+ end
80
+
61
81
  # The method to get the photo_id
62
82
  # @return A String value
63
83
 
@@ -580,6 +600,24 @@ module Org
580
600
  @key_modified['primary_email'] = 1
581
601
  end
582
602
 
603
+ # The method to get the hipaa_compliance_enabled
604
+ # @return A Boolean value
605
+
606
+ def hipaa_compliance_enabled
607
+ @hipaa_compliance_enabled
608
+ end
609
+
610
+ # The method to set the value to hipaa_compliance_enabled
611
+ # @param hipaa_compliance_enabled [Boolean] A Boolean
612
+
613
+ def hipaa_compliance_enabled=(hipaa_compliance_enabled)
614
+ if hipaa_compliance_enabled!=nil and ! [true, false].include?hipaa_compliance_enabled
615
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: hipaa_compliance_enabled EXPECTED TYPE: Boolean', nil, nil)
616
+ end
617
+ @hipaa_compliance_enabled = hipaa_compliance_enabled
618
+ @key_modified['hipaa_compliance_enabled'] = 1
619
+ end
620
+
583
621
  # The method to get the iso_code
584
622
  # @return A String value
585
623
 
@@ -9,6 +9,7 @@ module Profiles
9
9
  @display_label = nil
10
10
  @permissions_details = nil
11
11
  @name = nil
12
+ @module_1 = nil
12
13
  @key_modified = Hash.new
13
14
  end
14
15
 
@@ -66,6 +67,24 @@ module Profiles
66
67
  @key_modified['name'] = 1
67
68
  end
68
69
 
70
+ # The method to get the module
71
+ # @return A String value
72
+
73
+ def module
74
+ @module_1
75
+ end
76
+
77
+ # The method to set the value to module
78
+ # @param module_1 [String] A String
79
+
80
+ def module=(module_1)
81
+ if module_1!=nil and !module_1.is_a? String
82
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: module_1 EXPECTED TYPE: String', nil, nil)
83
+ end
84
+ @module_1 = module_1
85
+ @key_modified['module'] = 1
86
+ end
87
+
69
88
  # The method to check if the user has modified the given key
70
89
  # @param key [String] A String
71
90
  # @return A Integer value
@@ -17,7 +17,6 @@ module Profiles
17
17
  @default = nil
18
18
  @description = nil
19
19
  @id = nil
20
- @category = nil
21
20
  @custom = nil
22
21
  @created_by = nil
23
22
  @sections = nil
@@ -206,24 +205,6 @@ module Profiles
206
205
  @key_modified['id'] = 1
207
206
  end
208
207
 
209
- # The method to get the category
210
- # @return A Boolean value
211
-
212
- def category
213
- @category
214
- end
215
-
216
- # The method to set the value to category
217
- # @param category [Boolean] A Boolean
218
-
219
- def category=(category)
220
- if category!=nil and ! [true, false].include?category
221
- raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: category EXPECTED TYPE: Boolean', nil, nil)
222
- end
223
- @category = category
224
- @key_modified['category'] = 1
225
- end
226
-
227
208
  # The method to get the custom
228
209
  # @return A Boolean value
229
210
 
@@ -1,5 +1,4 @@
1
1
  require_relative '../layouts/layout'
2
- require_relative '../record/inventory_line_items'
3
2
  require_relative '../record/participants'
4
3
  require_relative '../record/pricing_details'
5
4
  require_relative '../record/record'
@@ -791,6 +790,10 @@ module Record
791
790
  def self.Carrier
792
791
  @@Carrier
793
792
  end
793
+ @@Quoted_items = Field.new('Quoted_Items')
794
+ def self.Quoted_items
795
+ @@Quoted_items
796
+ end
794
797
  @@Quote_stage = Field.new('Quote_Stage')
795
798
  def self.Quote_stage
796
799
  @@Quote_stage
@@ -827,10 +830,6 @@ module Record
827
830
  def self.Billing_code
828
831
  @@Billing_code
829
832
  end
830
- @@Product_details = Field.new('Product_Details')
831
- def self.Product_details
832
- @@Product_details
833
- end
834
833
  @@Subject = Field.new('Subject')
835
834
  def self.Subject
836
835
  @@Subject
@@ -906,6 +905,10 @@ module Record
906
905
  def self.Modified_by
907
906
  @@Modified_by
908
907
  end
908
+ @@Invoiced_items = Field.new('Invoiced_Items')
909
+ def self.Invoiced_items
910
+ @@Invoiced_items
911
+ end
909
912
  @@Billing_country = Field.new('Billing_Country')
910
913
  def self.Billing_country
911
914
  @@Billing_country
@@ -970,10 +973,6 @@ module Record
970
973
  def self.Billing_code
971
974
  @@Billing_code
972
975
  end
973
- @@Product_details = Field.new('Product_Details')
974
- def self.Product_details
975
- @@Product_details
976
- end
977
976
  @@Subject = Field.new('Subject')
978
977
  def self.Subject
979
978
  @@Subject
@@ -1163,6 +1162,10 @@ module Record
1163
1162
  def self.Carrier
1164
1163
  @@Carrier
1165
1164
  end
1165
+ @@Ordered_items = Field.new('Ordered_Items')
1166
+ def self.Ordered_items
1167
+ @@Ordered_items
1168
+ end
1166
1169
  @@Quote_name = Field.new('Quote_Name')
1167
1170
  def self.Quote_name
1168
1171
  @@Quote_name
@@ -1211,10 +1214,6 @@ module Record
1211
1214
  def self.Billing_code
1212
1215
  @@Billing_code
1213
1216
  end
1214
- @@Product_details = Field.new('Product_Details')
1215
- def self.Product_details
1216
- @@Product_details
1217
- end
1218
1217
  @@Subject = Field.new('Subject')
1219
1218
  def self.Subject
1220
1219
  @@Subject
@@ -1691,6 +1690,10 @@ module Record
1691
1690
  def self.Billing_country
1692
1691
  @@Billing_country
1693
1692
  end
1693
+ @@Purchase_items = Field.new('Purchase_Items')
1694
+ def self.Purchase_items
1695
+ @@Purchase_items
1696
+ end
1694
1697
  @@id = Field.new('id')
1695
1698
  def self.id
1696
1699
  @@id
@@ -1747,10 +1750,6 @@ module Record
1747
1750
  def self.Billing_code
1748
1751
  @@Billing_code
1749
1752
  end
1750
- @@Product_details = Field.new('Product_Details')
1751
- def self.Product_details
1752
- @@Product_details
1753
- end
1754
1753
  @@Subject = Field.new('Subject')
1755
1754
  def self.Subject
1756
1755
  @@Subject
@@ -10,6 +10,7 @@ module Record
10
10
  @name = nil
11
11
  @id = nil
12
12
  @value = nil
13
+ @display_name = nil
13
14
  @key_modified = Hash.new
14
15
  end
15
16
 
@@ -85,6 +86,24 @@ module Record
85
86
  @key_modified['value'] = 1
86
87
  end
87
88
 
89
+ # The method to get the display_name
90
+ # @return A String value
91
+
92
+ def display_name
93
+ @display_name
94
+ end
95
+
96
+ # The method to set the value to display_name
97
+ # @param display_name [String] A String
98
+
99
+ def display_name=(display_name)
100
+ if display_name!=nil and !display_name.is_a? String
101
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: display_name EXPECTED TYPE: String', nil, nil)
102
+ end
103
+ @display_name = display_name
104
+ @key_modified['display_name'] = 1
105
+ end
106
+
88
107
  # The method to check if the user has modified the given key
89
108
  # @param key [String] A String
90
109
  # @return A Integer value
@@ -80,6 +80,23 @@ module Users
80
80
  add_key_value('signature', signature)
81
81
  end
82
82
 
83
+ # The method to get the sort_order_preference
84
+ # @return A String value
85
+
86
+ def sort_order_preference
87
+ get_key_value('sort_order_preference')
88
+ end
89
+
90
+ # The method to set the value to sort_order_preference
91
+ # @param sort_order_preference [String] A String
92
+
93
+ def sort_order_preference=(sort_order_preference)
94
+ if sort_order_preference!=nil and !sort_order_preference.is_a? String
95
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: sort_order_preference EXPECTED TYPE: String', nil, nil)
96
+ end
97
+ add_key_value('sort_order_preference', sort_order_preference)
98
+ end
99
+
83
100
  # The method to get the city
84
101
  # @return A String value
85
102
 
@@ -335,6 +352,23 @@ module Users
335
352
  add_key_value('country_locale', country_locale)
336
353
  end
337
354
 
355
+ # The method to get the sandboxdeveloper
356
+ # @return A Boolean value
357
+
358
+ def sandboxdeveloper
359
+ get_key_value('sandboxDeveloper')
360
+ end
361
+
362
+ # The method to set the value to sandboxdeveloper
363
+ # @param sandboxdeveloper [Boolean] A Boolean
364
+
365
+ def sandboxdeveloper=(sandboxdeveloper)
366
+ if sandboxdeveloper!=nil and ! [true, false].include?sandboxdeveloper
367
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: sandboxdeveloper EXPECTED TYPE: Boolean', nil, nil)
368
+ end
369
+ add_key_value('sandboxDeveloper', sandboxdeveloper)
370
+ end
371
+
338
372
  # The method to get the first_name
339
373
  # @return A String value
340
374
 
@@ -96,7 +96,7 @@ module Util
96
96
 
97
97
  def to_s
98
98
  req_headers = @headers.clone
99
- req_headers [Constants::AUTHORIZATION] = Constants::CANT_DISCLOSE
99
+ req_headers[Constants::AUTHORIZATION] = Constants::CANT_DISCLOSE
100
100
  @request_method + ' - ' + Constants::URL + ' = ' + @url + ', ' + Constants::HEADERS + ' = ' + req_headers.to_s + ', ' + Constants::PARAMS + ' = ' + @parameters.to_s
101
101
  end
102
102
 
@@ -121,10 +121,12 @@ module Handler
121
121
  unless response.body.nil?
122
122
  mime_type = headers[Constants::CONTENT_TYPE]
123
123
 
124
- mime_type = mime_type.split(';')[0] if mime_type.include? ';'
125
- converter_instance = get_converter_class_instance(mime_type.to_s.downcase)
124
+ unless mime_type.nil?
125
+ mime_type = mime_type.split(';')[0] if mime_type.include? ';'
126
+ converter_instance = get_converter_class_instance(mime_type.to_s.downcase)
126
127
 
127
- return_object = converter_instance.get_wrapped_response(response, class_name)
128
+ return_object = converter_instance.get_wrapped_response(response, class_name)
129
+ end
128
130
  end
129
131
 
130
132
  unless return_object.nil?
@@ -96,16 +96,10 @@ class Constants
96
96
 
97
97
  HTTP = 'http'
98
98
 
99
- KEY_VS_INVENTORY_MODULE = {
100
- "Quoted_Items"=>"quotes",
99
+ INVENTORY_MODULES_ITEMS = ["invoiced_items", "quoted_items","purchase_items","ordered_items"]
101
100
 
102
- "Invoiced_Items" => "invoices",
101
+ PRODUCT_NAME = "Product_Name"
103
102
 
104
- "Purchase_Items" => "purchase_orders",
105
-
106
- "Ordered_Items" => "sales_orders"
107
-
108
- }
109
103
  DEFAULT_MODULENAME_VS_APINAME = {
110
104
 
111
105
  "leads" => "Leads",
@@ -166,7 +160,7 @@ class Constants
166
160
 
167
161
  ZOHO_SDK = 'X-ZOHO-SDK'
168
162
 
169
- SDK_VERSION = '3.0.0-beta'
163
+ SDK_VERSION = '3.0.0'
170
164
 
171
165
  SET_CONTENT_TYPE_HEADER = ['/crm/bulk/v2.1/read', '/crm/bulk/v2.1/write']
172
166
 
@@ -210,9 +204,9 @@ class Constants
210
204
 
211
205
  NULL_VALUE_ERROR_MESSAGE = ' MUST NOT be null'
212
206
 
213
- PARAM_INSTANCE_NULL_ERROR = 'Param<T> Instance MUST NOT be null'
207
+ PARAM_INSTANCE_NULL_ERROR = 'Param Instance MUST NOT be null'
214
208
 
215
- HEADER_INSTANCE_NULL_ERROR = 'Header<T> Instance MUST NOT be null'
209
+ HEADER_INSTANCE_NULL_ERROR = 'Header Instance MUST NOT be null'
216
210
 
217
211
  SDK_UNINITIALIZATION_ERROR = 'SDK UNINITIALIZED ERROR'
218
212
 
@@ -220,6 +214,8 @@ class Constants
220
214
 
221
215
  MYSQL_HOST = 'localhost'
222
216
 
217
+ LINEITEM_PRODUCT = "com.zoho.crm.api.record.LineItemProduct"
218
+
223
219
  REFRESH_TOKEN_MESSAGE = 'Access Token has expired. Hence refreshing.'
224
220
 
225
221
  MYSQL_DATABASE_NAME = 'zohooauth'
@@ -398,6 +394,8 @@ class Constants
398
394
 
399
395
  CASES = 'cases'
400
396
 
397
+ DISCOUNT = "DISCOUNT"
398
+
401
399
  CANT_DISCLOSE = " ## can't disclose ## "
402
400
 
403
401
  APPLICATION_FORM_URLENCODED = 'application/x-www-form-urlencoded'