lieberweiss_module_service
Summary
I. Release a new version
- Run
yarn build
- Run
yarn new-version
- Run
yarn publish
- Commit and push changes
II. Installation
Run npm install @lieberweiss/service
To import the lib, use const service = require('@lieberweiss/service
.
III. Usage
The service function takes 3 mandatory parameters :
-
serviceName
(type: String) -
url
(type: String) -
commands
(type: Object)
It returns a function which can be used to call an API, taking 3 parameters :
-
command
(type: String) -
args
(type: Object) -
auth
(type: Function, optional) -
files
(type:Array, optional)
files
is used when one want to post files. files
object array contains the following object : {name, originalFilename, rs}
:
-
name
is the fieldname of the file (default tofile
) -
originalFilename
orginal filename of the file -
rs
is a of type<fs.ReadStream>
For a full implementation, see mock-service.js
IV. Command props
Each command has 2 mandatory props:
-
route
(type: String | Function) -
method
(type: String, enum: ['GET', 'POST', 'DELETE', 'PUT'])
When route
is a function, service will call the function and pass three arguments : args
, auth
, files
.
You can also provide optional parameters:
-
query
(type: Array[String | Array[String]]) : every String queryParam then becomes required, unless you provide an Array instead of a String (e.g: ['queryParam', 'o'] -
body
: (type: Array[String | Array[String]]) : every String bodyParam then becomes required, unless you provide an Array instead of a String (e.g: ['bodyParam', 'o'] -
stream
(type: Boolean, default: false): if true, the response is returned without being processed, otherwise you will receive a json processed response -
withStatus
(type: Boolean, default: false): if true, the response will be an Object{ status, payload }
, with payload containing the returned response data -
errorField
(type: String, default: 'message'): The field to use in the response in case of error.