qonto_ofx 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +68 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +60 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +34 -0
  9. data/Rakefile +11 -0
  10. data/bin/qonto_ofx +24 -0
  11. data/bin/setup +8 -0
  12. data/lib/api_gateway.rb +47 -0
  13. data/lib/base_validator.rb +17 -0
  14. data/lib/converter.rb +158 -0
  15. data/lib/ofx_validator.rb +17 -0
  16. data/lib/organization_validator.rb +17 -0
  17. data/lib/qonto_ofx/version.rb +3 -0
  18. data/lib/transactions_listing_validator.rb +17 -0
  19. data/qonto_ofx.gemspec +32 -0
  20. data/qonto_organization_schema.json +63 -0
  21. data/qonto_transactions_schema.json +175 -0
  22. data/schema/.DS_Store +0 -0
  23. data/schema/OFX2_Protocol.xsd +783 -0
  24. data/schema/OFX3_Protocol_dotNET.xsd +691 -0
  25. data/schema/OFX_Banking.xsd +119 -0
  26. data/schema/OFX_Banking_Message_Wrappers.xsd +399 -0
  27. data/schema/OFX_Banking_Messages.xsd +431 -0
  28. data/schema/OFX_BillPay.xsd +223 -0
  29. data/schema/OFX_BillPay_Message_Wrappers.xsd +343 -0
  30. data/schema/OFX_BillPay_Messages.xsd +412 -0
  31. data/schema/OFX_BillerDelivery.xsd +263 -0
  32. data/schema/OFX_BillerDelivery_Message_Wrappers.xsd +295 -0
  33. data/schema/OFX_BillerDelivery_Messages.xsd +259 -0
  34. data/schema/OFX_BillerDirectory.xsd +132 -0
  35. data/schema/OFX_BillerDirectory_Message_Wrappers.xsd +56 -0
  36. data/schema/OFX_BillerDirectory_Messages.xsd +86 -0
  37. data/schema/OFX_Common.xsd +2329 -0
  38. data/schema/OFX_CreditCard.xsd +45 -0
  39. data/schema/OFX_CreditCard_Message_Wrappers.xsd +88 -0
  40. data/schema/OFX_CreditCard_Messages.xsd +102 -0
  41. data/schema/OFX_Email.xsd +25 -0
  42. data/schema/OFX_Email_Message_Wrappers.xsd +129 -0
  43. data/schema/OFX_Email_Messages.xsd +72 -0
  44. data/schema/OFX_Image_Message_Wrappers.xsd +31 -0
  45. data/schema/OFX_Image_Messages.xsd +35 -0
  46. data/schema/OFX_InterTransfer.xsd +24 -0
  47. data/schema/OFX_InterTransfer_Message_Wrappers.xsd +195 -0
  48. data/schema/OFX_InterTransfer_Messages.xsd +256 -0
  49. data/schema/OFX_Investment.xsd +1358 -0
  50. data/schema/OFX_Investment_Message_Wrappers.xsd +162 -0
  51. data/schema/OFX_Investment_Messages.xsd +149 -0
  52. data/schema/OFX_Loan_Message_Wrappers.xsd +1 -0
  53. data/schema/OFX_Loan_Messages.xsd +124 -0
  54. data/schema/OFX_Loans.xsd +200 -0
  55. data/schema/OFX_Messages.xsd +18 -0
  56. data/schema/OFX_Profile.xsd +959 -0
  57. data/schema/OFX_Profile_Message_Wrappers.xsd +55 -0
  58. data/schema/OFX_Profile_Messages.xsd +96 -0
  59. data/schema/OFX_SecuritiesList.xsd +357 -0
  60. data/schema/OFX_SecuritiesList_Message_Wrappers.xsd +55 -0
  61. data/schema/OFX_SecuritiesList_Messages.xsd +55 -0
  62. data/schema/OFX_Signon.xsd +243 -0
  63. data/schema/OFX_Signon_Message_Wrappers.xsd +120 -0
  64. data/schema/OFX_Signon_Messages.xsd +211 -0
  65. data/schema/OFX_Signup.xsd +114 -0
  66. data/schema/OFX_Signup_Message_Wrappers.xsd +222 -0
  67. data/schema/OFX_Signup_Messages.xsd +153 -0
  68. data/schema/OFX_Tax1098.xsd +123 -0
  69. data/schema/OFX_Tax1098_Message_Wrappers.xsd +52 -0
  70. data/schema/OFX_Tax1098_Messages.xsd +65 -0
  71. data/schema/OFX_Tax1099.xsd +371 -0
  72. data/schema/OFX_Tax1099_Message_Wrappers.xsd +52 -0
  73. data/schema/OFX_Tax1099_Messages.xsd +50 -0
  74. data/schema/OFX_TaxW2.xsd +204 -0
  75. data/schema/OFX_TaxW2_Message_Wrappers.xsd +52 -0
  76. data/schema/OFX_TaxW2_Messages.xsd +58 -0
  77. data/schema/OFX_TypeDefinitions.xsd +98 -0
  78. data/schema/OFX_WireTransfer.xsd +88 -0
  79. data/schema/OFX_WireTransfer_Message_Wrappers.xsd +101 -0
  80. data/schema/OFX_WireTransfer_Messages.xsd +116 -0
  81. data/test/sample/ofx/invalid.xml +34 -0
  82. data/test/sample/ofx/malformed.xml +38 -0
  83. data/test/sample/ofx/test_result.xml +101 -0
  84. data/test/sample/ofx/valid.xml +38 -0
  85. data/test/sample/organization/invalid_format.txt +1 -0
  86. data/test/sample/organization/malformed.txt +1 -0
  87. data/test/sample/organization/valid_one_account.txt +1 -0
  88. data/test/sample/organization/valid_two_accounts.txt +1 -0
  89. data/test/sample/transactions/corp-1234-bank-account-1-FR0000000000000000000000001.txt +60 -0
  90. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p1.txt +28 -0
  91. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p2.txt +28 -0
  92. data/test/sample/transactions/invalid_format.txt +1 -0
  93. data/test/sample/transactions/malformed.txt +1 -0
  94. data/test/sample/transactions/valid.txt +1 -0
  95. data/test/test_converter.rb +51 -0
  96. data/test/test_ofx_validator.rb +25 -0
  97. data/test/test_organization_validator.rb +28 -0
  98. data/test/test_transactions_listing_validator.rb +23 -0
  99. metadata +314 -0
