Warning Do NOT add Pull Requests to this repository, we are currently in the process of moving to the new Lunar name - we'll be back soon!
GetCandy is open-sourced software licensed under the MIT license.
GetCandy v1 Hub built on Nuxt.js
Warning Do NOT add Pull Requests to this repository, we are currently in the process of moving to the new Lunar name - we'll be back soon!
GetCandy is open-sourced software licensed under the MIT license.
Video of issue: https://i.imgur.com/IPxAObY.mp4
When trying to add a description to a product, the description editor ignores whitespaces.
When visiting the category index in the hub, the search query parameters ask for the following inclusions:
channels
customer_groups
family
variants
assets.transforms
The family
and variants
does not exist on the Category
model in the API and therefore fails.
When uploading files to a product, files are correctly uploaded to the server, but it seems more like a matter of luck if the media is attached to the product.
Hello!
I installed getcandy from scratch and cant login https://skr.sh/s6qJm8XT2Hb
What is the error?
By the way, what are credentials?
The enable_variant_options
setting is handy, but I feel it should be set to true
by default.
When editing a product and adding details or assets a draft of the product is created. When publishing the draft, the Hub doesn't change URL to the new product Hash ID until you navigate to a submenu.
If you try and edit the current page details, the page fails, since it refers to the old Hash ID
Page
users
Steps to reproduce:
Page
products.view
Steps to reproduce:
Whenever i try to add a product
undefined is not an object (evaluating '_vm.data[attribute.handle][_vm.fallbackChannel][ _vm.fallbackLanguage ]')
When trying to access catalogue-manager/categories/{hashid}
the client shows a red dialog box with the headline "Internal Server Error" and message "Cannot read property 'replace' of undefined"
Don't mind the missing product names, that's a result of testing another branch.
Describe the bug
I just run yarn dev
on windows 10 and WSL2 and it's compiled the project with errors
Node v14.16.0 and Node v15.0.0
Nuxtjs v2.15.4
`ValidationError: Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
Screenshots
@alecritson alecritson @glennjacobs
At the moment the error messages aren't formatted great and the language used isn't user-friendly, e.g. “Unauthenticated”.
We should look to improve this.
Accessing catalogue-manager/products/{hashid}/availability-pricing
in the hub results in the client presenting a red dialog box with the header "Internal Server Error" and message "Cannot read property 'id' of undefined"
Hello,
I am configuring getcandy for a project and I have both the API and the frontend. I have been trying to login but I keep getting a 419 error code. I narrowed it down to csrf token mismatch. How can I resend the token for the app to work. I have done it successful with Postman but I am stuck using nuxt. I am using sanctum for auth and not passport. Thanks
Installed and checked Elastic Search and its run properly in curl using terminal ? But while adding product it shows this error
Clicking a users email on the /users renders an empty page.
Only the email is clickable on the /users page. Maybe let the name or the whole line be clickable as well?
i get lots of error messages like so:
$ npm run build
> [email protected] build /home/noud/workspaces/vue/hub
> nuxt build
WARN [email protected] is installed but ^7.0.32 is expected 15:32:51
WARN [email protected] is installed but ^10.1.1 is expected 15:32:51
ℹ Using Tailwind CSS from ~/assets/css/tailwind.css nuxt:tailwindcss 15:32:51
ℹ Merging Tailwind config from ~/tailwind.config.js nuxt:tailwindcss 15:32:51
ℹ Production build 15:32:52
ℹ Bundling only for client side 15:32:52
ℹ Target: static 15:32:52
✔ Builder initialized 15:32:53
✔ Nuxt files generated 15:32:53
✖ Client
Compiled with some errors in 56.68s
Hash: 1801bfdbb47c54f86308
Version: webpack 4.46.0
Time: 56686ms
Built at: 04/19/2021 3:33:50 PM
Asset Size Chunks Chunk Names
0b44d7d.js 5.84 KiB 25 [immutable]
0e8fda9.js 2.86 MiB 1 [immutable] app
10e1705.js 15.6 KiB 12 [immutable]
2380334.js 1.55 KiB 36 [immutable]
2cffb30.js 2.72 KiB 4 [immutable] runtime
327174d.js 12.3 KiB 0 [immutable]
38ebfeb.js 6.63 KiB 37 [immutable]
3a233a0.js 7.08 KiB 23 [immutable]
489e1cb.js 9.34 KiB 14 [immutable]
4c97e30.js 10.8 KiB 18 [immutable]
55cc9e1.js 9.84 KiB 28 [immutable]
5ce9016.js 1.64 KiB 16 [immutable]
5f3e6ba.js 20.5 KiB 11 [immutable]
61bea71.js 4.06 KiB 15 [immutable]
62f747f.js 14.8 KiB 33 [immutable]
6bd4fdd.js 5.99 KiB 7 [immutable]
6e92077.js 6.59 KiB 24 [immutable]
73a632e.js 5.14 KiB 31 [immutable]
7554a4f.js 5.61 KiB 34 [immutable]
7605a8a.js 38.9 KiB 5 [immutable] tailwindConfig/app
76eae86.js 21.2 KiB 22 [immutable]
7778ad0.js 5.67 KiB 30 [immutable]
789318a.js 360 bytes 3 [immutable] pages/unauthorized
797a0f7.js 6.88 KiB 17 [immutable]
7bd255c.js 2.61 KiB 32 [immutable]
7e719dc.js 1.67 KiB 9 [immutable]
8fd05c2.js 1.9 KiB 38 [immutable]
9092b88.js 256 KiB 2 [immutable] commons/app
9d6a80d.js 1.45 KiB 29 [immutable]
9e7053c.js 1.54 KiB 21 [immutable]
LICENSES 2.62 KiB
a478d88.js 14.3 KiB 10 [immutable]
acafbf3.js 6.31 KiB 8 [immutable]
b354a0d.js 6.15 KiB 19 [immutable]
b7f1ef3.js 6.63 KiB 20 [immutable]
be0d958.js 6.28 KiB 13 [immutable]
cdba384.js 29.1 KiB 26 [immutable]
d76f1b6.js 5.67 KiB 35 [immutable]
da4ab87.js 1.78 KiB 6 [immutable]
e3e2e8d.js 3.77 KiB 27 [immutable]
fonts/Inter-Black.15c8274.woff2 102 KiB
fonts/Inter-Black.bfea424.woff 137 KiB
fonts/Inter-BlackItalic.158fd1f.woff2 107 KiB
fonts/Inter-BlackItalic.20baa29.woff 142 KiB
fonts/Inter-Bold.741dc41.woff2 105 KiB
fonts/Inter-Bold.895ddea.woff 140 KiB
fonts/Inter-BoldItalic.54b6821.woff2 110 KiB
fonts/Inter-BoldItalic.86bc220.woff 146 KiB
fonts/Inter-ExtraBold.3f65bd1.woff2 105 KiB
fonts/Inter-ExtraBold.568245c.woff 140 KiB
fonts/Inter-ExtraBoldItalic.0d568aa.woff2 110 KiB
fonts/Inter-ExtraBoldItalic.a7bb206.woff 146 KiB
fonts/Inter-ExtraLight-BETA.9c975ca.woff2 107 KiB
fonts/Inter-ExtraLight-BETA.caa9496.woff 143 KiB
fonts/Inter-ExtraLightItalic-BETA.29e85e0.woff2 113 KiB
fonts/Inter-ExtraLightItalic-BETA.d5ea766.woff 149 KiB
fonts/Inter-Italic.449b5a3.woff2 105 KiB
fonts/Inter-Italic.c4d61b7.woff 139 KiB
fonts/Inter-Light-BETA.5f9d6b2.woff2 106 KiB
fonts/Inter-Light-BETA.8a49915.woff 141 KiB
fonts/Inter-LightItalic-BETA.de35802.woff2 112 KiB
fonts/Inter-LightItalic-BETA.faed878.woff 147 KiB
fonts/Inter-Medium.592a30d.woff 139 KiB
fonts/Inter-Medium.900f310.woff2 104 KiB
fonts/Inter-MediumItalic.1895fa2.woff2 110 KiB
fonts/Inter-MediumItalic.afed191.woff 146 KiB
fonts/Inter-Regular.41cd706.woff 131 KiB
fonts/Inter-Regular.77812e2.woff2 97.7 KiB
fonts/Inter-SemiBold.3d01180.woff2 105 KiB
fonts/Inter-SemiBold.8a12c70.woff 140 KiB
fonts/Inter-SemiBoldItalic.3d40b59.woff2 110 KiB
fonts/Inter-SemiBoldItalic.7e16c47.woff 146 KiB
fonts/Inter-Thin-BETA.a493fa5.woff 142 KiB
fonts/Inter-Thin-BETA.be75564.woff2 108 KiB
fonts/Inter-ThinItalic-BETA.3c5ed4d.woff2 114 KiB
fonts/Inter-ThinItalic-BETA.6ec9551.woff 149 KiB
fonts/Inter-italic.var.f86d3fe.woff2 233 KiB
fonts/Inter-roman.var.4b3800c.woff2 219 KiB
fonts/Inter.var.feca908.woff2 300 KiB
fonts/remixicon.31d2848.eot 394 KiB
fonts/remixicon.881fbc4.woff 169 KiB
fonts/remixicon.888e61f.ttf 394 KiB
fonts/remixicon.9915fef.woff2 122 KiB
img/remixicon.95138f3.svg 1.14 MiB
img/sweet-jar.4a3bd4b.jpg 94.9 KiB
Entrypoint app = 2cffb30.js 9092b88.js 7605a8a.js 0e8fda9.js
ERROR in ./assets/css/app.scss (./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!./assets/css/app.scss)
Module not found: Error: Can't resolve './@uppy/core/dist/style.css' in '/home/noud/workspaces/vue/hub/assets/css'
@ ./assets/css/app.scss (./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!./assets/css/app.scss) 4:40-266
@ ./assets/css/app.scss
@ ./.nuxt/App.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./.nuxt/client.js
ERROR in ./assets/css/app.scss (./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!./assets/css/app.scss)
Module not found: Error: Can't resolve './@uppy/drag-drop/dist/style.css' in '/home/noud/workspaces/vue/hub/assets/css'
@ ./assets/css/app.scss (./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!./assets/css/app.scss) 5:40-271
@ ./assets/css/app.scss
@ ./.nuxt/App.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./.nuxt/client.js
ERROR in ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css)
Module not found: Error: Can't resolve './tailwindcss/base' in '/home/noud/workspaces/vue/hub/assets/css'
@ ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css) 3:40-196
@ ./assets/css/tailwind.css
@ ./.nuxt/App.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./.nuxt/client.js
ERROR in ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css)
Module not found: Error: Can't resolve './tailwindcss/components' in '/home/noud/workspaces/vue/hub/assets/css'
@ ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css) 4:40-202
@ ./assets/css/tailwind.css
@ ./.nuxt/App.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./.nuxt/client.js
ERROR in ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css)
Module not found: Error: Can't resolve './tailwindcss/utilities' in '/home/noud/workspaces/vue/hub/assets/css'
@ ./assets/css/tailwind.css (./node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!./node_modules/postcss-loader/src??ref--3-oneOf-1-2!./assets/css/tailwind.css) 5:40-201
@ ./assets/css/tailwind.css
@ ./.nuxt/App.js
@ ./.nuxt/index.js
@ ./.nuxt/client.js
@ multi ./.nuxt/client.js
FATAL Nuxt build error 15:33:50
at WebpackBundler.webpackCompile (node_modules/@nuxt/webpack/dist/webpack.js:2127:21)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async WebpackBundler.build (node_modules/@nuxt/webpack/dist/webpack.js:2076:5)
at async Builder.build (node_modules/@nuxt/builder/dist/builder.js:327:5)
at async Generator.initiate (node_modules/@nuxt/generator/dist/generator.js:110:7)
at async Generator.generate (node_modules/@nuxt/generator/dist/generator.js:71:5)
at async Object.run (node_modules/@nuxt/cli/dist/cli-build.js:106:7)
at async NuxtCommand.run (node_modules/@nuxt/cli/dist/cli-index.js:413:7)
╭─────────────────────────────╮
│ │
│ ✖ Nuxt Fatal Error │
│ │
│ Error: Nuxt build error │
│ │
╰─────────────────────────────╯
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `nuxt build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/noud/.npm/_logs/2021-04-19T13_33_50_866Z-debug.log
what to do now?
When editing a customer, the provided VAT number is not being sent to the API but sent with the value of null
even though the field has been filled.
It's been a while since we wrote the authentication side for the hub. Since then Nuxt Auth has been updated to support Sanctum and Passport out the box. Making some of the bits we did redundant. We should update the hub to reflect these changes.
This will likely involve changes to the API a bit, such as the sanctum prefix.
Can we do something about these warnings? If they're coming from Nuxt, do we need to upgrade?
Video of view: https://i.imgur.com/uvpDPel.mp4
Example payload from API, when requesting /api/v1/search?category=&page=1&search_type=categories&term=&rank=false&ids_only=false&include=channels%2Ccustomer_groups%2Cassets.transforms&sort=&full_response=true&per_page=30
(copied from Hub network)
{
"data": [{
"id": "3pl71lde",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 1,
"right_pos": 2,
"created_at": "2020-12-10T12:02:57.000000Z",
"updated_at": "2020-12-10T12:02:57.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Test-kategori"
}
},
"description": {
"webstore": {
"en": null
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": null,
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "3pl7djld",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 4,
"depth": null,
"has_draft": false,
"left_pos": 1,
"right_pos": 2,
"created_at": "2020-12-10T12:59:45.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Fodt\u00f8j"
}
},
"erp_id": {
"webstore": {
"en": 1
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "k09gg49y",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:45.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Hovedbekl\u00e6dning"
}
},
"erp_id": {
"webstore": {
"en": 2
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "1q6von93",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:45.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Handsker"
}
},
"erp_id": {
"webstore": {
"en": 3
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": [{
"id": "v8l4pl01",
"title": "Handsker",
"type": "GetCandy\\Api\\Core\\Categories\\Models\\Category",
"caption": null,
"kind": "image",
"external": false,
"thumbnail": null,
"position": 1,
"primary": true,
"url": "https:\/\/dsmecomdsa.eu.ngrok.io\/storage\/categories\/2020\/12\/11\/ZoKqBZod8evG0qQYFinIgZiyXvX7Kw6WnXvk3TPI.jpg",
"sub_kind": "jpeg",
"extension": "jpg",
"original_filename": "jma_logo_blaa.jpg",
"size": 22264,
"width": "237",
"height": "237",
"attribute_data": null,
"transforms": {
"data": []
}
}]
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "kr9nmxl7",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:45.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Tr\u00e6sko"
}
},
"erp_id": {
"webstore": {
"en": 4
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "486q2q6g",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:45.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Gummist\u00f8vler"
}
},
"erp_id": {
"webstore": {
"en": 5
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "759xo298",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:46.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Sk\u00e6rest\u00f8vler"
}
},
"erp_id": {
"webstore": {
"en": 6
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "wg9ee49q",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:46.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Futter"
}
},
"erp_id": {
"webstore": {
"en": 7
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "z562ep6j",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:46.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "Frakker"
}
},
"erp_id": {
"webstore": {
"en": 8
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}, {
"id": "zq6mmw6o",
"sort": "min_price:asc",
"drafted_at": null,
"products_count": 0,
"children_count": 0,
"depth": null,
"has_draft": false,
"left_pos": 3,
"right_pos": 4,
"created_at": "2020-12-10T12:59:46.000000Z",
"updated_at": "2020-12-14T07:17:19.000000Z",
"attribute_data": {
"name": {
"webstore": {
"en": "V\u00e6rkt\u00f8j"
}
},
"erp_id": {
"webstore": {
"en": 9
}
}
},
"draft": [],
"published_parent": [],
"channels": {
"data": [{
"id": "y3g6v91o",
"name": "webstore",
"handle": "webstore",
"url": "https:\/\/dsmecomdsa.eu.ngrok.io",
"default": true,
"published_at": "2020-12-14T07:17:19+00:00",
"attribute_data": null
}]
},
"layout": [],
"assets": {
"data": []
},
"primary_asset": [],
"customer_groups": {
"data": [{
"id": "v8l4pl01",
"name": "Retail",
"handle": "retail",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}, {
"id": "p09prlrn",
"name": "Guest",
"handle": "guest",
"visible": 1,
"purchasable": 1,
"attribute_data": null
}]
}
}],
"links": {
"first": "\/?page=1",
"last": "\/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [{
"url": null,
"label": "« Previous",
"active": false
}, {
"url": "\/?page=1",
"label": 1,
"active": true
}, {
"url": null,
"label": "Next »",
"active": false
}],
"path": "\/",
"per_page": 100,
"to": 10,
"total": 10,
"aggregations": [],
"highlight": {
"pre_tags": ["<em class=\"highlight\">"],
"post_tags": ["<\/em>"],
"fields": {
"*": {
"fragment_size": 200,
"number_of_fragments": 50
}
}
}
}
}
When I try to create a new category following exception comes from the browser console:
{
"message": "Validation Failed: 1: type is missing;",
"exception": "Elastica\\Exception\\ResponseException",
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/ruflin/elastica/src/Transport/Http.php",
"line": 182,
"trace": [
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/ruflin/elastica/src/Request.php",
"line": 181,
"function": "exec",
"class": "Elastica\\Transport\\Http",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/ruflin/elastica/src/Client.php",
"line": 521,
"function": "send",
"class": "Elastica\\Request",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/ruflin/elastica/src/Bulk.php",
"line": 290,
"function": "request",
"class": "Elastica\\Client",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Search/Drivers/Elasticsearch/Actions/IndexCategories.php",
"line": 97,
"function": "send",
"class": "Elastica\\Bulk",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Concerns/ResolvesMethodDependencies.php",
"line": 18,
"function": "handle",
"class": "GetCandy\\Api\\Core\\Search\\Drivers\\Elasticsearch\\Actions\\IndexCategories",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Action.php",
"line": 151,
"function": "resolveAndCall",
"class": "Lorisleiva\\Actions\\Action",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Action.php",
"line": 218,
"function": "handleRun",
"class": "Lorisleiva\\Actions\\Action",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Search/Drivers/Elasticsearch/Elasticsearch.php",
"line": 46,
"function": "__callStatic",
"class": "Lorisleiva\\Actions\\Action",
"type": "::"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Search/Drivers/Elasticsearch/Elasticsearch.php",
"line": 72,
"function": "index",
"class": "GetCandy\\Api\\Core\\Search\\Drivers\\Elasticsearch\\Elasticsearch",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Search/Actions/IndexObjects.php",
"line": 41,
"function": "update",
"class": "GetCandy\\Api\\Core\\Search\\Drivers\\Elasticsearch\\Elasticsearch",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Concerns/ResolvesMethodDependencies.php",
"line": 18,
"function": "handle",
"class": "GetCandy\\Api\\Core\\Search\\Actions\\IndexObjects",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Action.php",
"line": 151,
"function": "resolveAndCall",
"class": "Lorisleiva\\Actions\\Action",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/Action.php",
"line": 218,
"function": "handleRun",
"class": "Lorisleiva\\Actions\\Action",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Search/Listeners/IndexObjectListener.php",
"line": 19,
"function": "__callStatic",
"class": "Lorisleiva\\Actions\\Action",
"type": "::"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php",
"line": 412,
"function": "handle",
"class": "GetCandy\\Api\\Core\\Search\\Listeners\\IndexObjectListener",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php",
"line": 237,
"function": "Illuminate\\Events\\{closure}",
"class": "Illuminate\\Events\\Dispatcher",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/lorisleiva/laravel-actions/src/EventDispatcherDecorator.php",
"line": 62,
"function": "dispatch",
"class": "Illuminate\\Events\\Dispatcher",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
"line": 432,
"function": "dispatch",
"class": "Lorisleiva\\Actions\\EventDispatcherDecorator",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Core/Categories/Services/CategoryService.php",
"line": 121,
"function": "event"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Controllers/Categories/CategoryController.php",
"line": 127,
"function": "create",
"class": "GetCandy\\Api\\Core\\Categories\\Services\\CategoryService",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
"line": 54,
"function": "store",
"class": "GetCandy\\Api\\Http\\Controllers\\Categories\\CategoryController",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 254,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 197,
"function": "runController",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 693,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Illuminate\\Routing\\{closure}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
"line": 41,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 127,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 103,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 55,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php",
"line": 44,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Auth\\Middleware\\Authenticate",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php",
"line": 78,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 121,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 63,
"function": "handleStatefulRequest",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php",
"line": 67,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\EncryptCookies",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 26,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 149,
"function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
"line": 34,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/DetectHubRequestMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\DetectHubRequestMiddleware",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/SetChannelMiddleware.php",
"line": 23,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\SetChannelMiddleware",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/SetTaxMiddleware.php",
"line": 36,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\SetTaxMiddleware",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/SetLocaleMiddleware.php",
"line": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\SetLocaleMiddleware",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/SetCustomerGroups.php",
"line": 35,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\SetCustomerGroups",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/getcandy/candy-api/src/Http/Middleware/SetCurrencyMiddleware.php",
"line": 33,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "GetCandy\\Api\\Http\\Middleware\\SetCurrencyMiddleware",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 695,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 670,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 636,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 625,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 166,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 128,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/fruitcake/laravel-cors/src/HandleCors.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fruitcake\\Cors\\HandleCors",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/fideloper/proxy/src/TrustProxies.php",
"line": 57,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 167,
"function": "handle",
"class": "Fideloper\\Proxy\\TrustProxies",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 103,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 141,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 110,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/home/vagrant/Code/bavaria-pixel-getcandy-api/public/index.php",
"line": 52,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
}
]
}
Page
index
TypeError: find(...) is undefined
_callee$ hub.js:31
tryCatch runtime.js:63
invoke runtime.js:293
defineIteratorMethods runtime.js:118
Babel 2
asyncGeneratorStep
_next
client.js:103
_callee$ NuxtJS
tryCatch runtime.js:63
invoke runtime.js:293
defineIteratorMethods runtime.js:118
Babel 4
asyncGeneratorStep
_next
_asyncToGenerator
_asyncToGenerator
NuxtJS 3
errorHandler
globalHandleError
_callee6$
tryCatch runtime.js:63
invoke runtime.js:293
defineIteratorMethods runtime.js:118
Babel 2
asyncGeneratorStep
_throw
Steps to reproduce:
1.yarn dev
2. login
3. error
Page
categories.edit.media
Steps to reproduce:
Page
settings-attribute-groups
Steps to reproduce:
Accessing /settings/attribute-groups
yields the following error:
TypeError: Cannot read property 'name' of undefined
Page
products.edit.media
Steps to reproduce:
Products->ProductName->Media->Upload File
OS: Ubuntu 20.04.2 LTS TYPE:64bit
node: v12.20.2
Describe the bug
After I cloning the hub repo and installed npm and when command "npm run dev" it shows an error as
`ValidationError: Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
options.modules has an unknown property 'compileType'. These properties are valid:
I'm struggling to get the authentication working with the Admin Hub.
I have the API working with Sanctum, and I've tested it by calling some endpoints. However, I'm not sure how to configure the PROXY_LOGIN_ENDPOINT
in the Hub side to get it working with the API and Sanctum.
I don't mean to rush you guys, but hopefully, you can write up the guide here https://guides.getcandy.io/hub/authentication.html#laravel-sanctum
To allow static hosting, we probably need to include the following in the Nuxt config
// Target (https://go.nuxtjs.dev/config-target)
target: 'static',
This allows a Nuxt project to be generated for static hosting. I'm unsure how dynamic routes will cope with this, but having tested on a new plain Nuxt install it somehow handles dynamic routes, e.g. /pages/blog/_slug.vue
This gets away from the nasty 404.html
issue and introduces a nice index.html
file instead.
Page
products.edit.availability
Steps to reproduce:
Page
settings-attribute-groups
Steps to reproduce:
When accessing the products page and pagination is required, I get the following error in the console:
webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./.nuxt/getcandyhub/components/hub/SearchTable.vue?vue&type=script&lang=js&:132 Uncaught (in promise) TypeError: Cannot read property 'pagination' of undefined
at eval (webpack-internal:///./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./.nuxt/getcandyhub/components/hub/SearchTable.vue?vue&type=script&lang=js&:132)
Followed the install instructions to the t. But the app doesnt launch. The console is filled with message
" WARN You did not set any plugins, parser, or stringifier. Right now, PostCSS does nothing. Pick plugins for your case on https://www.postcss.parts/ and use them in postcss.config.js."
This message is repeated uncountable times while running npm run dev . Even after the console says listening to localhost:3000, opening it in browser shows nothing. Infact browser is not able to connect to the app.
There is no firewall or anything as other nuxt.js apps work perfectly fine. Also, nothing in the api logs, infact there is no request that is received in API log.
Really the most pathetic Laravel project I have ever tried.
if we edit one product and we press [publish] much information about the product disappears (no more pictures, messy options, or options that disappear, ...)
After update id hash be changed
When using /catalogue-manager/products/{product-id}
and updating data, switching tabs ignore updates to fields and overwrites fields with previous values.
With a fresh install of GetCandy, the collections section of the hub errors.
Sir, I am using the tag of 0.12.1 hub after the dev command when I try to login my console gives back 500 as error code also sometimes shows invalid credentials but I am sure that I entered valid credential that I put in the installation process.
I also check #39 its wasn't work for me
A fresh install of the Admin Hub produces a client error:
TypeError: Cannot read property 'mounted' of undefined Login.vue?7463:137
at Auth.mounted (auth.js?facc:112)
at Auth.setStrategy (auth.js?facc:108)
at Auth.loginWith (auth.js?facc:123)
at _callee3$ (Login.vue?7463:106)
at tryCatch (runtime.js?96cf:45)
at Generator.invoke [as _invoke] (runtime.js?96cf:274)
at Generator.prototype.<computed> [as next] (runtime.js?96cf:97)
at asyncGeneratorStep (asyncToGenerator.js?1da1:3)
at _next (asyncToGenerator.js?1da1:25)
at eval (asyncToGenerator.js?1da1:32)
Currently, it's not possible to login with the admin hub.
Page
discounts.edit.rewards
Steps to reproduce:
We're referencing a missing image on the login screen. Need to fix the HTML :)
Getcandy API installed local at http://getcandy.local
Getcandy HUB installed on the same computer at http://localhost:3000
I can access the API via curl from the terminal.
When I open http://localhost:3000, I see the login form, but can't login because of the CORS error:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ‘http://getcandy.local/api/v1/users/current?includes=roles.permissions,details’. (Reason: Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*’).
I tried Firefox 77.0.1 and Safari 13.1.1
Page
order-processing.dashboard
Steps to reproduce:
Page
products.edit.availability
Steps to reproduce:
Click on "Products" in the hub, choose product to edit.
Go into "Availability & Pricing" and click "Add option"
Fill out the form.
{"variants":[{"sku":"rs5443402","options":{"color":{"en":"Purple"}},"price":"23.00","stock":"","inventory":"2"}]}
then error response
_vm.fields.options[handle] is undefined
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.