0.0.18 • Published 7 years ago

express-restless v0.0.18

Weekly downloads
1
License
BSD-2-Clause
Repository
github
Last release
7 years ago

express-restless

Installation

% npm install --save express-restless

Getting Started

var _ = require('underscore');
var express = require('express');
var restless = require('./index');

var data = {
  users: [
    {id: '0', name: 'Jean'},
    {id: '1', name: 'Somchai'}
  ],
  articles: [
    {id: '0', user: '0', title: 'Bonjour'},
    {id: '1', user: '1', title: 'Sawadde'},
    {id: '2', user: '0', title: 'Salut'}
  ]
};

var articles = new restless.Resource({
  get_collection: function (req, res) {
    var rec = _.where(data.articles, {user: req.params.user});

    if (rec.length) {
      res.respond('OK', rec);
    } else {
      res.respond('NotFound');
    }
  }
});

var users = new restless.Resource({
  id: 'user',

  resources: {
    count: true,
    articles: articles
  },

  get_collection: function (req, res) {
    res.respond('OK', data.users);
  },

  get_document: function (req, res) {
    var rec = _.where(data.users, {id: req.params.user});

    if (rec.length) {
      res.respond('OK', rec[0]);
    } else {
      res.respond('NotFound');
    }
  },

  get_count: function (req, res) {
    var rec = _.where(data.articles, {user: req.params.user});

    res.respond('OK', rec.length);
  }
});

var api = express();

api.use(express.urlencoded());
api.use(express.json());

restless.install(api);

articles.install(api, '/articles');
users.install(api, '/users');

var server = express();

server.use('/api', api);

server.listen('8080');
0.0.18

7 years ago

0.0.17

10 years ago

0.0.16

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago