ZCRMSDK 3.0.0.beta → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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'