qwil_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +91 -0
  3. data/docs/AccountSerializer.md +18 -0
  4. data/docs/AccountsApi.md +243 -0
  5. data/docs/ApitokenauthApi.md +57 -0
  6. data/docs/CashoutCalculationSerializer.md +10 -0
  7. data/docs/CashoutSerializer.md +20 -0
  8. data/docs/CashoutSliceSerializer.md +11 -0
  9. data/docs/CashoutsApi.md +56 -0
  10. data/docs/CompanyInformationSerializer.md +18 -0
  11. data/docs/ContactInfoSerializer.md +10 -0
  12. data/docs/ContactInformationSerializer.md +16 -0
  13. data/docs/ContractorSerializer.md +20 -0
  14. data/docs/IncomeApi.md +98 -0
  15. data/docs/IncomeNestedSerializer.md +18 -0
  16. data/docs/IncomeSerializer.md +18 -0
  17. data/docs/IncomeSerializerFixedSource.md +18 -0
  18. data/docs/InvoiceSerializer.md +17 -0
  19. data/docs/InvoiceSerializerFixedSourceCreate.md +17 -0
  20. data/docs/InvoicesApi.md +98 -0
  21. data/docs/JSONWebTokenSerializer.md +7 -0
  22. data/docs/ManagerPlatformSerializer.md +22 -0
  23. data/docs/ManagerSerializer.md +10 -0
  24. data/docs/ManagersApi.md +172 -0
  25. data/docs/MembershipSerializer.md +9 -0
  26. data/docs/MembershipsApi.md +56 -0
  27. data/docs/PersonalInformationSerializer.md +16 -0
  28. data/docs/PlaidPublicTokenSerializer.md +8 -0
  29. data/docs/PlatformIncomeRequestSerializer.md +15 -0
  30. data/docs/PlatformMembershipRequestSerializer.md +11 -0
  31. data/docs/PlatformSerializer.md +30 -0
  32. data/docs/PlatformSummarySerializer.md +10 -0
  33. data/docs/PlatformsApi.md +1369 -0
  34. data/docs/RebateSerializer.md +15 -0
  35. data/docs/RebatesApi.md +98 -0
  36. data/docs/ReceivablesSerializer.md +9 -0
  37. data/docs/TaxSavingsSerializer.md +10 -0
  38. data/docs/UserAccountSerializer.md +17 -0
  39. data/docs/UserCashoutSerializer.md +20 -0
  40. data/docs/UserIncomeRequestSerializer.md +15 -0
  41. data/docs/UserPlatformMembershipRequestSerializer.md +13 -0
  42. data/docs/UserSerializer.md +40 -0
  43. data/docs/UsersApi.md +2173 -0
  44. data/docs/WriteAccountSerializer.md +16 -0
  45. data/docs/WriteCashoutCalculationSerializer.md +8 -0
  46. data/docs/WriteCashoutSerializer.md +16 -0
  47. data/docs/WriteCashoutSliceSerializer.md +11 -0
  48. data/docs/WriteCompanyInformationSerializer.md +17 -0
  49. data/docs/WriteContactInfoSerializer.md +10 -0
  50. data/docs/WriteContactInformationSerializer.md +15 -0
  51. data/docs/WriteContractorSerializer.md +14 -0
  52. data/docs/WriteIncomeNestedSerializer.md +12 -0
  53. data/docs/WriteIncomeSerializer.md +13 -0
  54. data/docs/WriteIncomeSerializerFixedSource.md +12 -0
  55. data/docs/WriteInvoiceSerializer.md +13 -0
  56. data/docs/WriteInvoiceSerializerFixedSourceCreate.md +9 -0
  57. data/docs/WriteJSONWebTokenSerializer.md +7 -0
  58. data/docs/WriteManagerPlatformSerializer.md +15 -0
  59. data/docs/WriteManagerSerializer.md +8 -0
  60. data/docs/WriteMembershipSerializer.md +8 -0
  61. data/docs/WritePersonalInformationSerializer.md +16 -0
  62. data/docs/WritePlaidPublicTokenSerializer.md +8 -0
  63. data/docs/WritePlatformIncomeRequestSerializer.md +10 -0
  64. data/docs/WritePlatformMembershipRequestSerializer.md +7 -0
  65. data/docs/WritePlatformSerializer.md +19 -0
  66. data/docs/WritePlatformSummarySerializer.md +8 -0
  67. data/docs/WriteRebateSerializer.md +9 -0
  68. data/docs/WriteReceivablesSerializer.md +8 -0
  69. data/docs/WriteTaxSavingsSerializer.md +8 -0
  70. data/docs/WriteUserAccountSerializer.md +14 -0
  71. data/docs/WriteUserCashoutSerializer.md +15 -0
  72. data/docs/WriteUserIncomeRequestSerializer.md +10 -0
  73. data/docs/WriteUserPlatformMembershipRequestSerializer.md +9 -0
  74. data/docs/WriteUserSerializer.md +21 -0
  75. data/generate-client.sh +6 -0
  76. data/lib/qwil_api/api/accounts_api.rb +320 -0
  77. data/lib/qwil_api/api/apitokenauth_api.rb +87 -0
  78. data/lib/qwil_api/api/cashouts_api.rb +89 -0
  79. data/lib/qwil_api/api/income_api.rb +142 -0
  80. data/lib/qwil_api/api/invoices_api.rb +142 -0
  81. data/lib/qwil_api/api/managers_api.rb +237 -0
  82. data/lib/qwil_api/api/memberships_api.rb +89 -0
  83. data/lib/qwil_api/api/platforms_api.rb +1674 -0
  84. data/lib/qwil_api/api/rebates_api.rb +142 -0
  85. data/lib/qwil_api/api/users_api.rb +2672 -0
  86. data/lib/qwil_api/api_client.rb +376 -0
  87. data/lib/qwil_api/api_error.rb +45 -0
  88. data/lib/qwil_api/configuration.rb +205 -0
  89. data/lib/qwil_api/models/account_serializer.rb +370 -0
  90. data/lib/qwil_api/models/cashout_calculation_serializer.rb +221 -0
  91. data/lib/qwil_api/models/cashout_serializer.rb +379 -0
  92. data/lib/qwil_api/models/cashout_slice_serializer.rb +232 -0
  93. data/lib/qwil_api/models/company_information_serializer.rb +299 -0
  94. data/lib/qwil_api/models/contact_info_serializer.rb +218 -0
  95. data/lib/qwil_api/models/contact_information_serializer.rb +280 -0
  96. data/lib/qwil_api/models/contractor_serializer.rb +361 -0
  97. data/lib/qwil_api/models/income_nested_serializer.rb +302 -0
  98. data/lib/qwil_api/models/income_serializer.rb +302 -0
  99. data/lib/qwil_api/models/income_serializer_fixed_source.rb +302 -0
  100. data/lib/qwil_api/models/invoice_serializer.rb +299 -0
  101. data/lib/qwil_api/models/invoice_serializer_fixed_source_create.rb +299 -0
  102. data/lib/qwil_api/models/json_web_token_serializer.rb +188 -0
  103. data/lib/qwil_api/models/manager_platform_serializer.rb +391 -0
  104. data/lib/qwil_api/models/manager_serializer.rb +218 -0
  105. data/lib/qwil_api/models/membership_serializer.rb +208 -0
  106. data/lib/qwil_api/models/personal_information_serializer.rb +279 -0
  107. data/lib/qwil_api/models/plaid_public_token_serializer.rb +199 -0
  108. data/lib/qwil_api/models/platform_income_request_serializer.rb +307 -0
  109. data/lib/qwil_api/models/platform_membership_request_serializer.rb +262 -0
  110. data/lib/qwil_api/models/platform_serializer.rb +480 -0
  111. data/lib/qwil_api/models/platform_summary_serializer.rb +218 -0
  112. data/lib/qwil_api/models/rebate_serializer.rb +276 -0
  113. data/lib/qwil_api/models/receivables_serializer.rb +208 -0
  114. data/lib/qwil_api/models/tax_savings_serializer.rb +219 -0
  115. data/lib/qwil_api/models/user_account_serializer.rb +359 -0
  116. data/lib/qwil_api/models/user_cashout_serializer.rb +379 -0
  117. data/lib/qwil_api/models/user_income_request_serializer.rb +307 -0
  118. data/lib/qwil_api/models/user_platform_membership_request_serializer.rb +283 -0
  119. data/lib/qwil_api/models/user_serializer.rb +592 -0
  120. data/lib/qwil_api/models/write_account_serializer.rb +331 -0
  121. data/lib/qwil_api/models/write_cashout_calculation_serializer.rb +198 -0
  122. data/lib/qwil_api/models/write_cashout_serializer.rb +316 -0
  123. data/lib/qwil_api/models/write_cashout_slice_serializer.rb +232 -0
  124. data/lib/qwil_api/models/write_company_information_serializer.rb +280 -0
  125. data/lib/qwil_api/models/write_contact_info_serializer.rb +218 -0
  126. data/lib/qwil_api/models/write_contact_information_serializer.rb +262 -0
  127. data/lib/qwil_api/models/write_contractor_serializer.rb +289 -0
  128. data/lib/qwil_api/models/write_income_nested_serializer.rb +236 -0
  129. data/lib/qwil_api/models/write_income_serializer.rb +247 -0
  130. data/lib/qwil_api/models/write_income_serializer_fixed_source.rb +236 -0
  131. data/lib/qwil_api/models/write_invoice_serializer.rb +252 -0
  132. data/lib/qwil_api/models/write_invoice_serializer_fixed_source_create.rb +210 -0
  133. data/lib/qwil_api/models/write_json_web_token_serializer.rb +188 -0
  134. data/lib/qwil_api/models/write_manager_platform_serializer.rb +314 -0
  135. data/lib/qwil_api/models/write_manager_serializer.rb +198 -0
  136. data/lib/qwil_api/models/write_membership_serializer.rb +198 -0
  137. data/lib/qwil_api/models/write_personal_information_serializer.rb +270 -0
  138. data/lib/qwil_api/models/write_plaid_public_token_serializer.rb +199 -0
  139. data/lib/qwil_api/models/write_platform_income_request_serializer.rb +220 -0
  140. data/lib/qwil_api/models/write_platform_membership_request_serializer.rb +188 -0
  141. data/lib/qwil_api/models/write_platform_serializer.rb +309 -0
  142. data/lib/qwil_api/models/write_platform_summary_serializer.rb +198 -0
  143. data/lib/qwil_api/models/write_rebate_serializer.rb +209 -0
  144. data/lib/qwil_api/models/write_receivables_serializer.rb +198 -0
  145. data/lib/qwil_api/models/write_tax_savings_serializer.rb +198 -0
  146. data/lib/qwil_api/models/write_user_account_serializer.rb +312 -0
  147. data/lib/qwil_api/models/write_user_cashout_serializer.rb +307 -0
  148. data/lib/qwil_api/models/write_user_income_request_serializer.rb +220 -0
  149. data/lib/qwil_api/models/write_user_platform_membership_request_serializer.rb +208 -0
  150. data/lib/qwil_api/models/write_user_serializer.rb +358 -0
  151. data/lib/qwil_api/version.rb +24 -0
  152. data/lib/qwil_api.rb +51 -0
  153. data/qwil_api.gemspec +53 -0
  154. data/spec/api/accounts_api_spec.rb +110 -0
  155. data/spec/api/apitokenauth_api_spec.rb +56 -0
  156. data/spec/api/cashouts_api_spec.rb +56 -0
  157. data/spec/api/income_api_spec.rb +67 -0
  158. data/spec/api/invoices_api_spec.rb +67 -0
  159. data/spec/api/managers_api_spec.rb +88 -0
  160. data/spec/api/memberships_api_spec.rb +56 -0
  161. data/spec/api/platforms_api_spec.rb +398 -0
  162. data/spec/api/rebates_api_spec.rb +67 -0
  163. data/spec/api/users_api_spec.rb +625 -0
  164. data/spec/api_client_spec.rb +235 -0
  165. data/spec/configuration_spec.rb +51 -0
  166. data/spec/models/account_serializer_spec.rb +111 -0
  167. data/spec/models/cashout_calculation_serializer_spec.rb +63 -0
  168. data/spec/models/cashout_serializer_spec.rb +135 -0
  169. data/spec/models/cashout_slice_serializer_spec.rb +69 -0
  170. data/spec/models/company_information_serializer_spec.rb +111 -0
  171. data/spec/models/contact_info_serializer_spec.rb +63 -0
  172. data/spec/models/contact_information_serializer_spec.rb +99 -0
  173. data/spec/models/contractor_serializer_spec.rb +127 -0
  174. data/spec/models/income_nested_serializer_spec.rb +111 -0
  175. data/spec/models/income_serializer_fixed_source_spec.rb +111 -0
  176. data/spec/models/income_serializer_spec.rb +111 -0
  177. data/spec/models/invoice_serializer_fixed_source_create_spec.rb +105 -0
  178. data/spec/models/invoice_serializer_spec.rb +105 -0
  179. data/spec/models/json_web_token_serializer_spec.rb +45 -0
  180. data/spec/models/manager_platform_serializer_spec.rb +143 -0
  181. data/spec/models/manager_serializer_spec.rb +63 -0
  182. data/spec/models/membership_serializer_spec.rb +57 -0
  183. data/spec/models/personal_information_serializer_spec.rb +99 -0
  184. data/spec/models/plaid_public_token_serializer_spec.rb +51 -0
  185. data/spec/models/platform_income_request_serializer_spec.rb +97 -0
  186. data/spec/models/platform_membership_request_serializer_spec.rb +73 -0
  187. data/spec/models/platform_serializer_spec.rb +191 -0
  188. data/spec/models/platform_summary_serializer_spec.rb +63 -0
  189. data/spec/models/rebate_serializer_spec.rb +93 -0
  190. data/spec/models/receivables_serializer_spec.rb +57 -0
  191. data/spec/models/tax_savings_serializer_spec.rb +63 -0
  192. data/spec/models/user_account_serializer_spec.rb +105 -0
  193. data/spec/models/user_cashout_serializer_spec.rb +135 -0
  194. data/spec/models/user_income_request_serializer_spec.rb +97 -0
  195. data/spec/models/user_platform_membership_request_serializer_spec.rb +85 -0
  196. data/spec/models/user_serializer_spec.rb +251 -0
  197. data/spec/models/write_account_serializer_spec.rb +99 -0
  198. data/spec/models/write_cashout_calculation_serializer_spec.rb +51 -0
  199. data/spec/models/write_cashout_serializer_spec.rb +107 -0
  200. data/spec/models/write_cashout_slice_serializer_spec.rb +69 -0
  201. data/spec/models/write_company_information_serializer_spec.rb +105 -0
  202. data/spec/models/write_contact_info_serializer_spec.rb +63 -0
  203. data/spec/models/write_contact_information_serializer_spec.rb +93 -0
  204. data/spec/models/write_contractor_serializer_spec.rb +91 -0
  205. data/spec/models/write_income_nested_serializer_spec.rb +75 -0
  206. data/spec/models/write_income_serializer_fixed_source_spec.rb +75 -0
  207. data/spec/models/write_income_serializer_spec.rb +81 -0
  208. data/spec/models/write_invoice_serializer_fixed_source_create_spec.rb +57 -0
  209. data/spec/models/write_invoice_serializer_spec.rb +81 -0
  210. data/spec/models/write_json_web_token_serializer_spec.rb +45 -0
  211. data/spec/models/write_manager_platform_serializer_spec.rb +101 -0
  212. data/spec/models/write_manager_serializer_spec.rb +51 -0
  213. data/spec/models/write_membership_serializer_spec.rb +51 -0
  214. data/spec/models/write_personal_information_serializer_spec.rb +99 -0
  215. data/spec/models/write_plaid_public_token_serializer_spec.rb +51 -0
  216. data/spec/models/write_platform_income_request_serializer_spec.rb +63 -0
  217. data/spec/models/write_platform_membership_request_serializer_spec.rb +45 -0
  218. data/spec/models/write_platform_serializer_spec.rb +117 -0
  219. data/spec/models/write_platform_summary_serializer_spec.rb +51 -0
  220. data/spec/models/write_rebate_serializer_spec.rb +57 -0
  221. data/spec/models/write_receivables_serializer_spec.rb +51 -0
  222. data/spec/models/write_tax_savings_serializer_spec.rb +51 -0
  223. data/spec/models/write_user_account_serializer_spec.rb +87 -0
  224. data/spec/models/write_user_cashout_serializer_spec.rb +101 -0
  225. data/spec/models/write_user_income_request_serializer_spec.rb +63 -0
  226. data/spec/models/write_user_platform_membership_request_serializer_spec.rb +57 -0
  227. data/spec/models/write_user_serializer_spec.rb +133 -0
  228. data/spec/spec_helper.rb +120 -0
  229. data/swagger-codegen-config.json +9 -0
  230. metadata +527 -0
