3.0.1 • Published 7 years ago

@qsdt/webapi v3.0.1

Weekly downloads
1
License
GPL-3.0
Repository
github
Last release
7 years ago

qsdt-logo@qsdt/webapi

QSDT's webapi core connector

What's this? - Intro

This is QSDT's Web API connector for the core (previously coupled with @qsdt/core), it makes use of the core module to expose all its API via a RESTful API.

How do I use this?

You can git clone this same repo and start it just like this

git clone https://github.com/arthmoeros/qsdt-webapi/
npm install
npm install -g typescript # if you dont have typescript installed
tsc -P .
npm start

...or use it as a npm package, and start it using the provided bin

npm install --save @qsdt/webapi
node_modules/.bin/qsdt-serve

In both cases, by default the config and temporary directories are within the core base folder, you can customize these paths using the environment variables QSDT_CONFIG and QSDT_TMP, here is a unix example:

# Default is ./config
export QSDT_CONFIG=/etc/qsdt_custom
# Default is ./tmp
export QSDT_TMP=/var/qsdt_custom

What's in here? - API

QSDT's Web API runs as an expressJS server, it has the same 4 services available in the API as the core, via RESTful.


Get Form Configurations list

ResourceMethodRequest ContentTypeResponse ContentType
/formsGETapplication/x-www-form-urlencodedapplication/json

Retrieves a list of presumably valid form configurations ids on the configuration path of QSDT. It returns a string array containing each form configuration ID (file name without extension).

Get Form Configuration

ResourceMethodRequest ContentTypeResponse ContentType
/forms/:idGETapplication/x-www-form-urlencodedapplication/json

Retrieves the contents of a identified form configuration file on QSDT as a json string.

Request Artifact Generation

ResourceMethodRequest ContentTypeResponse ContentType
/generatedArtifactsPOSTapplication/jsonapplication/json

Requests an artifact generation and returns an uuid to retrieve the generated artifacts. The RESTful API responds with the location of the created resource (generated artifact) in the Location header.

Retrieve generated artifacts

ResourceMethodRequest ContentTypeResponse ContentType
/generatedArtifacts/:uuidGETapplication/x-www-form-urlencodedapplication/zip

Retrieves a generated artifact, once is retrieved it is deleted from the temporary folder, any subsequent try to get the same artifact will result in a 404 status code.


How do I handle all the Configuration? - QSDT's Core Configuration

Check out the @qsdt/core README

I don't want a RESTful API, I want an UI and everything working - UI and Docker Image

If you need an User Interface for this, use @qsdt/ui and connect it to the QSDT's API host.

Or if you want everything setup and ready to go, you can pull the docker image from Docker Hub and run it, if you want to run it with your own configuration, bind a volume to a host path with it.

dockeri.co

docker pull arthmoeros/qsdt
docker run -v <host-path>:/etc/qsdt/ -p <host-port>:8080 -d arthmoeros/qsdt

The Docker image stores the temporary files within the container, the config folder must be provided as a binded volume in the docker run command, otherwise it will start with the sample configuration.