Skip to content
/ services Public
forked from ncats/services

base service for API (Express)

License

Notifications You must be signed in to change notification settings

niaid/services

 
 

Repository files navigation

Coverage Status Build Status semantic-release codecov

LabShare Services

Usage

npm i @labshare/services

const {Services} = require('@labshare/services');

let options = {
    // Override default options. 
    // The available configuration options are described in the "Configuration" section below.
};

let services = new Services(options);

services.config(({app, services}) => {
   // Optionally perform additional customization of the Express app initialized by Services and the loaded routes
   // Example (adds Express.js compression middleware):
   app.use(compression());
});

// Start up the server with all the loaded HTTP and Socket APIs
services.start();

Configuration

LabShare Service Plugins

Example plugin usage

const {Services} = require('@labshare/services');
const servicesAuth = require('@labshare/services-auth');

const services = new Services({/* options */);

services.config(servicesAuth({/* options */}));

Default HTTP Routes

Versions

GET /<service-path>/versions

Response

{
   "buildVersion":"v2017.0914.5",
   "versions": [
       {"api":"ls", apiDetails":{"name":"labshare","version":"v0.17.0631","description":"LabShare Services"}}
   ]
}

Example: http://localhost:8000/versions

API Explorer

GET /<service-path>/explorer

Response

Swagger HTML page providing documentation for endpoints across all API packages

Example: http://localhost:8000/explorer

Working with LabShare APIs

Development

  1. Install Node.js.
  2. npm i -g lsc
  3. Run npm install inside the Service's root directory to install its dependencies.

Tests

npm test

LoopBack

About

base service for API (Express)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 67.9%
  • TypeScript 31.8%
  • Dockerfile 0.3%