@@ -0,0 +1,480 @@
1
+ =begin
2
+ #No descripton provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
3
+
4
+ OpenAPI spec version:
5
+
6
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+
20
+ =end
21
+
22
+ require 'date'
23
+
24
+ module QwilAPI
25
+
26
+ class PlatformSerializer
27
+ attr_accessor :url
28
+
29
+ attr_accessor :contractors
30
+
31
+ attr_accessor :income
32
+
33
+ attr_accessor :invoices
34
+
35
+ attr_accessor :create_invoice
36
+
37
+ # URL of the list of platform membership requests.
38
+ attr_accessor :membership_requests
39
+
40
+ # URL of the list of income requests.
41
+ attr_accessor :income_requests
42
+
43
+ # URL of the list of Platform Memberships.
44
+ attr_accessor :memberships
45
+
46
+ attr_accessor :name
47
+
48
+ # The frequency of contractor rebates on this platform.
49
+ attr_accessor :payment_schedule
50
+
51
+ # The date that the first payment is due for the platform's pay cycle.
52
+ attr_accessor :payment_date
53
+
54
+ # Flag specifying if the Platform's Invoices should be debited automatically.
55
+ attr_accessor :automatic_debit
56
+
57
+ # The ISO 4217 currency code for which all payments for this Platform are handled. Note: Immutable after Platform is created.
58
+ attr_accessor :currency
59
+
60
+ attr_accessor :thumbnail_url
61
+
62
+ # If True, this platform is has been validated as a real company.
63
+ attr_accessor :validated
64
+
65
+ # If True, this platform is featured in the search list.
66
+ attr_accessor :featured
67
+
68
+ # If True, all users on this platform are demo users, and no payments will be debited/credited.
69
+ attr_accessor :is_demo_platform
70
+
71
+ # If True, this platform can enable the Xero integration.
72
+ attr_accessor :xero_enabled
73
+
74
+ # If True, enable experimental IncomeRequest UI for this User.
75
+ attr_accessor :use_income_requests
76
+
77
+ # Flag indicating if we should send any emails to Users on this Platform. If not set, email checks fall through to global defaults.
78
+ attr_accessor :enable_emails
79
+
80
+ # The account to use for billing purposes.
81
+ attr_accessor :default_account
82
+
83
+ attr_accessor :manager
84
+
85
+ # The accounts configured for billing on this Platform.
86
+ attr_accessor :accounts
87
+
88
+ class EnumAttributeValidator
89
+ attr_reader :datatype
90
+ attr_reader :allowable_values
91
+
92
+ def initialize(datatype, allowable_values)
93
+ @allowable_values = allowable_values.map do |value|
94
+ case datatype.to_s
95
+ when /Integer/i
96
+ value.to_i
97
+ when /Float/i
98
+ value.to_f
99
+ else
100
+ value
101
+ end
102
+ end
103
+ end
104
+
105
+ def valid?(value)
106
+ !value || allowable_values.include?(value)
107
+ end
108
+ end
109
+
110
+ # Attribute mapping from ruby-style variable name to JSON key.
111
+ def self.attribute_map
112
+ {
113
+ :'url' => :'url',
114
+ :'contractors' => :'contractors',
115
+ :'income' => :'income',
116
+ :'invoices' => :'invoices',
117
+ :'create_invoice' => :'create_invoice',
118
+ :'membership_requests' => :'membership_requests',
119
+ :'income_requests' => :'income_requests',
120
+ :'memberships' => :'memberships',
121
+ :'name' => :'name',
122
+ :'payment_schedule' => :'payment_schedule',
123
+ :'payment_date' => :'payment_date',
124
+ :'automatic_debit' => :'automatic_debit',
125
+ :'currency' => :'currency',
126
+ :'thumbnail_url' => :'thumbnail_url',
127
+ :'validated' => :'validated',
128
+ :'featured' => :'featured',
129
+ :'is_demo_platform' => :'is_demo_platform',
130
+ :'xero_enabled' => :'xero_enabled',
131
+ :'use_income_requests' => :'use_income_requests',
132
+ :'enable_emails' => :'enable_emails',
133
+ :'default_account' => :'default_account',
134
+ :'manager' => :'manager',
135
+ :'accounts' => :'accounts'
136
+ }
137
+ end
138
+
139
+ # Attribute type mapping.
140
+ def self.swagger_types
141
+ {
142
+ :'url' => :'String',
143
+ :'contractors' => :'String',
144
+ :'income' => :'String',
145
+ :'invoices' => :'String',
146
+ :'create_invoice' => :'String',
147
+ :'membership_requests' => :'String',
148
+ :'income_requests' => :'String',
149
+ :'memberships' => :'String',
150
+ :'name' => :'String',
151
+ :'payment_schedule' => :'String',
152
+ :'payment_date' => :'Date',
153
+ :'automatic_debit' => :'BOOLEAN',
154
+ :'currency' => :'String',
155
+ :'thumbnail_url' => :'String',
156
+ :'validated' => :'BOOLEAN',
157
+ :'featured' => :'BOOLEAN',
158
+ :'is_demo_platform' => :'BOOLEAN',
159
+ :'xero_enabled' => :'BOOLEAN',
160
+ :'use_income_requests' => :'BOOLEAN',
161
+ :'enable_emails' => :'BOOLEAN',
162
+ :'default_account' => :'String',
163
+ :'manager' => :'String',
164
+ :'accounts' => :'Array<String>'
165
+ }
166
+ end
167
+
168
+ # Initializes the object
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ def initialize(attributes = {})
171
+ return unless attributes.is_a?(Hash)
172
+
173
+ # convert string to symbol for hash key
174
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
175
+
176
+ if attributes.has_key?(:'url')
177
+ self.url = attributes[:'url']
178
+ end
179
+
180
+ if attributes.has_key?(:'contractors')
181
+ self.contractors = attributes[:'contractors']
182
+ end
183
+
184
+ if attributes.has_key?(:'income')
185
+ self.income = attributes[:'income']
186
+ end
187
+
188
+ if attributes.has_key?(:'invoices')
189
+ self.invoices = attributes[:'invoices']
190
+ end
191
+
192
+ if attributes.has_key?(:'create_invoice')
193
+ self.create_invoice = attributes[:'create_invoice']
194
+ end
195
+
196
+ if attributes.has_key?(:'membership_requests')
197
+ self.membership_requests = attributes[:'membership_requests']
198
+ end
199
+
200
+ if attributes.has_key?(:'income_requests')
201
+ self.income_requests = attributes[:'income_requests']
202
+ end
203
+
204
+ if attributes.has_key?(:'memberships')
205
+ self.memberships = attributes[:'memberships']
206
+ end
207
+
208
+ if attributes.has_key?(:'name')
209
+ self.name = attributes[:'name']
210
+ end
211
+
212
+ if attributes.has_key?(:'payment_schedule')
213
+ self.payment_schedule = attributes[:'payment_schedule']
214
+ end
215
+
216
+ if attributes.has_key?(:'payment_date')
217
+ self.payment_date = attributes[:'payment_date']
218
+ end
219
+
220
+ if attributes.has_key?(:'automatic_debit')
221
+ self.automatic_debit = attributes[:'automatic_debit']
222
+ end
223
+
224
+ if attributes.has_key?(:'currency')
225
+ self.currency = attributes[:'currency']
226
+ end
227
+
228
+ if attributes.has_key?(:'thumbnail_url')
229
+ self.thumbnail_url = attributes[:'thumbnail_url']
230
+ end
231
+
232
+ if attributes.has_key?(:'validated')
233
+ self.validated = attributes[:'validated']
234
+ end
235
+
236
+ if attributes.has_key?(:'featured')
237
+ self.featured = attributes[:'featured']
238
+ end
239
+
240
+ if attributes.has_key?(:'is_demo_platform')
241
+ self.is_demo_platform = attributes[:'is_demo_platform']
242
+ end
243
+
244
+ if attributes.has_key?(:'xero_enabled')
245
+ self.xero_enabled = attributes[:'xero_enabled']
246
+ end
247
+
248
+ if attributes.has_key?(:'use_income_requests')
249
+ self.use_income_requests = attributes[:'use_income_requests']
250
+ end
251
+
252
+ if attributes.has_key?(:'enable_emails')
253
+ self.enable_emails = attributes[:'enable_emails']
254
+ end
255
+
256
+ if attributes.has_key?(:'default_account')
257
+ self.default_account = attributes[:'default_account']
258
+ end
259
+
260
+ if attributes.has_key?(:'manager')
261
+ self.manager = attributes[:'manager']
262
+ end
263
+
264
+ if attributes.has_key?(:'accounts')
265
+ if (value = attributes[:'accounts']).is_a?(Array)
266
+ self.accounts = value
267
+ end
268
+ end
269
+
270
+ end
271
+
272
+ # Show invalid properties with the reasons. Usually used together with valid?
273
+ # @return Array for valid properies with the reasons
274
+ def list_invalid_properties
275
+ invalid_properties = Array.new
276
+ return invalid_properties
277
+ end
278
+
279
+ # Check to see if the all the properties in the model are valid
280
+ # @return true if the model is valid
281
+ def valid?
282
+ return false if @url.nil?
283
+ return false if @contractors.nil?
284
+ return false if @income.nil?
285
+ return false if @invoices.nil?
286
+ return false if @create_invoice.nil?
287
+ return false if @membership_requests.nil?
288
+ return false if @income_requests.nil?
289
+ return false if @memberships.nil?
290
+ return false if @name.nil?
291
+ return false if @payment_schedule.nil?
292
+ payment_schedule_validator = EnumAttributeValidator.new('String', ["WEEKLY", "FORTNIGHT", "MONTHLY", "DAILY"])
293
+ return false unless payment_schedule_validator.valid?(@payment_schedule)
294
+ return false if @payment_date.nil?
295
+ return false if @automatic_debit.nil?
296
+ return false if @currency.nil?
297
+ currency_validator = EnumAttributeValidator.new('String', ["USD", "GBP"])
298
+ return false unless currency_validator.valid?(@currency)
299
+ return false if @thumbnail_url.nil?
300
+ return false if @validated.nil?
301
+ return false if @featured.nil?
302
+ return false if @is_demo_platform.nil?
303
+ return false if @xero_enabled.nil?
304
+ return false if @use_income_requests.nil?
305
+ return false if @enable_emails.nil?
306
+ return false if @default_account.nil?
307
+ return false if @manager.nil?
308
+ return false if @accounts.nil?
309
+ return true
310
+ end
311
+
312
+ # Custom attribute writer method checking allowed values (enum).
313
+ # @param [Object] payment_schedule Object to be assigned
314
+ def payment_schedule=(payment_schedule)
315
+ validator = EnumAttributeValidator.new('String', ["WEEKLY", "FORTNIGHT", "MONTHLY", "DAILY"])
316
+ unless validator.valid?(payment_schedule)
317
+ fail ArgumentError, "invalid value for 'payment_schedule', must be one of #{validator.allowable_values}."
318
+ end
319
+ @payment_schedule = payment_schedule
320
+ end
321
+
322
+ # Custom attribute writer method checking allowed values (enum).
323
+ # @param [Object] currency Object to be assigned
324
+ def currency=(currency)
325
+ validator = EnumAttributeValidator.new('String', ["USD", "GBP"])
326
+ unless validator.valid?(currency)
327
+ fail ArgumentError, "invalid value for 'currency', must be one of #{validator.allowable_values}."
328
+ end
329
+ @currency = currency
330
+ end
331
+
332
+ # Checks equality by comparing each attribute.
333
+ # @param [Object] Object to be compared
334
+ def ==(o)
335
+ return true if self.equal?(o)
336
+ self.class == o.class &&
337
+ url == o.url &&
338
+ contractors == o.contractors &&
339
+ income == o.income &&
340
+ invoices == o.invoices &&
341
+ create_invoice == o.create_invoice &&
342
+ membership_requests == o.membership_requests &&
343
+ income_requests == o.income_requests &&
344
+ memberships == o.memberships &&
345
+ name == o.name &&
346
+ payment_schedule == o.payment_schedule &&
347
+ payment_date == o.payment_date &&
348
+ automatic_debit == o.automatic_debit &&
349
+ currency == o.currency &&
350
+ thumbnail_url == o.thumbnail_url &&
351
+ validated == o.validated &&
352
+ featured == o.featured &&
353
+ is_demo_platform == o.is_demo_platform &&
354
+ xero_enabled == o.xero_enabled &&
355
+ use_income_requests == o.use_income_requests &&
356
+ enable_emails == o.enable_emails &&
357
+ default_account == o.default_account &&
358
+ manager == o.manager &&
359
+ accounts == o.accounts
360
+ end
361
+
362
+ # @see the `==` method
363
+ # @param [Object] Object to be compared
364
+ def eql?(o)
365
+ self == o
366
+ end
367
+
368
+ # Calculates hash code according to all attributes.
369
+ # @return [Fixnum] Hash code
370
+ def hash
371
+ [url, contractors, income, invoices, create_invoice, membership_requests, income_requests, memberships, name, payment_schedule, payment_date, automatic_debit, currency, thumbnail_url, validated, featured, is_demo_platform, xero_enabled, use_income_requests, enable_emails, default_account, manager, accounts].hash
372
+ end
373
+
374
+ # Builds the object from hash
375
+ # @param [Hash] attributes Model attributes in the form of hash
376
+ # @return [Object] Returns the model itself
377
+ def build_from_hash(attributes)
378
+ return nil unless attributes.is_a?(Hash)
379
+ self.class.swagger_types.each_pair do |key, type|
380
+ if type =~ /^Array<(.*)>/i
381
+ # check to ensure the input is an array given that the the attribute
382
+ # is documented as an array but the input is not
383
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
384
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
385
+ end
386
+ elsif !attributes[self.class.attribute_map[key]].nil?
387
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
388
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
389
+ end
390
+
391
+ self
392
+ end
393
+
394
+ # Deserializes the data based on type
395
+ # @param string type Data type
396
+ # @param string value Value to be deserialized
397
+ # @return [Object] Deserialized data
398
+ def _deserialize(type, value)
399
+ case type.to_sym
400
+ when :DateTime
401
+ DateTime.parse(value)
402
+ when :Date
403
+ Date.parse(value)
404
+ when :String
405
+ value.to_s
406
+ when :Integer
407
+ value.to_i
408
+ when :Float
409
+ value.to_f
410
+ when :BOOLEAN
411
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
412
+ true
413
+ else
414
+ false
415
+ end
416
+ when :Object
417
+ # generic object (usually a Hash), return directly
418
+ value
419
+ when /\AArray<(?<inner_type>.+)>\z/
420
+ inner_type = Regexp.last_match[:inner_type]
421
+ value.map { |v| _deserialize(inner_type, v) }
422
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
423
+ k_type = Regexp.last_match[:k_type]
424
+ v_type = Regexp.last_match[:v_type]
425
+ {}.tap do |hash|
426
+ value.each do |k, v|
427
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
428
+ end
429
+ end
430
+ else # model
431
+ temp_model = QwilAPI.const_get(type).new
432
+ temp_model.build_from_hash(value)
433
+ end
434
+ end
435
+
436
+ # Returns the string representation of the object
437
+ # @return [String] String presentation of the object
438
+ def to_s
439
+ to_hash.to_s
440
+ end
441
+
442
+ # to_body is an alias to to_hash (backward compatibility)
443
+ # @return [Hash] Returns the object in the form of hash
444
+ def to_body
445
+ to_hash
446
+ end
447
+
448
+ # Returns the object in the form of hash
449
+ # @return [Hash] Returns the object in the form of hash
450
+ def to_hash
451
+ hash = {}
452
+ self.class.attribute_map.each_pair do |attr, param|
453
+ value = self.send(attr)
454
+ next if value.nil?
455
+ hash[param] = _to_hash(value)
456
+ end
457
+ hash
458
+ end
459
+
460
+ # Outputs non-array value in the form of hash
461
+ # For object, use to_hash. Otherwise, just return the value
462
+ # @param [Object] value Any valid value
463
+ # @return [Hash] Returns the value in the form of hash
464
+ def _to_hash(value)
465
+ if value.is_a?(Array)
466
+ value.compact.map{ |v| _to_hash(v) }
467
+ elsif value.is_a?(Hash)
468
+ {}.tap do |hash|
469
+ value.each { |k, v| hash[k] = _to_hash(v) }
470
+ end
471
+ elsif value.respond_to? :to_hash
472
+ value.to_hash
473
+ else
474
+ value
475
+ end
476
+ end
477
+
478
+ end
479
+
480
+ end
@@ -0,0 +1,218 @@
1
+ =begin
2
+ #No descripton provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
3
+
4
+ OpenAPI spec version:
5
+
6
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+
20
+ =end
21
+
22
+ require 'date'
23
+
24
+ module QwilAPI
25
+
26
+ class PlatformSummarySerializer
27
+ attr_accessor :url
28
+
29
+ attr_accessor :name
30
+
31
+ attr_accessor :thumbnail_url
32
+
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'url' => :'url',
38
+ :'name' => :'name',
39
+ :'thumbnail_url' => :'thumbnail_url'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+ :'url' => :'String',
47
+ :'name' => :'String',
48
+ :'thumbnail_url' => :'String'
49
+ }
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ return unless attributes.is_a?(Hash)
56
+
57
+ # convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
59
+
60
+ if attributes.has_key?(:'url')
61
+ self.url = attributes[:'url']
62
+ end
63
+
64
+ if attributes.has_key?(:'name')
65
+ self.name = attributes[:'name']
66
+ end
67
+
68
+ if attributes.has_key?(:'thumbnail_url')
69
+ self.thumbnail_url = attributes[:'thumbnail_url']
70
+ end
71
+
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properies with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = Array.new
78
+ return invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ return false if @url.nil?
85
+ return false if @name.nil?
86
+ return false if @thumbnail_url.nil?
87
+ return true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ url == o.url &&
96
+ name == o.name &&
97
+ thumbnail_url == o.thumbnail_url
98
+ end
99
+
100
+ # @see the `==` method
101
+ # @param [Object] Object to be compared
102
+ def eql?(o)
103
+ self == o
104
+ end
105
+
106
+ # Calculates hash code according to all attributes.
107
+ # @return [Fixnum] Hash code
108
+ def hash
109
+ [url, name, thumbnail_url].hash
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def build_from_hash(attributes)
116
+ return nil unless attributes.is_a?(Hash)
117
+ self.class.swagger_types.each_pair do |key, type|
118
+ if type =~ /^Array<(.*)>/i
119
+ # check to ensure the input is an array given that the the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
123
+ end
124
+ elsif !attributes[self.class.attribute_map[key]].nil?
125
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
127
+ end
128
+
129
+ self
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def _deserialize(type, value)
137
+ case type.to_sym
138
+ when :DateTime
139
+ DateTime.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :BOOLEAN
149
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ temp_model = QwilAPI.const_get(type).new
170
+ temp_model.build_from_hash(value)
171
+ end
172
+ end
173
+
174
+ # Returns the string representation of the object
175
+ # @return [String] String presentation of the object
176
+ def to_s
177
+ to_hash.to_s
178
+ end
179
+
180
+ # to_body is an alias to to_hash (backward compatibility)
181
+ # @return [Hash] Returns the object in the form of hash
182
+ def to_body
183
+ to_hash
184
+ end
185
+
186
+ # Returns the object in the form of hash
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_hash
189
+ hash = {}
190
+ self.class.attribute_map.each_pair do |attr, param|
191
+ value = self.send(attr)
192
+ next if value.nil?
193
+ hash[param] = _to_hash(value)
194
+ end
195
+ hash
196
+ end
197
+
198
+ # Outputs non-array value in the form of hash
199
+ # For object, use to_hash. Otherwise, just return the value
200
+ # @param [Object] value Any valid value
201
+ # @return [Hash] Returns the value in the form of hash
202
+ def _to_hash(value)
203
+ if value.is_a?(Array)
204
+ value.compact.map{ |v| _to_hash(v) }
205
+ elsif value.is_a?(Hash)
206
+ {}.tap do |hash|
207
+ value.each { |k, v| hash[k] = _to_hash(v) }
208
+ end
209
+ elsif value.respond_to? :to_hash
210
+ value.to_hash
211
+ else
212
+ value
213
+ end
214
+ end
215
+
216
+ end
217
+
218
+ end