diff --git a/config/default.json b/config/default.json index 088013dd..578a46c0 100644 --- a/config/default.json +++ b/config/default.json @@ -274,6 +274,7 @@ "adempiere/dashboard", "adempiere/dashboard/addons/user", "adempiere/dashboard/addons/tasks", + "adempiere/dashboard/addons/charts", "adempiere/user", "adempiere/user/enrollment", "adempiere/user/log", diff --git a/package.json b/package.json index 4a8a6a71..0af0e5bd 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@storefront-api/platform-abstract": "1.0.0-rc.3", "@storefront-api/platform-magento1": "1.0.0-rc.3", "@storefront-api/platform-magento2": "1.0.0-rc.3", - "@adempiere/grpc-api": "1.5.9", + "@adempiere/grpc-api": "1.6.0", "@adempiere/grpc-web-store-api": "1.4.1", "ajv": "^6.4.0", "ajv-keywords": "^3.4.0", diff --git a/src/modules/adempiere-api/api/extensions/adempiere/dashboard/addons/charts/index.js b/src/modules/adempiere-api/api/extensions/adempiere/dashboard/addons/charts/index.js new file mode 100644 index 00000000..e57bae83 --- /dev/null +++ b/src/modules/adempiere-api/api/extensions/adempiere/dashboard/addons/charts/index.js @@ -0,0 +1,45 @@ +import { Router } from 'express'; +import { + convertChartFromGRPC +} from '@adempiere/grpc-api/lib/convertBusinessData'; + +module.exports = ({ config, db }) => { + let api = Router(); + const ServiceApi = require('@adempiere/grpc-api') + let service = new ServiceApi(config) + service.initService() + + /** + * GET Chart Data + * + * req.query.token - user token + * req.query.language - login language + * req.query.uuid - uuid of chart + * req.query.id - id of chart + * Details: + */ + api.get('/metrics', (req, res) => { + if (req.query) { + service.getChart({ + token: req.query.token, + language: req.query.language, + uuid: req.query.uuid, + id: req.query.id + }, function (err, response) { + if (response) { + res.json({ + code: 200, + result: convertChartFromGRPC(response) + }) + } else if (err) { + res.json({ + code: 500, + result: err.details + }) + } + }) + } + }); + + return api +} diff --git a/yarn.lock b/yarn.lock index 08a5c6f6..955ac1af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,10 +24,10 @@ striptags "^3.0.1" word-wrap "^1.2.1" -"@adempiere/grpc-api@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@adempiere/grpc-api/-/grpc-api-1.5.0.tgz#0e7f9f17893250fea58caad38bdf02f181fb9e27" - integrity sha512-6MlWTp3Wbn27fG5AOtq9t3wDfZaHuj1rXl8hfuedlr+vT+zLe3xVsHhNWwQLwgDoFKwcE/XZXum4hcV2PjJmnw== +"@adempiere/grpc-api@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@adempiere/grpc-api/-/grpc-api-1.6.0.tgz#98742d5e71856868fb909f1a67ebba6febb04789" + integrity sha512-v/Eq7hP+fhZlurVBegHcg1kIpnZOaoHhBvHthUsDnqtVTgqL3AiZbbEOpK0z7wFoy8joggFD6u3Ayp/Dy7VWyg== dependencies: "@grpc/grpc-js" "^1.2.12" google-protobuf "^3.15.6"