Skip to content

Merge v1.0-dev into Master #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 74 commits into from
Oct 2, 2019
Merged

Merge v1.0-dev into Master #78

merged 74 commits into from
Oct 2, 2019

Conversation

abmusse
Copy link
Member

@abmusse abmusse commented Aug 19, 2019

We already have tagged and created a branch for version 0.1.6 (current npm latest tag release).

Since we are working towards stable v1.0.0 release and current have an alpha release, I propose we merge the current work on v1.0.0-dev into the master branch.

This will be done eventually anyway, and we wont have back merge current PRs that are targeting the master branch.

markdirish and others added 30 commits January 25, 2019 14:23
…ere are 68 linting problems left, but amusse will fix most in itoolkit when he refactors, while others need a little more in depth work. This will serve as the base for a v1.0 branch.
* Working on refactoring class names

* save more changes
- Moved classes and functions into seperate modules
- Added exports to still allow access through itoolkit.js
- iConn class moved to iconn.js
- iPgm class moved to ipgm.js
- iSql class moved to isql.js
- iCmd function moved to icmd.js
- iSh function moved to ish.js
- ProgramCaller moved to programCaller.js
- xmlToJson moved to utils.js
- Note: 2 lines have igonered lint rules: 146 and 148
Modularize itoolkit.js see issue #20
…ons usins ProgramCaller instead of xt.iPgm. Fixed eslint-disable sections, but there are a few that are still needed (bitwise operations)
Removing sync, continued linting, renaming classes
…functions that do the same type of work are together
…conn like the old classes. Keeping old classes but redirecting to toolkit and adding deprecation messages (todo)
…ood, now building back up a little. icmd, iqsh, and ish are all mostly the same thing, and I made them live in the CommandGenerator class. Others, like iconn and isql, are definitely their own classes and rightly split off. I also put the deprecated classes into the file of the class that is replacing them to simplify the file structure.
…f the last object tested were not successful, and tracked success with a variable). Renamed the sql class to SqlCall. General cleanup
…ew classes and use them. Can be easily removed later. Also removed CommandGenerator class and just have 3 const functions exported now
Merging in to not block future merges. Should be stable at this juncture.
Merged in changes from master

- Added unit and functional tests
- small patches fixed while testing
- contribution guidelines and related files

Patched v1.0-files to get tests to pass on v1.0-dev

- Updated how the underlying properties was accessed in iConnUnit.js

Touched up the require() path to find the modules for

- iDataQueueFunctional
- iNetworkFunctional
- iObjFunctional
- iProdFunctional
- iUserSpaceFunctional
- iWorkFunctional

Toolkit.js

- un-commented Release_level property in getProductInfo()
- fixed require() statement for ProgramCall

Connection.js

- fix variable name change iXml_SERVICE_LIB -> I_XML_SERVICE_LIB

Deprecated.js

- add missing addToLibraryList() function
- add missing getJobInfo() function
- fixed typo retSrvPgmIfno -> retSrvPgmInfo
- fixed typo retUserIfno -> retrUserInfo
- fixed typo getSysStatysEx -> getSysStatusExt

Update ixml.js

- ran into error when options was undefined in iXmlNodeDataOpen
- added guard to iterate over keys only when options is an object

Update utils.js
- use Connection instead of iConn for transports
This reverts commit 8ecfd0c.
PR was squashed when it should have been merged undo
- merged in functional and unit tests
- merged in small patches found while unit testing
- merged contribution guidlines and related files
Updated how the underlying properties was accessed in iConnUnit.js

Touched up the require() path to find the modules for

- iDataQueueFunctional
- iNetworkFunctional
- iObjFunctional
- iProdFunctional
- iUserSpaceFunctional
- iWorkFunctional

Toolkit.js

- uncommented Release_level property in getProductInfo()
- fixed require() statement for ProgramCall

Connection.js

- fix variable name change iXml_SERVICE_LIB -> I_XML_SERVICE_LIB

Deprecated.js

- add missing addToLibraryList() function
- add missing getJobInfo() function
- fixed typo retSrvPgmIfno -> retSrvPgmInfo
- fixed typo retUserIfno -> retrUserInfo
- fixed typo getSysStatysEx -> getSysStatusExt

Update ixml.js

- ran into error when options was undefined in iXmlNodeDataOpen
- added guard to iterate over keys only when options is an object
- use Connection instead of iConn for transports
- itoolkit.js
- ixml.js
SqlCall.rowCount()
- added check to allow optional options object

SqlCall.count()
- called iXmlNodeSqlRowCount instead of iXmlNodeSqlCount

Should have been patched during merge but was ommited
- purpose is to ensure LF line endings are used
- ran into cases where CRLF was used in some files and LF in others
- this way we can maintain consistency
- https://help.github.com/en/articles/dealing-with-line-endings
Allow Connection.js Constuctor to accept a single object see #25
Allow Connection.run() function to return error as first param of callback see #2

Establish one code path in Connection Constructor
- when pre v1.0 signature is used create an options object
- add properties to this options object
- this mimics the current v1.0 way of passing a signle object
- that way constructor follows on code path

Options object contain sub object transportOptions
- This contains properties such as databse, username, etc
- This sub object is passed to the transport

Rename variables away from I_* prefix
Rename getConnection() -> getTransportOptions()
Rename cmd -> commandList

Moved verbose to be a property of Connection
- verbose is added to transportOptions during run()
- this is because verbose can be adjusted with debug()
- add print of xmlOutput also when in verbose mode
- We no longer support sync mode which had an option to set timeout
Update transports interface to accept config, xmlInput, done

idb transport

Use iPLUGR512k variant instead of iPLUG512k to iterate over a result set

Ensure conn and stmt are always cleaned up properly
- even during error states the stmt and conn objects are now cleaned
- add function clean() to avoid duplication
- this commit should help resolve issue #17

rest transport

Validate required: database, username, password

Enforce output buffer to be set to the max
- before default was only set now output buffer is always set to the max

Small fixes add mising semicolons, remove some comments, etc
- moved irest.js
- moved istoredp.js
- Now all toolkit methods will have error first callbacks
- file names have changed since v1.0-dev branched from master
abmusse and others added 19 commits June 6, 2019 16:56
The node-odbc updated the API and connections are no longer obtained through the Connection constructor.
Instead a call to the connect function will return a connected Connection object.
* use POST method for rest transports

* enable skipped test cases for `getInstalledProducts()`

Signed-off-by: Xu Meng <[email protected]>
These test cases will help prevent regressions when refactoring ixml.js
Found cases where calling SqlCall functions lead to type errors.
Solved these issues by ensuring options object parameter was indeed an
object.
Added more unit tests using the different signatures of the test cases.

Tested cases where options object was passed and others where it was
not.
@abmusse abmusse requested review from kadler and dmabupt and removed request for kadler August 19, 2019 19:00
- updated sinon, eslint, eslint-plugin-import, had vulnerabilities high
lodash

- use odbc 2.1.3 version latest beta version removed export of connect
method

- updated other deps
Copy link
Member

@kadler kadler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@abmusse abmusse merged commit bb3b07c into master Oct 2, 2019
@kadler kadler deleted the v1.0-dev branch January 13, 2020 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants