5.0.0 • Published 8 years ago

rest-io v5.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

REST.IO

Small extendable REST framework for express and mongoose. wercker status

Installation

$ npm install rest-io --save

Versioning

This project is not using Semantic Versioning. Instead we are using Feature Versioning

New in v5.0.0

  • Roles can now be updated via the API with Authorization rights Note only ADMIN users can modify roles in this implementation, extend UserResource for a more specific implementation

Features

Roadmap

  • More default operations:
    • count
    • exists
    • batch update
  • Documentation generation

Reference

Quick Start

It's easy and fast to use rest.io. To start using rest.io see the next few steps:

Install the necessary node modules:

$ npm i rest-io -S

Create a resource:

import { Resource } from 'rest-io';
export const foodResource = new Resource({
    name: 'food',
    model: {
        name: String
    }
});

Create an app:

const * as express from 'express';
const RestIO from 'rest-io';
const * as mongoose from 'mongoose';

export const app = express();

// register the express app with rest.io
new RestIO(app, {
  resources: __dirname + '/resources'
});

mongoose.connect('mongodb://localhost:27017/test');
app.listen(3000, function () {
    console.log('Server has started under port: 3000');
});

Start the server:

node app.js

Resource is now available as:

MethodUrlAction
GET/api/foodsget all
POST/api/foodscreate
GET/api/foods/:foodIdget by id
PUT/api/foods/:foodIdupdate
DELETE/api/foods/:foodIddelete

new RestIO(app)

Registers the app with rest-io. This allows rest-io to bind the routings automatically. The bodyParser module will be used to parse the json requests.

new RestIO.Resource(config)

Resources are routed automatically with the configuration provided. These configurations are provided to the Resource constructor.

PropertyDescriptionTypeDefault
nameThe name of the resourceStringMandatory
modelThe mongoose Schema configSchemaMandatory
parentRefThe parent reference of the resource to be populated during retrievalString
populateThe children to populate, space separatedString
pluralThe plural form of the resource nameStringpluralize
parentResourceThe parent of this resourceResource
5.0.0

8 years ago

4.2.0

8 years ago

4.1.0

8 years ago

4.0.0

9 years ago

3.2.0

9 years ago

3.1.0

9 years ago

3.0.0

9 years ago

2.1.0

9 years ago

2.0.0

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago