elasticio / component-commons-library Goto Github PK
View Code? Open in Web Editor NEWStorage for most common component development cases
License: Apache License 2.0
Storage for most common component development cases
License: Apache License 2.0
Currently, the AttachmentProcessor
works with reading from and writing to our steward service. In the longer term, there is a desire to migrate from Steward to Maester. Currently, when storing data in Maester, in general, client side encryption is used. As a result, if we simply swap out Steward URLs with Maester URLs (and the existing Maester encryption logic) then existing components which work with attachments would not be functional. We should add logic such that if the provided URL is a Maester URL, then attachment processor should read it seamlessly.
None, but:
Also makes sense to work in parallel on #41
Need to change private
to protected
access modifier for getValidToken
and fetchNewToken
methods in OAuth2RestClient
class
In current implementation of jsonataTransform.ts
script there's no way to avoid 'handlePassthrough' - adding all passthrough data to 'message.body.elasticio' variable. This approach should be changed
Currently, a bunch of the logic to handle interactions with elastic.io's own REST API are contained within the two files platformApiLogicClient.js
and platformApiRestClient.js
within the ipaas-core-component. Ideally, we should migrate these files to this library so that this logic can be used for other purposes.
[Description of the enhancement]
[What you expected to be implemented]
Most of the functionality in the library isn't really documented.
There is a misprint in the description of the ApiKeyRestClient
.
The example in the topic should be fixed:
https://github.com/elasticio/component-commons-library/blob/master/README.md#apikeyrestclient
Follow up to #42
The rollout strategy is as follows:
After this change, only Maester attachments should be created with AttachmentProcessor.
We need to complete documentation for the library in order to comply DoD
The request package used by this library has been deprecated since Feb 2020. This library should be updated to use a fully maintained package for http request functionality.
Current implementations of getEndTime
and getStartTime
methods returns
cfg[END_TIME] || new Date(MAX_DATE)
which should new wrapped into new Date() one more time to be sure in Date object processing.
Also, need to add validation for possible Invalid Date
value in case of incorrect input
On our platform, we use version 1.7
In case the user tries to use the code that works for version 1.8.6 then our component(version 1.7) will return empty objects.
Currently, there is the latest version of the library with the suffix dev.3
that should be removed.
https://www.npmjs.com/package/@elastic.io/component-commons-library
Additionally, there was found a potential security vulnerability in the lodash
dependency:
https://github.com/elasticio/component-commons-library/network/alerts
Method uploadAttachment in class AttachmentProcessor use maxContentLength to define max file size, but it limits only response, instead of it need to use maxBodyLength:
maxContentLength
defines the max size of the http response content in bytes allowed in node.js
maxBodyLength
(Node only option) defines the max size of the http request content in bytes allowed
Fix dev dependencies: move typescript
and @types/node
to devDependencies
typescript
and @types/node
in devDependencies instead of main dependencies
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.