yousign_client 1.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 (279) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +230 -0
  4. data/Rakefile +8 -0
  5. data/config.json +11 -0
  6. data/docs/AuthenticationEmailOutput.md +10 -0
  7. data/docs/AuthenticationInweboOutput.md +10 -0
  8. data/docs/AuthenticationSmsOutput.md +10 -0
  9. data/docs/AuthenticationsApi.md +320 -0
  10. data/docs/Body.md +8 -0
  11. data/docs/Body1.md +9 -0
  12. data/docs/Body2.md +9 -0
  13. data/docs/CheckDocumentBankAccountsInput.md +13 -0
  14. data/docs/CheckDocumentBankAccountsOutput.md +24 -0
  15. data/docs/CheckDocumentIdentitiesInput.md +11 -0
  16. data/docs/CheckDocumentIdentitiesOutput.md +28 -0
  17. data/docs/CheckDocumentsApi.md +210 -0
  18. data/docs/ConfigEmailTemplate.md +11 -0
  19. data/docs/ConfigWebhookTemplate.md +10 -0
  20. data/docs/ConsentProcessInput.md +14 -0
  21. data/docs/ConsentProcessOutput.md +15 -0
  22. data/docs/ConsentProcessValueInput.md +10 -0
  23. data/docs/ConsentProcessValueOutput.md +12 -0
  24. data/docs/ConsentProcessesApi.md +422 -0
  25. data/docs/FileInput.md +15 -0
  26. data/docs/FileInputMetadata.md +9 -0
  27. data/docs/FileObjectInput.md +21 -0
  28. data/docs/FileObjectInputWithoutFileReference.md +13 -0
  29. data/docs/FileObjectOutput.md +24 -0
  30. data/docs/FileObjectOutputWithoutFileReference.md +17 -0
  31. data/docs/FileObjectsApi.md +220 -0
  32. data/docs/FileOutput.md +19 -0
  33. data/docs/FilesApi.md +218 -0
  34. data/docs/InlineResponse400.md +8 -0
  35. data/docs/InweboUserRequest.md +8 -0
  36. data/docs/MemberInput.md +19 -0
  37. data/docs/MemberOutput.md +24 -0
  38. data/docs/MembersApi.md +272 -0
  39. data/docs/ModeSmsConfiguration.md +8 -0
  40. data/docs/OperationInput.md +14 -0
  41. data/docs/OperationOutput.md +15 -0
  42. data/docs/OperationOutputMetadata.md +9 -0
  43. data/docs/OperationsApi.md +109 -0
  44. data/docs/OrganizationBillingAddress.md +16 -0
  45. data/docs/OrganizationOutput.md +41 -0
  46. data/docs/OrganizationsApi.md +54 -0
  47. data/docs/ProcedureConfig.md +10 -0
  48. data/docs/ProcedureConfigEmail.md +15 -0
  49. data/docs/ProcedureConfigReminder.md +10 -0
  50. data/docs/ProcedureConfigReminderConfig.md +8 -0
  51. data/docs/ProcedureConfigReminderConfigEmail.md +8 -0
  52. data/docs/ProcedureConfigWebhook.md +15 -0
  53. data/docs/ProcedureDuplicateInput.md +9 -0
  54. data/docs/ProcedureInput.md +18 -0
  55. data/docs/ProcedureInputMetadata.md +9 -0
  56. data/docs/ProcedureOutput.md +27 -0
  57. data/docs/ProcedureOutputMetadata.md +9 -0
  58. data/docs/ProcedureRemindConfig.md +8 -0
  59. data/docs/ProcedureRemindConfigEmail.md +8 -0
  60. data/docs/ProcedureRemindInput.md +8 -0
  61. data/docs/ProceduresApi.md +527 -0
  62. data/docs/ServerStampConfig.md +8 -0
  63. data/docs/ServerStampConfigWebhook.md +8 -0
  64. data/docs/ServerStampInput.md +12 -0
  65. data/docs/ServerStampOutput.md +17 -0
  66. data/docs/ServerStampsApi.md +109 -0
  67. data/docs/SignatureUIsApi.md +545 -0
  68. data/docs/SignatureUiInput.md +28 -0
  69. data/docs/SignatureUiInputRedirectCancel.md +10 -0
  70. data/docs/SignatureUiInputRedirectError.md +10 -0
  71. data/docs/SignatureUiInputRedirectSuccess.md +10 -0
  72. data/docs/SignatureUiInputUpdate.md +27 -0
  73. data/docs/SignatureUiLabelInput.md +10 -0
  74. data/docs/SignatureUiLabelInputIncluded.md +9 -0
  75. data/docs/SignatureUiLabelOutput.md +14 -0
  76. data/docs/SignatureUiOutput.md +33 -0
  77. data/docs/SignatureUiOutputRedirectCancel.md +10 -0
  78. data/docs/SignatureUiOutputRedirectError.md +10 -0
  79. data/docs/SignatureUiOutputRedirectSuccess.md +10 -0
  80. data/docs/UserGroup.md +10 -0
  81. data/docs/UserGroupsApi.md +103 -0
  82. data/docs/UserInput.md +17 -0
  83. data/docs/UserInputNotifications.md +8 -0
  84. data/docs/UserOutput.md +29 -0
  85. data/docs/UserOutputNotifications.md +8 -0
  86. data/docs/UserWorkspaceOutput.md +9 -0
  87. data/docs/UsersApi.md +258 -0
  88. data/docs/WorkspaceConfig.md +10 -0
  89. data/docs/WorkspaceConfigEmail.md +15 -0
  90. data/docs/WorkspaceConfigProcedure.md +8 -0
  91. data/docs/WorkspaceOutput.md +16 -0
  92. data/docs/WorkspacesApi.md +54 -0
  93. data/git_push.sh +55 -0
  94. data/lib/yousign_client.rb +126 -0
  95. data/lib/yousign_client/api/authentications_api.rb +410 -0
  96. data/lib/yousign_client/api/check_documents_api.rb +269 -0
  97. data/lib/yousign_client/api/consent_processes_api.rb +528 -0
  98. data/lib/yousign_client/api/file_objects_api.rb +282 -0
  99. data/lib/yousign_client/api/files_api.rb +279 -0
  100. data/lib/yousign_client/api/members_api.rb +340 -0
  101. data/lib/yousign_client/api/operations_api.rb +148 -0
  102. data/lib/yousign_client/api/organizations_api.rb +76 -0
  103. data/lib/yousign_client/api/procedures_api.rb +680 -0
  104. data/lib/yousign_client/api/server_stamps_api.rb +146 -0
  105. data/lib/yousign_client/api/signature_u_is_api.rb +669 -0
  106. data/lib/yousign_client/api/user_groups_api.rb +135 -0
  107. data/lib/yousign_client/api/users_api.rb +327 -0
  108. data/lib/yousign_client/api/workspaces_api.rb +76 -0
  109. data/lib/yousign_client/api_client.rb +391 -0
  110. data/lib/yousign_client/api_error.rb +38 -0
  111. data/lib/yousign_client/configuration.rb +209 -0
  112. data/lib/yousign_client/models/authentication_email_output.rb +239 -0
  113. data/lib/yousign_client/models/authentication_inwebo_output.rb +239 -0
  114. data/lib/yousign_client/models/authentication_sms_output.rb +239 -0
  115. data/lib/yousign_client/models/body.rb +185 -0
  116. data/lib/yousign_client/models/body_1.rb +200 -0
  117. data/lib/yousign_client/models/body_2.rb +200 -0
  118. data/lib/yousign_client/models/check_document_bank_accounts_input.rb +240 -0
  119. data/lib/yousign_client/models/check_document_bank_accounts_output.rb +394 -0
  120. data/lib/yousign_client/models/check_document_identities_input.rb +222 -0
  121. data/lib/yousign_client/models/check_document_identities_output.rb +440 -0
  122. data/lib/yousign_client/models/config_email_template.rb +256 -0
  123. data/lib/yousign_client/models/config_webhook_template.rb +246 -0
  124. data/lib/yousign_client/models/consent_process_input.rb +293 -0
  125. data/lib/yousign_client/models/consent_process_output.rb +298 -0
  126. data/lib/yousign_client/models/consent_process_value_input.rb +215 -0
  127. data/lib/yousign_client/models/consent_process_value_output.rb +235 -0
  128. data/lib/yousign_client/models/file_input.rb +304 -0
  129. data/lib/yousign_client/models/file_input_metadata.rb +194 -0
  130. data/lib/yousign_client/models/file_object_input.rb +445 -0
  131. data/lib/yousign_client/models/file_object_input_without_file_reference.rb +252 -0
  132. data/lib/yousign_client/models/file_object_output.rb +489 -0
  133. data/lib/yousign_client/models/file_object_output_without_file_reference.rb +307 -0
  134. data/lib/yousign_client/models/file_output.rb +374 -0
  135. data/lib/yousign_client/models/inline_response_400.rb +185 -0
  136. data/lib/yousign_client/models/inwebo_user_request.rb +200 -0
  137. data/lib/yousign_client/models/member_input.rb +343 -0
  138. data/lib/yousign_client/models/member_output.rb +432 -0
  139. data/lib/yousign_client/models/mode_sms_configuration.rb +190 -0
  140. data/lib/yousign_client/models/operation_input.rb +313 -0
  141. data/lib/yousign_client/models/operation_output.rb +311 -0
  142. data/lib/yousign_client/models/operation_output_metadata.rb +194 -0
  143. data/lib/yousign_client/models/organization_billing_address.rb +256 -0
  144. data/lib/yousign_client/models/organization_output.rb +530 -0
  145. data/lib/yousign_client/models/procedure_config.rb +204 -0
  146. data/lib/yousign_client/models/procedure_config_email.rb +263 -0
  147. data/lib/yousign_client/models/procedure_config_reminder.rb +256 -0
  148. data/lib/yousign_client/models/procedure_config_reminder_config.rb +184 -0
  149. data/lib/yousign_client/models/procedure_config_reminder_config_email.rb +186 -0
  150. data/lib/yousign_client/models/procedure_config_webhook.rb +263 -0
  151. data/lib/yousign_client/models/procedure_duplicate_input.rb +197 -0
  152. data/lib/yousign_client/models/procedure_input.rb +289 -0
  153. data/lib/yousign_client/models/procedure_input_metadata.rb +194 -0
  154. data/lib/yousign_client/models/procedure_output.rb +457 -0
  155. data/lib/yousign_client/models/procedure_output_metadata.rb +194 -0
  156. data/lib/yousign_client/models/procedure_remind_config.rb +184 -0
  157. data/lib/yousign_client/models/procedure_remind_config_email.rb +186 -0
  158. data/lib/yousign_client/models/procedure_remind_input.rb +184 -0
  159. data/lib/yousign_client/models/server_stamp_config.rb +184 -0
  160. data/lib/yousign_client/models/server_stamp_config_webhook.rb +186 -0
  161. data/lib/yousign_client/models/server_stamp_input.rb +242 -0
  162. data/lib/yousign_client/models/server_stamp_output.rb +352 -0
  163. data/lib/yousign_client/models/signature_ui_input.rb +456 -0
  164. data/lib/yousign_client/models/signature_ui_input_redirect_cancel.rb +244 -0
  165. data/lib/yousign_client/models/signature_ui_input_redirect_error.rb +247 -0
  166. data/lib/yousign_client/models/signature_ui_input_redirect_success.rb +242 -0
  167. data/lib/yousign_client/models/signature_ui_input_update.rb +421 -0
  168. data/lib/yousign_client/models/signature_ui_label_input.rb +210 -0
  169. data/lib/yousign_client/models/signature_ui_label_input_included.rb +200 -0
  170. data/lib/yousign_client/models/signature_ui_label_output.rb +245 -0
  171. data/lib/yousign_client/models/signature_ui_output.rb +481 -0
  172. data/lib/yousign_client/models/signature_ui_output_redirect_cancel.rb +242 -0
  173. data/lib/yousign_client/models/signature_ui_output_redirect_error.rb +247 -0
  174. data/lib/yousign_client/models/signature_ui_output_redirect_success.rb +242 -0
  175. data/lib/yousign_client/models/user_group.rb +249 -0
  176. data/lib/yousign_client/models/user_input.rb +341 -0
  177. data/lib/yousign_client/models/user_input_notifications.rb +185 -0
  178. data/lib/yousign_client/models/user_output.rb +457 -0
  179. data/lib/yousign_client/models/user_output_notifications.rb +185 -0
  180. data/lib/yousign_client/models/user_workspace_output.rb +210 -0
  181. data/lib/yousign_client/models/workspace_config.rb +226 -0
  182. data/lib/yousign_client/models/workspace_config_email.rb +263 -0
  183. data/lib/yousign_client/models/workspace_config_procedure.rb +208 -0
  184. data/lib/yousign_client/models/workspace_output.rb +275 -0
  185. data/lib/yousign_client/version.rb +15 -0
  186. data/spec/api/authentications_api_spec.rb +113 -0
  187. data/spec/api/check_documents_api_spec.rb +85 -0
  188. data/spec/api/consent_processes_api_spec.rb +138 -0
  189. data/spec/api/file_objects_api_spec.rb +90 -0
  190. data/spec/api/files_api_spec.rb +89 -0
  191. data/spec/api/members_api_spec.rb +103 -0
  192. data/spec/api/operations_api_spec.rb +60 -0
  193. data/spec/api/organizations_api_spec.rb +46 -0
  194. data/spec/api/procedures_api_spec.rb +178 -0
  195. data/spec/api/server_stamps_api_spec.rb +60 -0
  196. data/spec/api/signature_u_is_api_spec.rb +170 -0
  197. data/spec/api/user_groups_api_spec.rb +58 -0
  198. data/spec/api/users_api_spec.rb +97 -0
  199. data/spec/api/workspaces_api_spec.rb +46 -0
  200. data/spec/api_client_spec.rb +243 -0
  201. data/spec/configuration_spec.rb +42 -0
  202. data/spec/models/authentication_email_output_spec.rb +57 -0
  203. data/spec/models/authentication_inwebo_output_spec.rb +57 -0
  204. data/spec/models/authentication_sms_output_spec.rb +57 -0
  205. data/spec/models/body_1_spec.rb +47 -0
  206. data/spec/models/body_2_spec.rb +47 -0
  207. data/spec/models/body_spec.rb +41 -0
  208. data/spec/models/check_document_bank_accounts_input_spec.rb +71 -0
  209. data/spec/models/check_document_bank_accounts_output_spec.rb +141 -0
  210. data/spec/models/check_document_identities_input_spec.rb +59 -0
  211. data/spec/models/check_document_identities_output_spec.rb +165 -0
  212. data/spec/models/config_email_template_spec.rb +63 -0
  213. data/spec/models/config_webhook_template_spec.rb +57 -0
  214. data/spec/models/consent_process_input_spec.rb +81 -0
  215. data/spec/models/consent_process_output_spec.rb +87 -0
  216. data/spec/models/consent_process_value_input_spec.rb +53 -0
  217. data/spec/models/consent_process_value_output_spec.rb +65 -0
  218. data/spec/models/file_input_metadata_spec.rb +47 -0
  219. data/spec/models/file_input_spec.rb +87 -0
  220. data/spec/models/file_object_input_spec.rb +127 -0
  221. data/spec/models/file_object_input_without_file_reference_spec.rb +71 -0
  222. data/spec/models/file_object_output_spec.rb +145 -0
  223. data/spec/models/file_object_output_without_file_reference_spec.rb +95 -0
  224. data/spec/models/file_output_spec.rb +111 -0
  225. data/spec/models/inline_response_400_spec.rb +41 -0
  226. data/spec/models/inwebo_user_request_spec.rb +41 -0
  227. data/spec/models/member_input_spec.rb +119 -0
  228. data/spec/models/member_output_spec.rb +153 -0
  229. data/spec/models/mode_sms_configuration_spec.rb +41 -0
  230. data/spec/models/operation_input_spec.rb +89 -0
  231. data/spec/models/operation_output_metadata_spec.rb +47 -0
  232. data/spec/models/operation_output_spec.rb +95 -0
  233. data/spec/models/organization_billing_address_spec.rb +89 -0
  234. data/spec/models/organization_output_spec.rb +239 -0
  235. data/spec/models/procedure_config_email_spec.rb +83 -0
  236. data/spec/models/procedure_config_reminder_config_email_spec.rb +41 -0
  237. data/spec/models/procedure_config_reminder_config_spec.rb +41 -0
  238. data/spec/models/procedure_config_reminder_spec.rb +53 -0
  239. data/spec/models/procedure_config_spec.rb +53 -0
  240. data/spec/models/procedure_config_webhook_spec.rb +83 -0
  241. data/spec/models/procedure_duplicate_input_spec.rb +47 -0
  242. data/spec/models/procedure_input_metadata_spec.rb +47 -0
  243. data/spec/models/procedure_input_spec.rb +101 -0
  244. data/spec/models/procedure_output_metadata_spec.rb +47 -0
  245. data/spec/models/procedure_output_spec.rb +159 -0
  246. data/spec/models/procedure_remind_config_email_spec.rb +41 -0
  247. data/spec/models/procedure_remind_config_spec.rb +41 -0
  248. data/spec/models/procedure_remind_input_spec.rb +41 -0
  249. data/spec/models/server_stamp_config_spec.rb +41 -0
  250. data/spec/models/server_stamp_config_webhook_spec.rb +41 -0
  251. data/spec/models/server_stamp_input_spec.rb +65 -0
  252. data/spec/models/server_stamp_output_spec.rb +99 -0
  253. data/spec/models/signature_ui_input_redirect_cancel_spec.rb +57 -0
  254. data/spec/models/signature_ui_input_redirect_error_spec.rb +57 -0
  255. data/spec/models/signature_ui_input_redirect_success_spec.rb +57 -0
  256. data/spec/models/signature_ui_input_spec.rb +165 -0
  257. data/spec/models/signature_ui_input_update_spec.rb +159 -0
  258. data/spec/models/signature_ui_label_input_included_spec.rb +47 -0
  259. data/spec/models/signature_ui_label_input_spec.rb +53 -0
  260. data/spec/models/signature_ui_label_output_spec.rb +77 -0
  261. data/spec/models/signature_ui_output_redirect_cancel_spec.rb +57 -0
  262. data/spec/models/signature_ui_output_redirect_error_spec.rb +57 -0
  263. data/spec/models/signature_ui_output_redirect_success_spec.rb +57 -0
  264. data/spec/models/signature_ui_output_spec.rb +195 -0
  265. data/spec/models/user_group_spec.rb +57 -0
  266. data/spec/models/user_input_notifications_spec.rb +41 -0
  267. data/spec/models/user_input_spec.rb +99 -0
  268. data/spec/models/user_output_notifications_spec.rb +41 -0
  269. data/spec/models/user_output_spec.rb +171 -0
  270. data/spec/models/user_workspace_output_spec.rb +47 -0
  271. data/spec/models/workspace_config_email_spec.rb +83 -0
  272. data/spec/models/workspace_config_procedure_spec.rb +45 -0
  273. data/spec/models/workspace_config_spec.rb +57 -0
  274. data/spec/models/workspace_output_spec.rb +89 -0
  275. data/spec/spec_helper.rb +111 -0
  276. data/update_client.sh +11 -0
  277. data/yousign_client.gemspec +45 -0
  278. data/yousign_openapi.json +5417 -0
  279. metadata +590 -0
