0.1.4 • Published 8 years ago

sequelize-simple-crud v0.1.4

Weekly downloads
95
License
-
Repository
github
Last release
8 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

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.1-downgrade

8 years ago

0.1.0

8 years ago

0.0.17

8 years ago

0.0.16

8 years ago

0.0.15

8 years ago

0.0.14

8 years ago

0.0.13

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago