flex_commerce_api 0.6.57

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 (170) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +6 -0
  3. data/.gitignore +14 -0
  4. data/.rspec +4 -0
  5. data/.rubocop.yml +1065 -0
  6. data/.ruby-gemset +1 -0
  7. data/.ruby-version +1 -0
  8. data/.travis.yml +3 -0
  9. data/Gemfile +4 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +56 -0
  12. data/Rakefile +1 -0
  13. data/app/models/address.rb +41 -0
  14. data/app/models/asset_file.rb +26 -0
  15. data/app/models/asset_folder.rb +14 -0
  16. data/app/models/bundle.rb +20 -0
  17. data/app/models/bundle_group.rb +15 -0
  18. data/app/models/cart.rb +136 -0
  19. data/app/models/category.rb +70 -0
  20. data/app/models/category_tree.rb +11 -0
  21. data/app/models/component.rb +8 -0
  22. data/app/models/container_coupon.rb +12 -0
  23. data/app/models/country.rb +11 -0
  24. data/app/models/coupon.rb +18 -0
  25. data/app/models/customer_account.rb +96 -0
  26. data/app/models/customer_account_authentication.rb +5 -0
  27. data/app/models/customer_segment.rb +6 -0
  28. data/app/models/customer_segment_member.rb +6 -0
  29. data/app/models/data_attribute.rb +6 -0
  30. data/app/models/data_store_record.rb +9 -0
  31. data/app/models/data_store_type.rb +9 -0
  32. data/app/models/discount_summary.rb +12 -0
  33. data/app/models/email.rb +5 -0
  34. data/app/models/ewis_opt_in.rb +8 -0
  35. data/app/models/external_url.rb +6 -0
  36. data/app/models/free_shipping_promotion.rb +12 -0
  37. data/app/models/import.rb +6 -0
  38. data/app/models/import_entry.rb +6 -0
  39. data/app/models/line_item.rb +34 -0
  40. data/app/models/line_item_discount.rb +7 -0
  41. data/app/models/markdown_price.rb +11 -0
  42. data/app/models/menu.rb +36 -0
  43. data/app/models/menu_item.rb +7 -0
  44. data/app/models/menu_item_item.rb +5 -0
  45. data/app/models/note.rb +18 -0
  46. data/app/models/order.rb +38 -0
  47. data/app/models/password_recovery.rb +20 -0
  48. data/app/models/payment_address_verification.rb +13 -0
  49. data/app/models/payment_process.rb +13 -0
  50. data/app/models/payment_provider.rb +15 -0
  51. data/app/models/payment_transaction.rb +13 -0
  52. data/app/models/product.rb +99 -0
  53. data/app/models/product_asset_file.rb +12 -0
  54. data/app/models/promotion.rb +19 -0
  55. data/app/models/promotion_qualifying_product_exclusion.rb +8 -0
  56. data/app/models/redirect.rb +14 -0
  57. data/app/models/refund.rb +14 -0
  58. data/app/models/remote_address.rb +22 -0
  59. data/app/models/remote_line_item.rb +11 -0
  60. data/app/models/remote_order.rb +15 -0
  61. data/app/models/remote_shipping_method.rb +12 -0
  62. data/app/models/report.rb +18 -0
  63. data/app/models/report_invocation.rb +18 -0
  64. data/app/models/retail_store.rb +18 -0
  65. data/app/models/role.rb +6 -0
  66. data/app/models/search_suggestion.rb +17 -0
  67. data/app/models/section.rb +9 -0
  68. data/app/models/session.rb +8 -0
  69. data/app/models/shipping_method.rb +26 -0
  70. data/app/models/slug.rb +19 -0
  71. data/app/models/static_page.rb +60 -0
  72. data/app/models/static_page_folder.rb +8 -0
  73. data/app/models/stock_level.rb +21 -0
  74. data/app/models/tax_code.rb +6 -0
  75. data/app/models/taxonomy.rb +5 -0
  76. data/app/models/template.rb +9 -0
  77. data/app/models/template_component.rb +11 -0
  78. data/app/models/template_definition.rb +12 -0
  79. data/app/models/template_section.rb +12 -0
  80. data/app/models/user.rb +8 -0
  81. data/app/models/user_profile.rb +6 -0
  82. data/app/models/v2/create_order.rb +10 -0
  83. data/app/models/v2/deallocate_order.rb +10 -0
  84. data/app/models/v2/line_item.rb +9 -0
  85. data/app/models/v2/order.rb +9 -0
  86. data/app/models/v2/unallocate_order.rb +10 -0
  87. data/app/models/variant.rb +18 -0
  88. data/app/models/webhook.rb +17 -0
  89. data/app/services/param_to_shql.rb +72 -0
  90. data/app/services/surrogate_keys.rb +44 -0
  91. data/bin/console +14 -0
  92. data/bin/setup +7 -0
  93. data/config/locales/payments.en.yml +3 -0
  94. data/flex-commerce-api.gemspec +41 -0
  95. data/lib/flex_commerce.rb +95 -0
  96. data/lib/flex_commerce_api.rb +21 -0
  97. data/lib/flex_commerce_api/api_base.rb +11 -0
  98. data/lib/flex_commerce_api/base_resource.rb +250 -0
  99. data/lib/flex_commerce_api/config.rb +55 -0
  100. data/lib/flex_commerce_api/error/access_denied.rb +6 -0
  101. data/lib/flex_commerce_api/error/bad_request.rb +10 -0
  102. data/lib/flex_commerce_api/error/base.rb +12 -0
  103. data/lib/flex_commerce_api/error/client_error.rb +7 -0
  104. data/lib/flex_commerce_api/error/connection_error.rb +6 -0
  105. data/lib/flex_commerce_api/error/internal_server.rb +37 -0
  106. data/lib/flex_commerce_api/error/not_found.rb +13 -0
  107. data/lib/flex_commerce_api/error/record_invalid.rb +16 -0
  108. data/lib/flex_commerce_api/error/unexpected_status.rb +7 -0
  109. data/lib/flex_commerce_api/errors.rb +13 -0
  110. data/lib/flex_commerce_api/json_api_client_extension/builder.rb +28 -0
  111. data/lib/flex_commerce_api/json_api_client_extension/capture_surrogate_keys_middleware.rb +16 -0
  112. data/lib/flex_commerce_api/json_api_client_extension/flexible_connection.rb +59 -0
  113. data/lib/flex_commerce_api/json_api_client_extension/has_many_association_proxy.rb +60 -0
  114. data/lib/flex_commerce_api/json_api_client_extension/included_data.rb +27 -0
  115. data/lib/flex_commerce_api/json_api_client_extension/json_format_middleware.rb +20 -0
  116. data/lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb +24 -0
  117. data/lib/flex_commerce_api/json_api_client_extension/paginator.rb +26 -0
  118. data/lib/flex_commerce_api/json_api_client_extension/parse_json.rb +23 -0
  119. data/lib/flex_commerce_api/json_api_client_extension/parsers/parser.rb +16 -0
  120. data/lib/flex_commerce_api/json_api_client_extension/previewed_request_middleware.rb +17 -0
  121. data/lib/flex_commerce_api/json_api_client_extension/remote_builder.rb +29 -0
  122. data/lib/flex_commerce_api/json_api_client_extension/requestor.rb +42 -0
  123. data/lib/flex_commerce_api/json_api_client_extension/save_request_body_middleware.rb +20 -0
  124. data/lib/flex_commerce_api/json_api_client_extension/status_middleware.rb +40 -0
  125. data/lib/flex_commerce_api/v2/api_base.rb +13 -0
  126. data/lib/flex_commerce_api/version.rb +3 -0
  127. data/lib/json_erb.rb +9 -0
  128. data/lib/json_struct.rb +73 -0
  129. data/lib/patches.rb +4 -0
  130. data/lib/patches/json_api_client/resource.rb +50 -0
  131. data/lib/paypal_express.rb +3 -0
  132. data/lib/paypal_express/additional_info.rb +45 -0
  133. data/lib/paypal_express/api.rb +86 -0
  134. data/lib/paypal_express/auth.rb +83 -0
  135. data/lib/paypal_express/cart_shipping_method.rb +38 -0
  136. data/lib/paypal_express/exception/access_denied.rb +10 -0
  137. data/lib/paypal_express/exception/connection_error.rb +10 -0
  138. data/lib/paypal_express/exception/not_authorized.rb +10 -0
  139. data/lib/paypal_express/exception/transaction.rb +15 -0
  140. data/lib/paypal_express/generate_summary.rb +118 -0
  141. data/lib/paypal_express/process/paypal_params.rb +123 -0
  142. data/lib/paypal_express/process/response_parser.rb +146 -0
  143. data/lib/paypal_express/setup.rb +94 -0
  144. data/lib/paypal_express/shipping_methods_for_cart.rb +46 -0
  145. data/lib/retry.rb +20 -0
  146. data/schemas/jsonapi/schema.json +370 -0
  147. data/schemas/shift/v1/documents/collection/address.json +45 -0
  148. data/schemas/shift/v1/documents/collection/asset_file.json +43 -0
  149. data/schemas/shift/v1/documents/collection/asset_folder.json +43 -0
  150. data/schemas/shift/v1/documents/collection/customer_account.json +50 -0
  151. data/schemas/shift/v1/documents/collection/markdown_price.json +43 -0
  152. data/schemas/shift/v1/documents/collection/product.json +43 -0
  153. data/schemas/shift/v1/documents/collection/variant.json +43 -0
  154. data/schemas/shift/v1/documents/member/address.json +39 -0
  155. data/schemas/shift/v1/documents/member/asset_file.json +37 -0
  156. data/schemas/shift/v1/documents/member/asset_folder.json +39 -0
  157. data/schemas/shift/v1/documents/member/customer_account.json +44 -0
  158. data/schemas/shift/v1/documents/member/markdown_price.json +37 -0
  159. data/schemas/shift/v1/documents/member/product.json +39 -0
  160. data/schemas/shift/v1/documents/member/variant.json +46 -0
  161. data/schemas/shift/v1/resources/address.json +130 -0
  162. data/schemas/shift/v1/resources/asset_file.json +146 -0
  163. data/schemas/shift/v1/resources/asset_folder.json +188 -0
  164. data/schemas/shift/v1/resources/customer_account.json +339 -0
  165. data/schemas/shift/v1/resources/markdown_price.json +52 -0
  166. data/schemas/shift/v1/resources/product.json +230 -0
  167. data/schemas/shift/v1/resources/variant.json +298 -0
  168. data/tasks/json_schema.thor +275 -0
  169. data/todo.md +8 -0
  170. metadata +470 -0
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "data": {
6
+ "type": "object",
7
+ "$ref": "#/definitions/resource"
8
+ },
9
+ "meta": {
10
+ "type": "object",
11
+ "additionalProperties": true
12
+ },
13
+ "jsonapi": {
14
+ "type": "object"
15
+ },
16
+ "links": {
17
+ "type": "object"
18
+ },
19
+ "included": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/includedItems"
23
+ }
24
+ }
25
+ },
26
+ "additionalProperties": false,
27
+ "definitions": {
28
+ "resource": {
29
+ "$ref": "../../resources/markdown_price.json"
30
+ },
31
+ "includedItems": {
32
+ "oneOf": [
33
+
34
+ ]
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "data": {
6
+ "type": "object",
7
+ "$ref": "#/definitions/resource"
8
+ },
9
+ "meta": {
10
+ "type": "object",
11
+ "additionalProperties": true
12
+ },
13
+ "jsonapi": {
14
+ "type": "object"
15
+ },
16
+ "links": {
17
+ "type": "object"
18
+ },
19
+ "included": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/includedItems"
23
+ }
24
+ }
25
+ },
26
+ "additionalProperties": false,
27
+ "definitions": {
28
+ "resource": {
29
+ "$ref": "../../resources/product.json"
30
+ },
31
+ "includedItems": {
32
+ "oneOf": [
33
+ { "$ref": "../../resources/variant.json" },
34
+ { "$ref": "../../resources/asset_file.json" }
35
+
36
+ ]
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "data": {
6
+ "type": "object",
7
+ "$ref": "#/definitions/resource"
8
+ },
9
+ "meta": {
10
+ "type": "object",
11
+ "additionalProperties": true
12
+ },
13
+ "jsonapi": {
14
+ "type": "object"
15
+ },
16
+ "links": {
17
+ "type": "object"
18
+ },
19
+ "included": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/includedItems"
23
+ }
24
+ }
25
+ },
26
+ "additionalProperties": false,
27
+ "definitions": {
28
+ "resource": {
29
+ "$ref": "../../resources/variant.json"
30
+ },
31
+ "includedItems": {
32
+ "oneOf": [
33
+ {
34
+ "$ref": "../../resources/product.json"
35
+ },
36
+ {
37
+ "$ref": "../../resources/asset_file.json"
38
+ },
39
+ {
40
+ "$ref": "../../resources/markdown_price.json"
41
+ }
42
+
43
+ ]
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "description": "A unique identifier for the address.json"
8
+ },
9
+ "type": {
10
+ "type": "string",
11
+ "description": "The json_api type for any address.json",
12
+ "pattern": "^addresses$"
13
+ },
14
+ "attributes": {
15
+ "type": "object",
16
+ "properties": {
17
+ "meta_attributes": {
18
+ "type": "object",
19
+ "description": "Description for meta_attributes"
20
+ },
21
+ "customer_account_id": {
22
+ "type": "number",
23
+ "description": "Description for customer_account_id"
24
+ },
25
+ "first_name": {
26
+ "type": "string",
27
+ "description": "Description for first_name"
28
+ },
29
+ "last_name": {
30
+ "type": "string",
31
+ "description": "Description for last_name"
32
+ },
33
+ "middle_names": {
34
+ "type": "string",
35
+ "description": "Description for middle_names"
36
+ },
37
+ "address_line_1": {
38
+ "type": "string",
39
+ "description": "Description for address_line_1"
40
+ },
41
+ "address_line_2": {
42
+ "type": "string",
43
+ "description": "Description for address_line_2"
44
+ },
45
+ "address_line_3": {
46
+ "type": "string",
47
+ "description": "Description for address_line_3"
48
+ },
49
+ "city": {
50
+ "type": "string",
51
+ "description": "Description for city"
52
+ },
53
+ "state": {
54
+ "type": "string",
55
+ "description": "Description for state"
56
+ },
57
+ "postcode": {
58
+ "type": "string",
59
+ "description": "Description for postcode"
60
+ },
61
+ "country": {
62
+ "type": "string",
63
+ "description": "Description for country"
64
+ },
65
+ "preferred_shipping": {
66
+ "type": "boolean",
67
+ "description": "Description for preferred_shipping"
68
+ },
69
+ "preferred_billing": {
70
+ "type": "boolean",
71
+ "description": "Description for preferred_billing"
72
+ }
73
+ }
74
+ },
75
+ "relationships": {
76
+ "type": "object",
77
+ "properties": {
78
+ "customer_account": {
79
+ "type": "object",
80
+ "properties": {
81
+ "links": {
82
+ "type": "object",
83
+ "properties": {
84
+ "self": {
85
+ "type": "string"
86
+ },
87
+ "related": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "additionalProperties": false
92
+ },
93
+ "data": {
94
+ "type": "object",
95
+ "description": "The id and type form a pointer into the 'included' top level document property",
96
+ "properties": {
97
+ "id": {
98
+ "type": "string"
99
+ },
100
+ "type": {
101
+ "type": "string"
102
+ }
103
+ },
104
+ "additionalProperties": false
105
+ },
106
+ "meta": {
107
+ "type": "object",
108
+ "additionalProperties": true
109
+ }
110
+ }
111
+ }
112
+ }
113
+ },
114
+ "links": {
115
+ "type": "object",
116
+ "properties": {
117
+ "self": {
118
+ "type": "string"
119
+ }
120
+ },
121
+ "additionalProperties": false
122
+ },
123
+ "meta": {
124
+ "type": "object",
125
+ "additionalProperties": false
126
+ }
127
+ },
128
+ "definitions": {
129
+ }
130
+ }
@@ -0,0 +1,146 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "description": "A unique identifier for the asset_file.json"
8
+ },
9
+ "type": {
10
+ "type": "string",
11
+ "description": "The json_api type for any asset_file.json",
12
+ "pattern": "^asset_files$"
13
+ },
14
+ "attributes": {
15
+ "type": "object",
16
+ "properties": {
17
+ "meta_attributes": {
18
+ "type": "object",
19
+ "description": "Description for meta_attributes"
20
+ },
21
+ "updated_at": {
22
+ "type": "string",
23
+ "description": "Description for updated_at"
24
+ },
25
+ "created_at": {
26
+ "type": "string",
27
+ "description": "Description for created_at"
28
+ },
29
+ "deleted_at": {
30
+ "type": "null",
31
+ "description": "Description for deleted_at"
32
+ },
33
+ "name": {
34
+ "type": "string",
35
+ "description": "Description for name"
36
+ },
37
+ "reference": {
38
+ "type": "string",
39
+ "description": "Description for reference"
40
+ },
41
+ "asset_file": {
42
+ "type": "string",
43
+ "description": "Description for asset_file"
44
+ },
45
+ "file_content_filename": {
46
+ "type": "string",
47
+ "description": "Description for file_content_filename"
48
+ },
49
+ "file_content_content_type": {
50
+ "type": "string",
51
+ "description": "Description for file_content_content_type"
52
+ },
53
+ "file_content_size": {
54
+ "type": "number",
55
+ "description": "Description for file_content_size"
56
+ },
57
+ "image_height": {
58
+ "type": "number",
59
+ "description": "Description for image_height"
60
+ },
61
+ "image_width": {
62
+ "type": "number",
63
+ "description": "Description for image_width"
64
+ },
65
+ "s3_url": {
66
+ "type": "string",
67
+ "description": "Description for s3_url"
68
+ }
69
+ }
70
+ },
71
+ "relationships": {
72
+ "type": "object",
73
+ "properties": {
74
+ "asset_folder": {
75
+ "type": "object",
76
+ "properties": {
77
+ "links": {
78
+ "type": "object",
79
+ "properties": {
80
+ "self": {
81
+ "type": "string"
82
+ },
83
+ "related": {
84
+ "type": "string"
85
+ }
86
+ },
87
+ "additionalProperties": false
88
+ },
89
+ "data": {
90
+ "oneOf": [
91
+ {
92
+ "type": "object",
93
+ "description": "The id and type form a pointer into the 'included' top level document property",
94
+ "properties": {
95
+ "id": {
96
+ "type": "string"
97
+ },
98
+ "type": {
99
+ "type": "string"
100
+ }
101
+ },
102
+ "additionalProperties": false
103
+ },
104
+ {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "object",
108
+ "description": "The id and type form a pointer into the 'included' top level document property",
109
+ "properties": {
110
+ "id": {
111
+ "type": "string"
112
+ },
113
+ "type": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "additionalProperties": false
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ "meta": {
123
+ "type": "object",
124
+ "additionalProperties": true
125
+ }
126
+ }
127
+ }
128
+ }
129
+ },
130
+ "links": {
131
+ "type": "object",
132
+ "properties": {
133
+ "self": {
134
+ "type": "string"
135
+ }
136
+ },
137
+ "additionalProperties": false
138
+ },
139
+ "meta": {
140
+ "type": "object",
141
+ "additionalProperties": false
142
+ }
143
+ },
144
+ "definitions": {
145
+ }
146
+ }
@@ -0,0 +1,188 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "description": "A unique identifier for the asset_folder.json"
8
+ },
9
+ "type": {
10
+ "type": "string",
11
+ "description": "The json_api type for any asset_folder.json",
12
+ "pattern": "^asset_folders$"
13
+ },
14
+ "attributes": {
15
+ "type": "object",
16
+ "properties": {
17
+ "meta_attributes": {
18
+ "type": "object",
19
+ "description": "Description for meta_attributes"
20
+ },
21
+ "updated_at": {
22
+ "type": "string",
23
+ "description": "Description for updated_at"
24
+ },
25
+ "created_at": {
26
+ "type": "string",
27
+ "description": "Description for created_at"
28
+ },
29
+ "deleted_at": {
30
+ "type": "null",
31
+ "description": "Description for deleted_at"
32
+ },
33
+ "name": {
34
+ "type": "string",
35
+ "description": "Description for name"
36
+ },
37
+ "reference": {
38
+ "type": "string",
39
+ "description": "Description for reference"
40
+ },
41
+ "children_count": {
42
+ "type": "null",
43
+ "description": "Description for children_count"
44
+ },
45
+ "depth": {
46
+ "type": "number",
47
+ "description": "Description for depth"
48
+ },
49
+ "lft": {
50
+ "type": "number",
51
+ "description": "Description for lft"
52
+ },
53
+ "rgt": {
54
+ "type": "number",
55
+ "description": "Description for rgt"
56
+ }
57
+ }
58
+ },
59
+ "relationships": {
60
+ "type": "object",
61
+ "properties": {
62
+ "asset_files": {
63
+ "type": "object",
64
+ "properties": {
65
+ "links": {
66
+ "type": "object",
67
+ "properties": {
68
+ "self": {
69
+ "type": "string"
70
+ },
71
+ "related": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "additionalProperties": false
76
+ },
77
+ "data": {
78
+ "oneOf": [
79
+ {
80
+ "type": "object",
81
+ "description": "The id and type form a pointer into the 'included' top level document property",
82
+ "properties": {
83
+ "id": {
84
+ "type": "string"
85
+ },
86
+ "type": {
87
+ "type": "string"
88
+ }
89
+ },
90
+ "additionalProperties": false
91
+ },
92
+ {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "description": "The id and type form a pointer into the 'included' top level document property",
97
+ "properties": {
98
+ "id": {
99
+ "type": "string"
100
+ },
101
+ "type": {
102
+ "type": "string"
103
+ }
104
+ },
105
+ "additionalProperties": false
106
+ }
107
+ }
108
+ ]
109
+ },
110
+ "meta": {
111
+ "type": "object",
112
+ "additionalProperties": true
113
+ }
114
+ }
115
+ },
116
+ "sub_folders": {
117
+ "type": "object",
118
+ "properties": {
119
+ "links": {
120
+ "type": "object",
121
+ "properties": {
122
+ "self": {
123
+ "type": "string"
124
+ },
125
+ "related": {
126
+ "type": "string"
127
+ }
128
+ },
129
+ "additionalProperties": false
130
+ },
131
+ "data": {
132
+ "oneOf": [
133
+ {
134
+ "type": "object",
135
+ "description": "The id and type form a pointer into the 'included' top level document property",
136
+ "properties": {
137
+ "id": {
138
+ "type": "string"
139
+ },
140
+ "type": {
141
+ "type": "string"
142
+ }
143
+ },
144
+ "additionalProperties": false
145
+ },
146
+ {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "description": "The id and type form a pointer into the 'included' top level document property",
151
+ "properties": {
152
+ "id": {
153
+ "type": "string"
154
+ },
155
+ "type": {
156
+ "type": "string"
157
+ }
158
+ },
159
+ "additionalProperties": false
160
+ }
161
+ }
162
+ ]
163
+ },
164
+ "meta": {
165
+ "type": "object",
166
+ "additionalProperties": true
167
+ }
168
+ }
169
+ }
170
+ }
171
+ },
172
+ "links": {
173
+ "type": "object",
174
+ "properties": {
175
+ "self": {
176
+ "type": "string"
177
+ }
178
+ },
179
+ "additionalProperties": false
180
+ },
181
+ "meta": {
182
+ "type": "object",
183
+ "additionalProperties": false
184
+ }
185
+ },
186
+ "definitions": {
187
+ }
188
+ }