@fcarelse/hapi-api-tasks-rest

0.0.6 • Public • Published

Rest Tasks API (Assessment)

Rest API extendable through middleware and options

Uses Hapi servers and extends the server with a set of routes for the REST implementation for Task records.

Tasks have stages and statuses as well as a title and content

Stages: "design", "develop", "test" and "deploy"

Statuses: "todo", "doing", "done" and "cancel"

Usage:

const API = require('@fcarelse/hapi-api-tasks-rest');
API.init(server);

This uses the default database of an sqlite file tasks.sqlite for demo purposes

Database Config:

Standard Knex type configuration

E.g. For MySQL

{
   client: "mysql",
   connection: {
   	host: "127.0.0.1",
   	user: "admin",
   	password: "admin",
   	database: "tasksapi",
   	charset: "utf8"
   }
}

The API is passed an options object for more detailed configuration:

Options Parameters:

E.g. API.init(server, options)

  • options.middleware = takes the Hapi format for middleware such as for user authentication.
  • options.knex = takes the Knex data access object or compatible for use during data operations in the controller
  • options.configDB = takes a database configuration to create a Knex object if one is not supplied
  • options.base = base route to place the API's routes. Defaults to '/tasks'
  • options.createSuccessCode = code to use for successful create operation. Defaults to 201.
  • options.readSuccessCode= code to use for successful create operation. Defaults to 200.
  • options.updateSuccessCode= code to use for successful create operation. Defaults to 204.
  • options.deleteSuccessCode= code to use for successful create operation. Defaults to 202.
  • options.listSuccessCode= code to use for successful create operation. Defaults to 200.

Demo:

Requirements:

Install:

  • git clone https://github.com/fcarelse/Assessment-RestAPI.git
  • cd Assessment-RestAPI
  • npm install

Run Demo:

Reset data:

  • At the top right, on the main navigation bar on the page is an option "Reset" to reset the task list.
  • In the list view there is also a tab bar to switch between Kanban-board view and Todo-list view.
  • Clicking on an item will open it for editting in a basic form.

Readme

Keywords

Package Sidebar

Install

npm i @fcarelse/hapi-api-tasks-rest

Weekly Downloads

1

Version

0.0.6

License

ISC

Unpacked Size

33.2 kB

Total Files

20

Last publish

Collaborators

  • fcarelse