solidus_json_api 0.3.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.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +2 -0
- data/CHANGELOG.md +224 -0
- data/Gemfile +6 -0
- data/LICENSE +26 -0
- data/README.md +94 -0
- data/Rakefile +38 -0
- data/app/controllers/concerns/spree/api/v2/renderable.rb +63 -0
- data/app/controllers/spree/api/v2/base_controller.rb +9 -0
- data/app/controllers/spree/api/v2/children_controller.rb +29 -0
- data/app/controllers/spree/api/v2/countries_controller.rb +21 -0
- data/app/controllers/spree/api/v2/images_controller.rb +29 -0
- data/app/controllers/spree/api/v2/line_items_controller.rb +36 -0
- data/app/controllers/spree/api/v2/option_types_controller.rb +31 -0
- data/app/controllers/spree/api/v2/option_values_controller.rb +29 -0
- data/app/controllers/spree/api/v2/orders_controller.rb +21 -0
- data/app/controllers/spree/api/v2/prices_controller.rb +27 -0
- data/app/controllers/spree/api/v2/products_controller.rb +37 -0
- data/app/controllers/spree/api/v2/states_controller.rb +29 -0
- data/app/controllers/spree/api/v2/taxonomies_controller.rb +21 -0
- data/app/controllers/spree/api/v2/taxons_controller.rb +40 -0
- data/app/controllers/spree/api/v2/variants_controller.rb +35 -0
- data/app/models/spree/base_decorator.rb +5 -0
- data/app/models/spree/image_decorator.rb +3 -0
- data/app/models/spree/line_item_decorator.rb +3 -0
- data/app/models/spree/order_decorator.rb +3 -0
- data/app/models/spree/price_decorator.rb +3 -0
- data/app/models/spree/state_decorator.rb +3 -0
- data/app/serializers/spree/address_serializer.rb +9 -0
- data/app/serializers/spree/base_serializer.rb +13 -0
- data/app/serializers/spree/country_serializer.rb +7 -0
- data/app/serializers/spree/error_serializer.rb +55 -0
- data/app/serializers/spree/image_serializer.rb +13 -0
- data/app/serializers/spree/line_item_serializer.rb +13 -0
- data/app/serializers/spree/option_type_serializer.rb +8 -0
- data/app/serializers/spree/option_value_serializer.rb +8 -0
- data/app/serializers/spree/order_serializer.rb +20 -0
- data/app/serializers/spree/price_serializer.rb +7 -0
- data/app/serializers/spree/product_serializer.rb +12 -0
- data/app/serializers/spree/role_serializer.rb +5 -0
- data/app/serializers/spree/state_serializer.rb +7 -0
- data/app/serializers/spree/store_serializer.rb +6 -0
- data/app/serializers/spree/taxon_serializer.rb +16 -0
- data/app/serializers/spree/taxonomy_serializer.rb +7 -0
- data/app/serializers/spree/user_serializer.rb +5 -0
- data/app/serializers/spree/variant_serializer.rb +12 -0
- data/circle.yml +12 -0
- data/config/locales/en.yml +25 -0
- data/config/routes.rb +53 -0
- data/docs/.nojekyll +0 -0
- data/docs/Dockerfile +12 -0
- data/docs/Gemfile +14 -0
- data/docs/README.md +12 -0
- data/docs/Rakefile +9 -0
- data/docs/config.rb +39 -0
- data/docs/font-selection.json +148 -0
- data/docs/source/CNAME +1 -0
- data/docs/source/fonts/slate.eot +0 -0
- data/docs/source/fonts/slate.svg +14 -0
- data/docs/source/fonts/slate.ttf +0 -0
- data/docs/source/fonts/slate.woff +0 -0
- data/docs/source/fonts/slate.woff2 +0 -0
- data/docs/source/images/favicon.ico +0 -0
- data/docs/source/images/navbar.png +0 -0
- data/docs/source/includes/_countries.md +133 -0
- data/docs/source/includes/_errors.md +17 -0
- data/docs/source/includes/_filtering.md +11 -0
- data/docs/source/includes/_images.md +201 -0
- data/docs/source/includes/_line_items.md +143 -0
- data/docs/source/includes/_option_types.md +267 -0
- data/docs/source/includes/_option_values.md +227 -0
- data/docs/source/includes/_orders.md +150 -0
- data/docs/source/includes/_pagination.md +10 -0
- data/docs/source/includes/_prices.md +188 -0
- data/docs/source/includes/_products.md +407 -0
- data/docs/source/includes/_states.md +96 -0
- data/docs/source/includes/_taxonomies.md +325 -0
- data/docs/source/includes/_taxons.md +414 -0
- data/docs/source/includes/_variants.md +430 -0
- data/docs/source/index.md +51 -0
- data/docs/source/javascripts/all.js +4 -0
- data/docs/source/javascripts/all_nosearch.js +3 -0
- data/docs/source/javascripts/app/_lang.js +162 -0
- data/docs/source/javascripts/app/_search.js +74 -0
- data/docs/source/javascripts/app/_toc.js +55 -0
- data/docs/source/javascripts/lib/_energize.js +169 -0
- data/docs/source/javascripts/lib/_imagesloaded.min.js +7 -0
- data/docs/source/javascripts/lib/_jquery.highlight.js +108 -0
- data/docs/source/javascripts/lib/_jquery.tocify.js +1042 -0
- data/docs/source/javascripts/lib/_jquery_ui.js +566 -0
- data/docs/source/javascripts/lib/_lunr.js +1910 -0
- data/docs/source/layouts/layout.erb +110 -0
- data/docs/source/stylesheets/_icon-font.scss +38 -0
- data/docs/source/stylesheets/_normalize.css +427 -0
- data/docs/source/stylesheets/_syntax.scss.erb +27 -0
- data/docs/source/stylesheets/_variables.scss +109 -0
- data/docs/source/stylesheets/print.css.scss +142 -0
- data/docs/source/stylesheets/screen.css.scss +622 -0
- data/lib/solidus_json_api/config.rb +8 -0
- data/lib/solidus_json_api/engine.rb +21 -0
- data/lib/solidus_json_api.rb +5 -0
- data/solidus_json_api.gemspec +36 -0
- data/spec/controllers/spree/api/v2/base_controller_spec.rb +46 -0
- data/spec/controllers/spree/api/v2/children_controller_spec.rb +28 -0
- data/spec/controllers/spree/api/v2/countries_controller_spec.rb +25 -0
- data/spec/controllers/spree/api/v2/images_controller_spec.rb +91 -0
- data/spec/controllers/spree/api/v2/line_items_controller_spec.rb +101 -0
- data/spec/controllers/spree/api/v2/option_types_controller_spec.rb +71 -0
- data/spec/controllers/spree/api/v2/option_values_controller_spec.rb +88 -0
- data/spec/controllers/spree/api/v2/orders_controller_spec.rb +61 -0
- data/spec/controllers/spree/api/v2/prices_controller_spec.rb +55 -0
- data/spec/controllers/spree/api/v2/products_controller_spec.rb +99 -0
- data/spec/controllers/spree/api/v2/states_controller_spec.rb +42 -0
- data/spec/controllers/spree/api/v2/taxonomies_controller_spec.rb +31 -0
- data/spec/controllers/spree/api/v2/taxons_controller_spec.rb +54 -0
- data/spec/controllers/spree/api/v2/variants_controller_spec.rb +106 -0
- data/spec/lib/solidus_json_api/config_spec.rb +10 -0
- data/spec/models/spree/base_decorator_spec.rb +9 -0
- data/spec/models/spree/price_decorator_spec.rb +3 -0
- data/spec/serializers/spree/address_serializer_spec.rb +35 -0
- data/spec/serializers/spree/country_serializer_spec.rb +27 -0
- data/spec/serializers/spree/error_serializer_spec.rb +141 -0
- data/spec/serializers/spree/image_serializer_spec.rb +30 -0
- data/spec/serializers/spree/line_item_serializer_spec.rb +40 -0
- data/spec/serializers/spree/option_type_serializer_spec.rb +27 -0
- data/spec/serializers/spree/option_value_serializer_spec.rb +29 -0
- data/spec/serializers/spree/order_serializer_spec.rb +68 -0
- data/spec/serializers/spree/price_serializer_spec.rb +28 -0
- data/spec/serializers/spree/product_serializer_spec.rb +47 -0
- data/spec/serializers/spree/role_serializer_spec.rb +17 -0
- data/spec/serializers/spree/state_serializer_spec.rb +25 -0
- data/spec/serializers/spree/store_serializer_spec.rb +25 -0
- data/spec/serializers/spree/taxon_serializer_spec.rb +44 -0
- data/spec/serializers/spree/taxonomy_serializer_spec.rb +27 -0
- data/spec/serializers/spree/user_serializer_spec.rb +17 -0
- data/spec/serializers/spree/variant_serializer_spec.rb +55 -0
- data/spec/spec_helper.rb +57 -0
- data/spec/support/shoulda_matchers.rb +6 -0
- metadata +442 -0
data/docs/config.rb
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
PROJECT_ROOT = File.expand_path '.'
|
|
2
|
+
BUILD_DIR = File.expand_path './../build'
|
|
3
|
+
|
|
4
|
+
# Markdown
|
|
5
|
+
set :markdown_engine, :redcarpet
|
|
6
|
+
set :markdown,
|
|
7
|
+
fenced_code_blocks: true,
|
|
8
|
+
smartypants: true,
|
|
9
|
+
disable_indented_code_blocks: true,
|
|
10
|
+
prettify: true,
|
|
11
|
+
tables: true,
|
|
12
|
+
with_toc_data: true,
|
|
13
|
+
no_intra_emphasis: true
|
|
14
|
+
|
|
15
|
+
# Assets
|
|
16
|
+
set :css_dir, 'stylesheets'
|
|
17
|
+
set :js_dir, 'javascripts'
|
|
18
|
+
set :images_dir, 'images'
|
|
19
|
+
set :fonts_dir, 'fonts'
|
|
20
|
+
|
|
21
|
+
# Activate the syntax highlighter
|
|
22
|
+
activate :syntax
|
|
23
|
+
|
|
24
|
+
activate :autoprefixer do |config|
|
|
25
|
+
config.browsers = ['last 2 version', 'Firefox ESR']
|
|
26
|
+
config.cascade = false
|
|
27
|
+
config.inline = true
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Github pages require relative links
|
|
31
|
+
activate :relative_assets
|
|
32
|
+
set :relative_links, true
|
|
33
|
+
|
|
34
|
+
# Build Configuration
|
|
35
|
+
set :build_dir, BUILD_DIR
|
|
36
|
+
configure :build do
|
|
37
|
+
activate :minify_css
|
|
38
|
+
activate :minify_javascript
|
|
39
|
+
end
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
{
|
|
2
|
+
"IcoMoonType": "selection",
|
|
3
|
+
"icons": [
|
|
4
|
+
{
|
|
5
|
+
"icon": {
|
|
6
|
+
"paths": [
|
|
7
|
+
"M438.857 73.143q119.429 0 220.286 58.857t159.714 159.714 58.857 220.286-58.857 220.286-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857zM512 785.714v-108.571q0-8-5.143-13.429t-12.571-5.429h-109.714q-7.429 0-13.143 5.714t-5.714 13.143v108.571q0 7.429 5.714 13.143t13.143 5.714h109.714q7.429 0 12.571-5.429t5.143-13.429zM510.857 589.143l10.286-354.857q0-6.857-5.714-10.286-5.714-4.571-13.714-4.571h-125.714q-8 0-13.714 4.571-5.714 3.429-5.714 10.286l9.714 354.857q0 5.714 5.714 10t13.714 4.286h105.714q8 0 13.429-4.286t6-10z"
|
|
8
|
+
],
|
|
9
|
+
"attrs": [],
|
|
10
|
+
"isMulticolor": false,
|
|
11
|
+
"tags": [
|
|
12
|
+
"exclamation-circle"
|
|
13
|
+
],
|
|
14
|
+
"defaultCode": 61546,
|
|
15
|
+
"grid": 14
|
|
16
|
+
},
|
|
17
|
+
"attrs": [],
|
|
18
|
+
"properties": {
|
|
19
|
+
"id": 100,
|
|
20
|
+
"order": 4,
|
|
21
|
+
"prevSize": 28,
|
|
22
|
+
"code": 58880,
|
|
23
|
+
"name": "exclamation-sign",
|
|
24
|
+
"ligatures": ""
|
|
25
|
+
},
|
|
26
|
+
"setIdx": 0,
|
|
27
|
+
"iconIdx": 0
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"icon": {
|
|
31
|
+
"paths": [
|
|
32
|
+
"M585.143 786.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-54.857v-292.571q0-8-5.143-13.143t-13.143-5.143h-182.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h54.857v182.857h-54.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h256q8 0 13.143-5.143t5.143-13.143zM512 274.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-109.714q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h109.714q8 0 13.143-5.143t5.143-13.143zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z"
|
|
33
|
+
],
|
|
34
|
+
"attrs": [],
|
|
35
|
+
"isMulticolor": false,
|
|
36
|
+
"tags": [
|
|
37
|
+
"info-circle"
|
|
38
|
+
],
|
|
39
|
+
"defaultCode": 61530,
|
|
40
|
+
"grid": 14
|
|
41
|
+
},
|
|
42
|
+
"attrs": [],
|
|
43
|
+
"properties": {
|
|
44
|
+
"id": 85,
|
|
45
|
+
"order": 3,
|
|
46
|
+
"name": "info-sign",
|
|
47
|
+
"prevSize": 28,
|
|
48
|
+
"code": 58882
|
|
49
|
+
},
|
|
50
|
+
"setIdx": 0,
|
|
51
|
+
"iconIdx": 2
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"icon": {
|
|
55
|
+
"paths": [
|
|
56
|
+
"M733.714 419.429q0-16-10.286-26.286l-52-51.429q-10.857-10.857-25.714-10.857t-25.714 10.857l-233.143 232.571-129.143-129.143q-10.857-10.857-25.714-10.857t-25.714 10.857l-52 51.429q-10.286 10.286-10.286 26.286 0 15.429 10.286 25.714l206.857 206.857q10.857 10.857 25.714 10.857 15.429 0 26.286-10.857l310.286-310.286q10.286-10.286 10.286-25.714zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z"
|
|
57
|
+
],
|
|
58
|
+
"attrs": [],
|
|
59
|
+
"isMulticolor": false,
|
|
60
|
+
"tags": [
|
|
61
|
+
"check-circle"
|
|
62
|
+
],
|
|
63
|
+
"defaultCode": 61528,
|
|
64
|
+
"grid": 14
|
|
65
|
+
},
|
|
66
|
+
"attrs": [],
|
|
67
|
+
"properties": {
|
|
68
|
+
"id": 83,
|
|
69
|
+
"order": 9,
|
|
70
|
+
"prevSize": 28,
|
|
71
|
+
"code": 58886,
|
|
72
|
+
"name": "ok-sign"
|
|
73
|
+
},
|
|
74
|
+
"setIdx": 0,
|
|
75
|
+
"iconIdx": 6
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"icon": {
|
|
79
|
+
"paths": [
|
|
80
|
+
"M658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 29.714-21.714 51.429t-51.429 21.714q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"
|
|
81
|
+
],
|
|
82
|
+
"width": 951,
|
|
83
|
+
"attrs": [],
|
|
84
|
+
"isMulticolor": false,
|
|
85
|
+
"tags": [
|
|
86
|
+
"search"
|
|
87
|
+
],
|
|
88
|
+
"defaultCode": 61442,
|
|
89
|
+
"grid": 14
|
|
90
|
+
},
|
|
91
|
+
"attrs": [],
|
|
92
|
+
"properties": {
|
|
93
|
+
"id": 2,
|
|
94
|
+
"order": 1,
|
|
95
|
+
"prevSize": 28,
|
|
96
|
+
"code": 58887,
|
|
97
|
+
"name": "icon-search"
|
|
98
|
+
},
|
|
99
|
+
"setIdx": 0,
|
|
100
|
+
"iconIdx": 7
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"height": 1024,
|
|
104
|
+
"metadata": {
|
|
105
|
+
"name": "slate",
|
|
106
|
+
"license": "SIL OFL 1.1"
|
|
107
|
+
},
|
|
108
|
+
"preferences": {
|
|
109
|
+
"showGlyphs": true,
|
|
110
|
+
"showQuickUse": true,
|
|
111
|
+
"showQuickUse2": true,
|
|
112
|
+
"showSVGs": true,
|
|
113
|
+
"fontPref": {
|
|
114
|
+
"prefix": "icon-",
|
|
115
|
+
"metadata": {
|
|
116
|
+
"fontFamily": "slate",
|
|
117
|
+
"majorVersion": 1,
|
|
118
|
+
"minorVersion": 0,
|
|
119
|
+
"description": "Based on FontAwesome",
|
|
120
|
+
"license": "SIL OFL 1.1"
|
|
121
|
+
},
|
|
122
|
+
"metrics": {
|
|
123
|
+
"emSize": 1024,
|
|
124
|
+
"baseline": 6.25,
|
|
125
|
+
"whitespace": 50
|
|
126
|
+
},
|
|
127
|
+
"resetPoint": 58880,
|
|
128
|
+
"showSelector": false,
|
|
129
|
+
"selector": "class",
|
|
130
|
+
"classSelector": ".icon",
|
|
131
|
+
"showMetrics": false,
|
|
132
|
+
"showMetadata": true,
|
|
133
|
+
"showVersion": true,
|
|
134
|
+
"ie7": false
|
|
135
|
+
},
|
|
136
|
+
"imagePref": {
|
|
137
|
+
"prefix": "icon-",
|
|
138
|
+
"png": true,
|
|
139
|
+
"useClassSelector": true,
|
|
140
|
+
"color": 4473924,
|
|
141
|
+
"bgColor": 16777215
|
|
142
|
+
},
|
|
143
|
+
"historySize": 100,
|
|
144
|
+
"showCodes": true,
|
|
145
|
+
"gridSize": 16,
|
|
146
|
+
"showLiga": false
|
|
147
|
+
}
|
|
148
|
+
}
|
data/docs/source/CNAME
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
solidusapi.wildcardlabs.com
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
|
4
|
+
<metadata>Generated by IcoMoon</metadata>
|
|
5
|
+
<defs>
|
|
6
|
+
<font id="slate" horiz-adv-x="1024">
|
|
7
|
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
|
8
|
+
<missing-glyph horiz-adv-x="1024" />
|
|
9
|
+
<glyph unicode=" " d="" horiz-adv-x="512" />
|
|
10
|
+
<glyph unicode="" d="M438.857 877.714q119.429 0 220.286-58.857t159.714-159.714 58.857-220.286-58.857-220.286-159.714-159.714-220.286-58.857-220.286 58.857-159.714 159.714-58.857 220.286 58.857 220.286 159.714 159.714 220.286 58.857zM512 165.143v108.571q0 8-5.143 13.429t-12.571 5.429h-109.714q-7.429 0-13.143-5.714t-5.714-13.143v-108.571q0-7.429 5.714-13.143t13.143-5.714h109.714q7.429 0 12.571 5.429t5.143 13.429zM510.857 361.714l10.286 354.857q0 6.857-5.714 10.286-5.714 4.571-13.714 4.571h-125.714q-8 0-13.714-4.571-5.714-3.429-5.714-10.286l9.714-354.857q0-5.714 5.714-10t13.714-4.286h105.714q8 0 13.429 4.286t6 10z" />
|
|
11
|
+
<glyph unicode="" d="M585.143 164.571v91.429q0 8-5.143 13.143t-13.143 5.143h-54.857v292.571q0 8-5.143 13.143t-13.143 5.143h-182.857q-8 0-13.143-5.143t-5.143-13.143v-91.429q0-8 5.143-13.143t13.143-5.143h54.857v-182.857h-54.857q-8 0-13.143-5.143t-5.143-13.143v-91.429q0-8 5.143-13.143t13.143-5.143h256q8 0 13.143 5.143t5.143 13.143zM512 676.571v91.429q0 8-5.143 13.143t-13.143 5.143h-109.714q-8 0-13.143-5.143t-5.143-13.143v-91.429q0-8 5.143-13.143t13.143-5.143h109.714q8 0 13.143 5.143t5.143 13.143zM877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857-220.286 58.857-159.714 159.714-58.857 220.286 58.857 220.286 159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
|
|
12
|
+
<glyph unicode="" d="M733.714 531.428q0 16-10.286 26.286l-52 51.429q-10.857 10.857-25.714 10.857t-25.714-10.857l-233.143-232.571-129.143 129.143q-10.857 10.857-25.714 10.857t-25.714-10.857l-52-51.429q-10.286-10.286-10.286-26.286 0-15.429 10.286-25.714l206.857-206.857q10.857-10.857 25.714-10.857 15.429 0 26.286 10.857l310.286 310.286q10.286 10.286 10.286 25.714zM877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857-220.286 58.857-159.714 159.714-58.857 220.286 58.857 220.286 159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
|
|
13
|
+
<glyph unicode="" d="M658.286 475.428q0 105.714-75.143 180.857t-180.857 75.143-180.857-75.143-75.143-180.857 75.143-180.857 180.857-75.143 180.857 75.143 75.143 180.857zM950.857 0q0-29.714-21.714-51.429t-51.429-21.714q-30.857 0-51.429 21.714l-196 195.429q-102.286-70.857-228-70.857-81.714 0-156.286 31.714t-128.571 85.714-85.714 128.571-31.714 156.286 31.714 156.286 85.714 128.571 128.571 85.714 156.286 31.714 156.286-31.714 128.571-85.714 85.714-128.571 31.714-156.286q0-125.714-70.857-228l196-196q21.143-21.143 21.143-51.429z" horiz-adv-x="951" />
|
|
14
|
+
</font></defs></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Countries
|
|
2
|
+
|
|
3
|
+
## List Countries
|
|
4
|
+
|
|
5
|
+
```shell
|
|
6
|
+
curl "https://example.com/api/v2/countries"
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"data": [
|
|
12
|
+
{
|
|
13
|
+
"id": "1",
|
|
14
|
+
"type": "spree_countries",
|
|
15
|
+
"attributes": {
|
|
16
|
+
"iso_name": "ANDORRA",
|
|
17
|
+
"iso": "AD",
|
|
18
|
+
"iso3": "AND",
|
|
19
|
+
"name": "Andorra",
|
|
20
|
+
"numcode": 20,
|
|
21
|
+
"states_required": true
|
|
22
|
+
},
|
|
23
|
+
"relationships": {
|
|
24
|
+
"states": {
|
|
25
|
+
"data": [
|
|
26
|
+
{
|
|
27
|
+
"type": "spree_states",
|
|
28
|
+
"id": "1"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
List all of the ~200 countries in the DB.
|
|
39
|
+
|
|
40
|
+
## Show Country
|
|
41
|
+
|
|
42
|
+
```shell
|
|
43
|
+
curl "https://example.com/api/v2/countries/1"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"data": {
|
|
49
|
+
"id": "1",
|
|
50
|
+
"type": "spree_countries",
|
|
51
|
+
"attributes": {
|
|
52
|
+
"iso_name": "ANDORRA",
|
|
53
|
+
"iso": "AD",
|
|
54
|
+
"iso3": "AND",
|
|
55
|
+
"name": "Andorra",
|
|
56
|
+
"numcode": 20,
|
|
57
|
+
"states_required": true
|
|
58
|
+
},
|
|
59
|
+
"relationships": {
|
|
60
|
+
"states": {
|
|
61
|
+
"data": [
|
|
62
|
+
{
|
|
63
|
+
"type": "spree_states",
|
|
64
|
+
"id": "1"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Select a country via its `id`.
|
|
74
|
+
|
|
75
|
+
## List States of a Country
|
|
76
|
+
|
|
77
|
+
```shell
|
|
78
|
+
curl "https://example.com/api/v2/countries/1/states"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"data": [
|
|
84
|
+
{
|
|
85
|
+
"id": "1",
|
|
86
|
+
"type": "spree_states",
|
|
87
|
+
"attributes": {
|
|
88
|
+
"name": "Canillo",
|
|
89
|
+
"abbr": "02"
|
|
90
|
+
},
|
|
91
|
+
"relationships": {
|
|
92
|
+
"country": {
|
|
93
|
+
"data": {
|
|
94
|
+
"type": "spree_countries",
|
|
95
|
+
"id": "1"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
See all of the states that a country owns via the country's `id`.
|
|
105
|
+
|
|
106
|
+
## Show State of a Country
|
|
107
|
+
|
|
108
|
+
```shell
|
|
109
|
+
curl "https://example.com/api/v2/countries/1/states/1"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"data": {
|
|
115
|
+
"id": "1",
|
|
116
|
+
"type": "spree_states",
|
|
117
|
+
"attributes": {
|
|
118
|
+
"name": "Canillo",
|
|
119
|
+
"abbr": "02"
|
|
120
|
+
},
|
|
121
|
+
"relationships": {
|
|
122
|
+
"country": {
|
|
123
|
+
"data": {
|
|
124
|
+
"type": "spree_countries",
|
|
125
|
+
"id": "1"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
View one of the states that a country owns via the country's `id` and the state's `id`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Errors
|
|
2
|
+
|
|
3
|
+
The Solidus JSON API uses the following error codes:
|
|
4
|
+
|
|
5
|
+
Error Code | Meaning
|
|
6
|
+
---------- | -------
|
|
7
|
+
400 | Bad Request -- Your request sucks
|
|
8
|
+
401 | Unauthorized -- Your API key is wrong
|
|
9
|
+
403 | Forbidden -- The kitten requested is hidden for administrators only
|
|
10
|
+
404 | Not Found -- The specified kitten could not be found
|
|
11
|
+
405 | Method Not Allowed -- You tried to access a kitten with an invalid method
|
|
12
|
+
406 | Not Acceptable -- You requested a format that isn't json
|
|
13
|
+
410 | Gone -- The kitten requested has been removed from our servers
|
|
14
|
+
418 | I'm a teapot
|
|
15
|
+
429 | Too Many Requests -- You're requesting too many kittens! Slow down!
|
|
16
|
+
500 | Internal Server Error -- We had a problem with our server. Try again later.
|
|
17
|
+
503 | Service Unavailable -- We're temporarially offline for maintanance. Please try again later.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Filtering
|
|
2
|
+
|
|
3
|
+
```shell
|
|
4
|
+
curl "https://example.com/api/v2/kittens?filter[id]=1"
|
|
5
|
+
curl "https://example.com/api/v2/kittens?filter[id]=2,3,4"
|
|
6
|
+
curl "https://example.com/api/v2/kittens?filter[breed]=Persian,British%20Shorthair,Bengal"
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This project supports the [JSON API's `filter` keyword](http://jsonapi.org/format/#fetching-filtering) with only the root object, not any of its relationships yet.
|
|
10
|
+
You can filter any of the attributes that is inside of the data object.
|
|
11
|
+
Please see the example requests to the side on how you my filter a kitten object.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Images
|
|
2
|
+
|
|
3
|
+
## List Images
|
|
4
|
+
|
|
5
|
+
```shell
|
|
6
|
+
curl "https://example.com/api/v2/images"
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"data": [
|
|
12
|
+
{
|
|
13
|
+
"id": "1",
|
|
14
|
+
"type": "spree_images",
|
|
15
|
+
"attributes": {
|
|
16
|
+
"position": 1,
|
|
17
|
+
"alt": null,
|
|
18
|
+
"links": {
|
|
19
|
+
"original": "/spree/products/1/original/ror_baseball_jersey_red.png?1442035822",
|
|
20
|
+
"mini": "/spree/products/1/mini/ror_baseball_jersey_red.png?1442035822",
|
|
21
|
+
"small": "/spree/products/1/small/ror_baseball_jersey_red.png?1442035822",
|
|
22
|
+
"product": "/spree/products/1/product/ror_baseball_jersey_red.png?1442035822",
|
|
23
|
+
"large": "/spree/products/1/large/ror_baseball_jersey_red.png?1442035822"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"relationships": {
|
|
27
|
+
"viewable": {
|
|
28
|
+
"data": {
|
|
29
|
+
"type": "spree_variants",
|
|
30
|
+
"id": "1"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
List all of the images stored in the database.
|
|
40
|
+
|
|
41
|
+
## Show Image
|
|
42
|
+
|
|
43
|
+
```shell
|
|
44
|
+
curl "https://example.com/api/v2/images/1"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"data": {
|
|
50
|
+
"id": "1",
|
|
51
|
+
"type": "spree_images",
|
|
52
|
+
"attributes": {
|
|
53
|
+
"position": 1,
|
|
54
|
+
"alt": null,
|
|
55
|
+
"links": {
|
|
56
|
+
"original": "/spree/products/1/original/ror_baseball_jersey_red.png?1442035822",
|
|
57
|
+
"mini": "/spree/products/1/mini/ror_baseball_jersey_red.png?1442035822",
|
|
58
|
+
"small": "/spree/products/1/small/ror_baseball_jersey_red.png?1442035822",
|
|
59
|
+
"product": "/spree/products/1/product/ror_baseball_jersey_red.png?1442035822",
|
|
60
|
+
"large": "/spree/products/1/large/ror_baseball_jersey_red.png?1442035822"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"relationships": {
|
|
64
|
+
"viewable": {
|
|
65
|
+
"data": {
|
|
66
|
+
"type": "spree_variants",
|
|
67
|
+
"id": "1"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Fetch an image and its links via the image's `id`.
|
|
76
|
+
|
|
77
|
+
## Show Variant of an Image
|
|
78
|
+
|
|
79
|
+
```shell
|
|
80
|
+
curl "https://example.com/api/v2/images/1/variant"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"data": {
|
|
86
|
+
"id": "17",
|
|
87
|
+
"type": "spree_variants",
|
|
88
|
+
"attributes": {
|
|
89
|
+
"sku": "ROR-00001",
|
|
90
|
+
"weight": "0.0",
|
|
91
|
+
"height": null,
|
|
92
|
+
"width": null,
|
|
93
|
+
"depth": null,
|
|
94
|
+
"is_master": false,
|
|
95
|
+
"position": 2,
|
|
96
|
+
"name": "Ruby on Rails Baseball Jersey",
|
|
97
|
+
"price": null,
|
|
98
|
+
"display_price": "$0.00 CAD"
|
|
99
|
+
},
|
|
100
|
+
"relationships": {
|
|
101
|
+
"prices": {
|
|
102
|
+
"data": [
|
|
103
|
+
{
|
|
104
|
+
"type": "spree_prices",
|
|
105
|
+
"id": "33"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"option_values": {
|
|
110
|
+
"data": [
|
|
111
|
+
{
|
|
112
|
+
"type": "spree_option_values",
|
|
113
|
+
"id": "1"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"images": {
|
|
118
|
+
"data": [
|
|
119
|
+
{
|
|
120
|
+
"type": "spree_images",
|
|
121
|
+
"id": "1"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"product": {
|
|
126
|
+
"data": {
|
|
127
|
+
"type": "spree_products",
|
|
128
|
+
"id": "3"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Fetch the variant that an image belongs to via the variant's `id`.
|
|
137
|
+
|
|
138
|
+
## Show Product of an Image
|
|
139
|
+
|
|
140
|
+
```shell
|
|
141
|
+
curl "https://example.com/api/v2/images/1/product"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"data": {
|
|
147
|
+
"id": "3",
|
|
148
|
+
"type": "spree_products",
|
|
149
|
+
"attributes": {
|
|
150
|
+
"name": "Ruby on Rails Baseball Jersey",
|
|
151
|
+
"description": "Dolorem molestias sint maxime id at rem qui exercitationem. Neque voluptas corrupti magni suscipit iusto voluptatum. Ea quibusdam dolorem inventore praesentium sed dicta eveniet et. Rerum inventore laudantium quisquam earum consequatur dignissimos.",
|
|
152
|
+
"slug": "ruby-on-rails-baseball-jersey",
|
|
153
|
+
"meta_description": null,
|
|
154
|
+
"meta_keywords": null,
|
|
155
|
+
"store_name": "Whole New Home"
|
|
156
|
+
},
|
|
157
|
+
"relationships": {
|
|
158
|
+
"master": {
|
|
159
|
+
"data": {
|
|
160
|
+
"type": "spree_variants",
|
|
161
|
+
"id": "3"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"variants": {
|
|
165
|
+
"data": [
|
|
166
|
+
{
|
|
167
|
+
"type": "spree_variants",
|
|
168
|
+
"id": "1"
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
"taxons": {
|
|
173
|
+
"data": [
|
|
174
|
+
{
|
|
175
|
+
"type": "spree_taxons",
|
|
176
|
+
"id": "53"
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
"option_types": {
|
|
181
|
+
"data": [
|
|
182
|
+
{
|
|
183
|
+
"type": "spree_option_types",
|
|
184
|
+
"id": "1"
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"images": {
|
|
189
|
+
"data": [
|
|
190
|
+
{
|
|
191
|
+
"type": "spree_images",
|
|
192
|
+
"id": "24"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Find the product that image belongs to via the image's `id`.
|