0.1.4 • Published 9 years ago

sequelize-simple-crud v0.1.4

Weekly downloads
95
License
-
Repository
github
Last release
9 years ago

sequelize-simple-CRUD

Sequelize-simple-CRUD is a Sequelize based API builder for Node.js.

Installation

npm install sequelize-simple-crud

API responses example

Get item

    {"item": {"id": 1}}

Get items

    {"items": [{"id": 1}, {"id": 2}], "count": 2}

With error

    {"error": "Wrong params"}

Base objects

New controller object

    new ssCRUD.Controller(YourModel);

Your query configurator

    new ssCRUD.QueryHelper(sequelize,
     offsetFieldName,
     countFieldName,
     searchQFieldName,
     arrayWithSearchFields,
     filterFieldName,
     arrayOfAvailableFieldsForFilter);

Controller functions

Configure your C(create) and U(update) method fields

    var logController = new ssCRUD.Controller(LogModel);
    logController
          .addCreate(arrayOfMandatoryFields, arrayOfNotMandatoryFields)
          .addUpdate(arrayOfMandatoryFields, arrayOfNotMandatoryFields)

CRUD API config example

LogModel

    module.exports.defineModel = function(sequelize, DataTypes) {
      return sequelize.define('LogModel', {
        id: {
          type: DataTypes.INTEGER,
          primaryKey: true,
          autoIncrement: true
        },
        source: DataTypes.STRING,
        severity: DataTypes.INTEGER,
        message: DataTypes.STRING
      });
    };

Your router

    var ssCRUD = require('sequelize-simple-crud');

    var LogModel = require('../models/LogModel').defineModel(sequelize, Sequelize);
    var logController = new ssCRUD.Controller(LogModel);

    logController
      .addCreate(['severity', 'source', 'message'])
      .addUpdate([], ['severity', 'source', 'message'])
      .addQueryHelper(new ssCRUD.QueryHelper(modelsStore.sequelize,
        'offset',
        'count',
        'q',
        ['severity', 'source', 'message'], // You can use relation fields. Example: 'UserModel.name'
        'filter',
        ['severity', 'source', 'message']
      ));


    app.get('/logs/:id', logController.getItem);
    app.get('/logs', logController.getItems);
    app.post('/logs', logController.createItem);
    app.put('/logs/:id', logController.updateItem);
    app.delete('/logs/:id', logController.deleteItem);
0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.1-downgrade

9 years ago

0.1.0

9 years ago

0.0.17

9 years ago

0.0.16

9 years ago

0.0.15

9 years ago

0.0.14

9 years ago

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 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