@@ -0,0 +1,252 @@
1
+ =begin
2
+ #Yousign API Swagger
3
+
4
+ #For your information, the Yousign API documentation is available at https://dev.yousign.com/
5
+
6
+ OpenAPI spec version: 2.1
7
+ Contact: support@yousign.fr
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module YousignClient
16
+ class FileObjectInputWithoutFileReference
17
+ # Page of the visible signature. This property is ignored if fieldName is set. If you want a visible signature, you must set page, position and fieldName.
18
+ attr_accessor :page
19
+
20
+ # Coordinates of the signature image to set. Format is : \"llx,lly,urx,ury\". llx=left lower x coordinate, lly=left lower y coordinate, urx=upper right x coordinate, ury = upper right y coordinate. To get easily coordinates, you could use this tool : http://placeit.yousign.fr
21
+ attr_accessor :position
22
+
23
+ # Name of the signature field existing in the document, it will be not used on the signature image.
24
+ attr_accessor :field_name
25
+
26
+ # Text associated above the signature image. You can use some variable inside : {{date.en}} {{date.fr}} {{time.en}} {{time.fr}} that it will be parsed to show the date of the signature.
27
+ attr_accessor :mention
28
+
29
+ # Text associated below the signature image. You can use some variable inside : {{date.en}} {{date.fr}} {{time.en}} {{time.fr}} that it will be parsed to show the date of the signature.
30
+ attr_accessor :mention2
31
+
32
+ # The reason they are signing the agreement
33
+ attr_accessor :reason
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'page' => :'page',
39
+ :'position' => :'position',
40
+ :'field_name' => :'fieldName',
41
+ :'mention' => :'mention',
42
+ :'mention2' => :'mention2',
43
+ :'reason' => :'reason'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.swagger_types
49
+ {
50
+ :'page' => :'Integer',
51
+ :'position' => :'String',
52
+ :'field_name' => :'String',
53
+ :'mention' => :'String',
54
+ :'mention2' => :'String',
55
+ :'reason' => :'String'
56
+ }
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ return unless attributes.is_a?(Hash)
63
+
64
+ # convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
66
+
67
+ if attributes.has_key?(:'page')
68
+ self.page = attributes[:'page']
69
+ end
70
+
71
+ if attributes.has_key?(:'position')
72
+ self.position = attributes[:'position']
73
+ end
74
+
75
+ if attributes.has_key?(:'fieldName')
76
+ self.field_name = attributes[:'fieldName']
77
+ end
78
+
79
+ if attributes.has_key?(:'mention')
80
+ self.mention = attributes[:'mention']
81
+ end
82
+
83
+ if attributes.has_key?(:'mention2')
84
+ self.mention2 = attributes[:'mention2']
85
+ end
86
+
87
+ if attributes.has_key?(:'reason')
88
+ self.reason = attributes[:'reason']
89
+ else
90
+ self.reason = 'Signed by Yousign'
91
+ end
92
+ end
93
+
94
+ # Show invalid properties with the reasons. Usually used together with valid?
95
+ # @return Array for valid properties with the reasons
96
+ def list_invalid_properties
97
+ invalid_properties = Array.new
98
+ if !@position.nil? && @position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
99
+ invalid_properties.push('invalid value for "position", must conform to the pattern /^\\d+(,\\d+){3}$/.')
100
+ end
101
+
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ return false if !@position.nil? && @position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
109
+ true
110
+ end
111
+
112
+ # Custom attribute writer method with validation
113
+ # @param [Object] position Value to be assigned
114
+ def position=(position)
115
+ if !position.nil? && position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
116
+ fail ArgumentError, 'invalid value for "position", must conform to the pattern /^\\d+(,\\d+){3}$/.'
117
+ end
118
+
119
+ @position = position
120
+ end
121
+
122
+ # Checks equality by comparing each attribute.
123
+ # @param [Object] Object to be compared
124
+ def ==(o)
125
+ return true if self.equal?(o)
126
+ self.class == o.class &&
127
+ page == o.page &&
128
+ position == o.position &&
129
+ field_name == o.field_name &&
130
+ mention == o.mention &&
131
+ mention2 == o.mention2 &&
132
+ reason == o.reason
133
+ end
134
+
135
+ # @see the `==` method
136
+ # @param [Object] Object to be compared
137
+ def eql?(o)
138
+ self == o
139
+ end
140
+
141
+ # Calculates hash code according to all attributes.
142
+ # @return [Fixnum] Hash code
143
+ def hash
144
+ [page, position, field_name, mention, mention2, reason].hash
145
+ end
146
+
147
+ # Builds the object from hash
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ # @return [Object] Returns the model itself
150
+ def build_from_hash(attributes)
151
+ return nil unless attributes.is_a?(Hash)
152
+ self.class.swagger_types.each_pair do |key, type|
153
+ if type =~ /\AArray<(.*)>/i
154
+ # check to ensure the input is an array given that the attribute
155
+ # is documented as an array but the input is not
156
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
157
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
158
+ end
159
+ elsif !attributes[self.class.attribute_map[key]].nil?
160
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
161
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
162
+ end
163
+
164
+ self
165
+ end
166
+
167
+ # Deserializes the data based on type
168
+ # @param string type Data type
169
+ # @param string value Value to be deserialized
170
+ # @return [Object] Deserialized data
171
+ def _deserialize(type, value)
172
+ case type.to_sym
173
+ when :DateTime
174
+ DateTime.parse(value)
175
+ when :Date
176
+ Date.parse(value)
177
+ when :String
178
+ value.to_s
179
+ when :Integer
180
+ value.to_i
181
+ when :Float
182
+ value.to_f
183
+ when :BOOLEAN
184
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
185
+ true
186
+ else
187
+ false
188
+ end
189
+ when :Object
190
+ # generic object (usually a Hash), return directly
191
+ value
192
+ when /\AArray<(?<inner_type>.+)>\z/
193
+ inner_type = Regexp.last_match[:inner_type]
194
+ value.map { |v| _deserialize(inner_type, v) }
195
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
196
+ k_type = Regexp.last_match[:k_type]
197
+ v_type = Regexp.last_match[:v_type]
198
+ {}.tap do |hash|
199
+ value.each do |k, v|
200
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
201
+ end
202
+ end
203
+ else # model
204
+ temp_model = YousignClient.const_get(type).new
205
+ temp_model.build_from_hash(value)
206
+ end
207
+ end
208
+
209
+ # Returns the string representation of the object
210
+ # @return [String] String presentation of the object
211
+ def to_s
212
+ to_hash.to_s
213
+ end
214
+
215
+ # to_body is an alias to to_hash (backward compatibility)
216
+ # @return [Hash] Returns the object in the form of hash
217
+ def to_body
218
+ to_hash
219
+ end
220
+
221
+ # Returns the object in the form of hash
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_hash
224
+ hash = {}
225
+ self.class.attribute_map.each_pair do |attr, param|
226
+ value = self.send(attr)
227
+ next if value.nil?
228
+ hash[param] = _to_hash(value)
229
+ end
230
+ hash
231
+ end
232
+
233
+ # Outputs non-array value in the form of hash
234
+ # For object, use to_hash. Otherwise, just return the value
235
+ # @param [Object] value Any valid value
236
+ # @return [Hash] Returns the value in the form of hash
237
+ def _to_hash(value)
238
+ if value.is_a?(Array)
239
+ value.compact.map { |v| _to_hash(v) }
240
+ elsif value.is_a?(Hash)
241
+ {}.tap do |hash|
242
+ value.each { |k, v| hash[k] = _to_hash(v) }
243
+ end
244
+ elsif value.respond_to? :to_hash
245
+ value.to_hash
246
+ else
247
+ value
248
+ end
249
+ end
250
+
251
+ end
252
+ end
@@ -0,0 +1,489 @@
1
+ =begin
2
+ #Yousign API Swagger
3
+
4
+ #For your information, the Yousign API documentation is available at https://dev.yousign.com/
5
+
6
+ OpenAPI spec version: 2.1
7
+ Contact: support@yousign.fr
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module YousignClient
16
+ class FileObjectOutput
17
+ # Id of the object
18
+ attr_accessor :id
19
+
20
+ attr_accessor :file
21
+
22
+ # Page of the visible signature. This property is ignored if fieldName is set. If you want a visible signature, you must set page, position and fieldName.
23
+ attr_accessor :page
24
+
25
+ # Coordinates of the signature image to set. Format is : “llx,lly,urx,ury”. llx=left lower x coordinate, lly=left lower y coordinate, urx=upper right x coordinate, ury = upper right y coordinate. To get easily coordinates, you could use this tool : http://placeit.yousign.fr
26
+ attr_accessor :position
27
+
28
+ # [type=signature] Name of the signature field existing in the document
29
+ attr_accessor :field_name
30
+
31
+ # [type=signature] Text associated above the signature image. You can use some variable inside : {{date.en}} {{date.fr}} {{time.en}} {{time.fr}} that it will be parsed to show the date of the signature.
32
+ attr_accessor :mention
33
+
34
+ # [type=signature] Text associated below the signature image. (internal usage only, should not be used). You can use some variable inside : {{date.en}} {{date.fr}} {{time.en}} {{time.fr}} that it will be parsed to show the date of the signature.
35
+ attr_accessor :mention2__internal
36
+
37
+ # Created date of the object
38
+ attr_accessor :created_at
39
+
40
+ # Updated date of the object
41
+ attr_accessor :updated_at
42
+
43
+ # Date of signature or validation
44
+ attr_accessor :executed_at
45
+
46
+ # [type=signature] The reason they are signing the agreement
47
+ attr_accessor :reason
48
+
49
+ # The type of the file object
50
+ attr_accessor :type
51
+
52
+ # [type=text] Indicate if the member must fill or not the field
53
+ attr_accessor :content_required
54
+
55
+ # [type=text] The content of the field. Could be used for placeholder
56
+ attr_accessor :content
57
+
58
+ # [type=text] The font familly used to render the TextField. Currently only the default value will be used.
59
+ attr_accessor :font_family
60
+
61
+ # [type=text] The font size used to render the field. Currently only the default value will be used.
62
+ attr_accessor :font_size
63
+
64
+ # [type=text] The font color used to render the field.
65
+ attr_accessor :font_color
66
+
67
+ class EnumAttributeValidator
68
+ attr_reader :datatype
69
+ attr_reader :allowable_values
70
+
71
+ def initialize(datatype, allowable_values)
72
+ @allowable_values = allowable_values.map do |value|
73
+ case datatype.to_s
74
+ when /Integer/i
75
+ value.to_i
76
+ when /Float/i
77
+ value.to_f
78
+ else
79
+ value
80
+ end
81
+ end
82
+ end
83
+
84
+ def valid?(value)
85
+ !value || allowable_values.include?(value)
86
+ end
87
+ end
88
+
89
+ # Attribute mapping from ruby-style variable name to JSON key.
90
+ def self.attribute_map
91
+ {
92
+ :'id' => :'id',
93
+ :'file' => :'file',
94
+ :'page' => :'page',
95
+ :'position' => :'position',
96
+ :'field_name' => :'fieldName',
97
+ :'mention' => :'mention',
98
+ :'mention2__internal' => :'mention2 (internal)',
99
+ :'created_at' => :'createdAt',
100
+ :'updated_at' => :'updatedAt',
101
+ :'executed_at' => :'executedAt',
102
+ :'reason' => :'reason',
103
+ :'type' => :'type',
104
+ :'content_required' => :'contentRequired',
105
+ :'content' => :'content',
106
+ :'font_family' => :'fontFamily',
107
+ :'font_size' => :'fontSize',
108
+ :'font_color' => :'fontColor'
109
+ }
110
+ end
111
+
112
+ # Attribute type mapping.
113
+ def self.swagger_types
114
+ {
115
+ :'id' => :'String',
116
+ :'file' => :'FileOutput',
117
+ :'page' => :'Integer',
118
+ :'position' => :'String',
119
+ :'field_name' => :'String',
120
+ :'mention' => :'String',
121
+ :'mention2__internal' => :'String',
122
+ :'created_at' => :'DateTime',
123
+ :'updated_at' => :'DateTime',
124
+ :'executed_at' => :'DateTime',
125
+ :'reason' => :'String',
126
+ :'type' => :'String',
127
+ :'content_required' => :'BOOLEAN',
128
+ :'content' => :'String',
129
+ :'font_family' => :'String',
130
+ :'font_size' => :'Integer',
131
+ :'font_color' => :'String'
132
+ }
133
+ end
134
+
135
+ # Initializes the object
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ def initialize(attributes = {})
138
+ return unless attributes.is_a?(Hash)
139
+
140
+ # convert string to symbol for hash key
141
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
142
+
143
+ if attributes.has_key?(:'id')
144
+ self.id = attributes[:'id']
145
+ end
146
+
147
+ if attributes.has_key?(:'file')
148
+ self.file = attributes[:'file']
149
+ end
150
+
151
+ if attributes.has_key?(:'page')
152
+ self.page = attributes[:'page']
153
+ end
154
+
155
+ if attributes.has_key?(:'position')
156
+ self.position = attributes[:'position']
157
+ end
158
+
159
+ if attributes.has_key?(:'fieldName')
160
+ self.field_name = attributes[:'fieldName']
161
+ end
162
+
163
+ if attributes.has_key?(:'mention')
164
+ self.mention = attributes[:'mention']
165
+ end
166
+
167
+ if attributes.has_key?(:'mention2 (internal)')
168
+ self.mention2__internal = attributes[:'mention2 (internal)']
169
+ end
170
+
171
+ if attributes.has_key?(:'createdAt')
172
+ self.created_at = attributes[:'createdAt']
173
+ end
174
+
175
+ if attributes.has_key?(:'updatedAt')
176
+ self.updated_at = attributes[:'updatedAt']
177
+ end
178
+
179
+ if attributes.has_key?(:'executedAt')
180
+ self.executed_at = attributes[:'executedAt']
181
+ end
182
+
183
+ if attributes.has_key?(:'reason')
184
+ self.reason = attributes[:'reason']
185
+ else
186
+ self.reason = 'Signed by Firstname Lastname'
187
+ end
188
+
189
+ if attributes.has_key?(:'type')
190
+ self.type = attributes[:'type']
191
+ else
192
+ self.type = 'signature'
193
+ end
194
+
195
+ if attributes.has_key?(:'contentRequired')
196
+ self.content_required = attributes[:'contentRequired']
197
+ else
198
+ self.content_required = false
199
+ end
200
+
201
+ if attributes.has_key?(:'content')
202
+ self.content = attributes[:'content']
203
+ end
204
+
205
+ if attributes.has_key?(:'fontFamily')
206
+ self.font_family = attributes[:'fontFamily']
207
+ else
208
+ self.font_family = 'raleway'
209
+ end
210
+
211
+ if attributes.has_key?(:'fontSize')
212
+ self.font_size = attributes[:'fontSize']
213
+ else
214
+ self.font_size = 12
215
+ end
216
+
217
+ if attributes.has_key?(:'fontColor')
218
+ self.font_color = attributes[:'fontColor']
219
+ end
220
+ end
221
+
222
+ # Show invalid properties with the reasons. Usually used together with valid?
223
+ # @return Array for valid properties with the reasons
224
+ def list_invalid_properties
225
+ invalid_properties = Array.new
226
+ if !@id.nil? && @id !~ Regexp.new(/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/)
227
+ invalid_properties.push('invalid value for "id", must conform to the pattern /^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.')
228
+ end
229
+
230
+ if @file.nil?
231
+ invalid_properties.push('invalid value for "file", file cannot be nil.')
232
+ end
233
+
234
+ if !@position.nil? && @position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
235
+ invalid_properties.push('invalid value for "position", must conform to the pattern /^\\d+(,\\d+){3}$/.')
236
+ end
237
+
238
+ if !@content.nil? && @content.to_s.length > 255
239
+ invalid_properties.push('invalid value for "content", the character length must be smaller than or equal to 255.')
240
+ end
241
+
242
+ if !@font_size.nil? && @font_size > 20
243
+ invalid_properties.push('invalid value for "font_size", must be smaller than or equal to 20.')
244
+ end
245
+
246
+ if !@font_size.nil? && @font_size < 6
247
+ invalid_properties.push('invalid value for "font_size", must be greater than or equal to 6.')
248
+ end
249
+
250
+ if !@font_color.nil? && @font_color !~ Regexp.new(/^(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d)$/)
251
+ invalid_properties.push('invalid value for "font_color", must conform to the pattern /^(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d)$/.')
252
+ end
253
+
254
+ invalid_properties
255
+ end
256
+
257
+ # Check to see if the all the properties in the model are valid
258
+ # @return true if the model is valid
259
+ def valid?
260
+ return false if !@id.nil? && @id !~ Regexp.new(/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/)
261
+ return false if @file.nil?
262
+ return false if !@position.nil? && @position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
263
+ type_validator = EnumAttributeValidator.new('String', ['signature', 'text'])
264
+ return false unless type_validator.valid?(@type)
265
+ return false if !@content.nil? && @content.to_s.length > 255
266
+ font_family_validator = EnumAttributeValidator.new('String', ['raleway'])
267
+ return false unless font_family_validator.valid?(@font_family)
268
+ return false if !@font_size.nil? && @font_size > 20
269
+ return false if !@font_size.nil? && @font_size < 6
270
+ return false if !@font_color.nil? && @font_color !~ Regexp.new(/^(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d)$/)
271
+ true
272
+ end
273
+
274
+ # Custom attribute writer method with validation
275
+ # @param [Object] id Value to be assigned
276
+ def id=(id)
277
+ if !id.nil? && id !~ Regexp.new(/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/)
278
+ fail ArgumentError, 'invalid value for "id", must conform to the pattern /^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.'
279
+ end
280
+
281
+ @id = id
282
+ end
283
+
284
+ # Custom attribute writer method with validation
285
+ # @param [Object] position Value to be assigned
286
+ def position=(position)
287
+ if !position.nil? && position !~ Regexp.new(/^\\d+(,\\d+){3}$/)
288
+ fail ArgumentError, 'invalid value for "position", must conform to the pattern /^\\d+(,\\d+){3}$/.'
289
+ end
290
+
291
+ @position = position
292
+ end
293
+
294
+ # Custom attribute writer method checking allowed values (enum).
295
+ # @param [Object] type Object to be assigned
296
+ def type=(type)
297
+ validator = EnumAttributeValidator.new('String', ['signature', 'text'])
298
+ unless validator.valid?(type)
299
+ fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
300
+ end
301
+ @type = type
302
+ end
303
+
304
+ # Custom attribute writer method with validation
305
+ # @param [Object] content Value to be assigned
306
+ def content=(content)
307
+ if !content.nil? && content.to_s.length > 255
308
+ fail ArgumentError, 'invalid value for "content", the character length must be smaller than or equal to 255.'
309
+ end
310
+
311
+ @content = content
312
+ end
313
+
314
+ # Custom attribute writer method checking allowed values (enum).
315
+ # @param [Object] font_family Object to be assigned
316
+ def font_family=(font_family)
317
+ validator = EnumAttributeValidator.new('String', ['raleway'])
318
+ unless validator.valid?(font_family)
319
+ fail ArgumentError, 'invalid value for "font_family", must be one of #{validator.allowable_values}.'
320
+ end
321
+ @font_family = font_family
322
+ end
323
+
324
+ # Custom attribute writer method with validation
325
+ # @param [Object] font_size Value to be assigned
326
+ def font_size=(font_size)
327
+ if !font_size.nil? && font_size > 20
328
+ fail ArgumentError, 'invalid value for "font_size", must be smaller than or equal to 20.'
329
+ end
330
+
331
+ if !font_size.nil? && font_size < 6
332
+ fail ArgumentError, 'invalid value for "font_size", must be greater than or equal to 6.'
333
+ end
334
+
335
+ @font_size = font_size
336
+ end
337
+
338
+ # Custom attribute writer method with validation
339
+ # @param [Object] font_color Value to be assigned
340
+ def font_color=(font_color)
341
+ if !font_color.nil? && font_color !~ Regexp.new(/^(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d)$/)
342
+ fail ArgumentError, 'invalid value for "font_color", must conform to the pattern /^(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d),(0|255|25[0-4]|2[0-4]\\d|1\\d\\d|0?\\d?\\d)$/.'
343
+ end
344
+
345
+ @font_color = font_color
346
+ end
347
+
348
+ # Checks equality by comparing each attribute.
349
+ # @param [Object] Object to be compared
350
+ def ==(o)
351
+ return true if self.equal?(o)
352
+ self.class == o.class &&
353
+ id == o.id &&
354
+ file == o.file &&
355
+ page == o.page &&
356
+ position == o.position &&
357
+ field_name == o.field_name &&
358
+ mention == o.mention &&
359
+ mention2__internal == o.mention2__internal &&
360
+ created_at == o.created_at &&
361
+ updated_at == o.updated_at &&
362
+ executed_at == o.executed_at &&
363
+ reason == o.reason &&
364
+ type == o.type &&
365
+ content_required == o.content_required &&
366
+ content == o.content &&
367
+ font_family == o.font_family &&
368
+ font_size == o.font_size &&
369
+ font_color == o.font_color
370
+ end
371
+
372
+ # @see the `==` method
373
+ # @param [Object] Object to be compared
374
+ def eql?(o)
375
+ self == o
376
+ end
377
+
378
+ # Calculates hash code according to all attributes.
379
+ # @return [Fixnum] Hash code
380
+ def hash
381
+ [id, file, page, position, field_name, mention, mention2__internal, created_at, updated_at, executed_at, reason, type, content_required, content, font_family, font_size, font_color].hash
382
+ end
383
+
384
+ # Builds the object from hash
385
+ # @param [Hash] attributes Model attributes in the form of hash
386
+ # @return [Object] Returns the model itself
387
+ def build_from_hash(attributes)
388
+ return nil unless attributes.is_a?(Hash)
389
+ self.class.swagger_types.each_pair do |key, type|
390
+ if type =~ /\AArray<(.*)>/i
391
+ # check to ensure the input is an array given that the attribute
392
+ # is documented as an array but the input is not
393
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
394
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
395
+ end
396
+ elsif !attributes[self.class.attribute_map[key]].nil?
397
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
398
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
399
+ end
400
+
401
+ self
402
+ end
403
+
404
+ # Deserializes the data based on type
405
+ # @param string type Data type
406
+ # @param string value Value to be deserialized
407
+ # @return [Object] Deserialized data
408
+ def _deserialize(type, value)
409
+ case type.to_sym
410
+ when :DateTime
411
+ DateTime.parse(value)
412
+ when :Date
413
+ Date.parse(value)
414
+ when :String
415
+ value.to_s
416
+ when :Integer
417
+ value.to_i
418
+ when :Float
419
+ value.to_f
420
+ when :BOOLEAN
421
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
422
+ true
423
+ else
424
+ false
425
+ end
426
+ when :Object
427
+ # generic object (usually a Hash), return directly
428
+ value
429
+ when /\AArray<(?<inner_type>.+)>\z/
430
+ inner_type = Regexp.last_match[:inner_type]
431
+ value.map { |v| _deserialize(inner_type, v) }
432
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
433
+ k_type = Regexp.last_match[:k_type]
434
+ v_type = Regexp.last_match[:v_type]
435
+ {}.tap do |hash|
436
+ value.each do |k, v|
437
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
438
+ end
439
+ end
440
+ else # model
441
+ temp_model = YousignClient.const_get(type).new
442
+ temp_model.build_from_hash(value)
443
+ end
444
+ end
445
+
446
+ # Returns the string representation of the object
447
+ # @return [String] String presentation of the object
448
+ def to_s
449
+ to_hash.to_s
450
+ end
451
+
452
+ # to_body is an alias to to_hash (backward compatibility)
453
+ # @return [Hash] Returns the object in the form of hash
454
+ def to_body
455
+ to_hash
456
+ end
457
+
458
+ # Returns the object in the form of hash
459
+ # @return [Hash] Returns the object in the form of hash
460
+ def to_hash
461
+ hash = {}
462
+ self.class.attribute_map.each_pair do |attr, param|
463
+ value = self.send(attr)
464
+ next if value.nil?
465
+ hash[param] = _to_hash(value)
466
+ end
467
+ hash
468
+ end
469
+
470
+ # Outputs non-array value in the form of hash
471
+ # For object, use to_hash. Otherwise, just return the value
472
+ # @param [Object] value Any valid value
473
+ # @return [Hash] Returns the value in the form of hash
474
+ def _to_hash(value)
475
+ if value.is_a?(Array)
476
+ value.compact.map { |v| _to_hash(v) }
477
+ elsif value.is_a?(Hash)
478
+ {}.tap do |hash|
479
+ value.each { |k, v| hash[k] = _to_hash(v) }
480
+ end
481
+ elsif value.respond_to? :to_hash
482
+ value.to_hash
483
+ else
484
+ value
485
+ end
486
+ end
487
+
488
+ end
489
+ end