1.0.1 • Published 7 years ago

@artifacter/webapi v1.0.1

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

artifacter-logo@artifacter/webapi

Artifacter's artifacts webapi core connector

Checkout Github's parsed README for a better visualization! -> https://github.com/arthmoeros/artifacter-webapi

What's this? - Intro

This is Artifacter's Web API connector for the core (previously coupled with @artifacter/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/artifacter-webapi/
npm install
npm start

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

npm install --save @artifacter/webapi
node_modules/.bin/artifacter-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 ARTIFACTER_CONFIG and ARTIFACTER_TMP, here is a unix example:

# Default is ./config
export ARTIFACTER_CONFIG=/etc/artifacter_custom
# Default is ./tmp
export ARTIFACTER_TMP=/var/artifacter_custom

What's in here? - API

Artifacter'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 Artifacter. 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 Artifacter 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? - Artifacter's Core Configuration

Check out the @artifacter/core README