@@ -0,0 +1,175 @@
1
+ {
2
+ "type":"object",
3
+ "required":[
4
+ "transactions",
5
+ "meta"
6
+ ],
7
+ "properties":{
8
+ "meta":{
9
+ "type":"object",
10
+ "required":[
11
+ "current_page",
12
+ "next_page",
13
+ "prev_page",
14
+ "total_pages",
15
+ "total_count",
16
+ "per_page"
17
+ ],
18
+ "properties":{
19
+ "current_page":{
20
+ "type":"integer",
21
+ "minimum":1
22
+ },
23
+ "next_page":{
24
+ "type":[
25
+ "string",
26
+ "null"
27
+ ],
28
+ "oneOf":[
29
+ {
30
+ "type":"null"
31
+ },
32
+ {
33
+ "type":"string"
34
+ }
35
+ ]
36
+ },
37
+ "prev_page":{
38
+ "type":[
39
+ "string",
40
+ "null"
41
+ ],
42
+ "oneOf":[
43
+ {
44
+ "type":"null"
45
+ },
46
+ {
47
+ "type":"string"
48
+ }
49
+ ]
50
+ },
51
+ "total_pages":{
52
+ "type":"integer",
53
+ "minimum":1
54
+ },
55
+ "total_count":{
56
+ "type":"integer",
57
+ "minimum":0
58
+ },
59
+ "per_page":{
60
+ "type":"integer",
61
+ "minimum":0
62
+ }
63
+ }
64
+ },
65
+ "transactions":{
66
+ "type":"array",
67
+ "items":{
68
+ "type":"object",
69
+ "required":[
70
+ "transaction_id",
71
+ "amount",
72
+ "amount_cents",
73
+ "local_amount",
74
+ "local_amount_cents",
75
+ "side",
76
+ "operation_type",
77
+ "currency",
78
+ "local_currency",
79
+ "label",
80
+ "settled_at",
81
+ "emitted_at",
82
+ "status",
83
+ "note"
84
+ ],
85
+ "properties":{
86
+ "transaction_id":{
87
+ "type":"string",
88
+ "pattern":"^[a-z0-9-]+$"
89
+ },
90
+ "amount":{
91
+ "type":"number",
92
+ "minimum":0
93
+ },
94
+ "amount_cents":{
95
+ "type":"integer",
96
+ "minimum":0
97
+ },
98
+ "local_amount":{
99
+ "type":"number",
100
+ "minimum":0
101
+ },
102
+ "local_amount_cents":{
103
+ "type":"integer",
104
+ "minimum":0
105
+ },
106
+ "side":{
107
+ "type":"string",
108
+ "enum":[
109
+ "debit",
110
+ "credit"
111
+ ]
112
+ },
113
+ "operation_type":{
114
+ "type":"string",
115
+ "enum":[
116
+ "card",
117
+ "income",
118
+ "qonto_fee"
119
+ ]
120
+ },
121
+ "currency":{
122
+ "type":"string",
123
+ "pattern":"^[A-Z]+$"
124
+ },
125
+ "local_currency":{
126
+ "type":"string",
127
+ "pattern":"^[A-Z]+$"
128
+ },
129
+ "label":{
130
+ "type":"string"
131
+ },
132
+ "settled_at":{
133
+ "type":[
134
+ "string",
135
+ "null"
136
+ ],
137
+ "oneOf":[
138
+ {
139
+ "type":"null"
140
+ },
141
+ {
142
+ "type":"string",
143
+ "format":"date-time"
144
+ }
145
+ ]
146
+ },
147
+ "emitted_at":{
148
+ "type":"string",
149
+ "format":"date-time"
150
+ },
151
+ "status":{
152
+ "type":"string",
153
+ "enum":[
154
+ "pending",
155
+ "reversed",
156
+ "declined",
157
+ "completed"
158
+ ]
159
+ },
160
+ "note":{
161
+ "type":["string", "null"],
162
+ "oneOf": [
163
+ {
164
+ "type":"null"
165
+ },
166
+ {
167
+ "type":"string"
168
+ }
169
+ ]
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
data/schema/.DS_Store ADDED
Binary file