@cogent-labs/check-status-script

a script to check status from the wis server

Usage no npm install needed!

<script type="module">
  import cogentLabsCheckStatusScript from 'https://cdn.skypack.dev/@cogent-labs/check-status-script';
</script>

README

@cogent-labs/check-status-script

This @cogent-labs/check-status-script package performs the following functions:

Installs the `checkStatus` command line tool which is used to:

    - Query the WIS SOAP server with a requestId and retrieve: RequestId, Details, Images, Report.
    - When the report pdf link is supplied, the report is downloaded and stored on the file system.

Installation

Use this procedure to install nvm, node and the required node packages.

install xcode if needed

    xcode-select --install

create .bash_profile if needed

    touch ~/.bash_profile

Install nvm

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

install node

    nvm install v12.16.1

install required node packages

    npm install -g @cogent-labs/check-status-script @babel/core @babel/node

Configure

Be aware of the two WIS SOAP server Urls:

- WIS production url: https://www.wisinspections.com/wiswebservice.asmx?WSDL
- WIS staging url: https://stagingnew.wisinspections.com/wiswebservice.asmx?WSDL

Use a .env file to store confidential content.

create a .env file in a protected directory:

    mkdir -p $HOME/protected
    touch $HOME/protected/.env

create a symlink to the file:

    FILE=$HOME/protected/.env
    LINK=$HOME/.nvm/versions/node/v12.16.1/lib/node_modules/@cogent-labs/check-status-script/.env
    ln -s $FILE $LINK

enter content using: vi $FILE

    username=john
    password=1234
    reportDir=/path/to/gdrive/folder
    wisSoapServerUrl=http://...

Tests

To run tests:

npm test

Usage

This is how to use the checkStatus CLI.

checkStatus payload

    payload is defined as:

        requestId,folderPath
        requestId,folderPath
        ...

    Example:

        checkStatus "758317,/path/to/hierarchy/location
        256317,/path/to/hierarchy/location
        932317,/path/to/hierarchy/location"

Details

Here are some details about how it works:

The payload provided to the checkStatus command includes one line for every request:

    758317,/path/to/hierarchy/location/111
    256317,/path/to/hierarchy/location/222
    932317,/path/to/hierarchy/location/333

Every line includes a requestId and a folderPath.  The first request:

    requestId: 758317
    folderPath: /path/to/hierarchy/location/111

For every requestId we call the WIS Server and get the report URL.
We will download the report using the report URL.  We will use the
folderPath determine where the report will be saved.


    folderPath: /path/to/hierarchy/location/111

    1. confirm hierarchy container folder: path/to/hierarchy/location
    2. create report folder (last folder in folderPath): 111
    3. create report file using the report folder name: 111.pdf

Finally the report can be found at this location path:

    /path/to/hierarchy/location/111/111.pdf

Note that the report will not be downloaded to a location if it already exists.

Author

Frank Gutierrez

npm.frankg@gmail.com

License

Copyright (c) 2020 Frank Gutierrez III

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.