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

9 years ago

0.0.7

9 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