Skip to content

Commit 95a422a

Browse files
author
Ben Hanna
committed
Merge branch 'rewrite'
Conflicts: handlers/remove.js handlers/update.js
2 parents 0fe18b0 + 15da91c commit 95a422a

File tree

14 files changed

+251
-371
lines changed

14 files changed

+251
-371
lines changed

README.md

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ update PUT /resource/:id
4141
To define a route simply pass your Sequelize model to the handler function.
4242

4343
```js
44-
var sequelizeHandlers = require('sequelize-handlers');
44+
const { ModelHandler } = require('sequelize-handlers');
4545

46-
app.get('/hammers/:id', sequelizeHandlers.get(Model));
46+
const hammerHandler = new ModelHandler(Model);
47+
48+
app.get('/hammers/:id', hammerHandler.get());
4749
```
4850

4951
## API
@@ -55,7 +57,7 @@ of a `hammers` resource with a corresponding Sequelize model `Hammer`.
5557
The `create` handler will return a `201` upon success.
5658

5759
```js
58-
app.post('/hammers', sequelizeHandlers.create(Hammer));
60+
app.post('/hammers', hammerHandler.create());
5961
```
6062

6163
#### *Request example*
@@ -74,7 +76,7 @@ The `get` handler will return a `200 OK` upon success. The handler will return a
7476
if the corresponding record could not be located.
7577

7678
```js
77-
app.get('/hammers/:id', sequelizeHandlers.get(Hammer));
79+
app.get('/hammers/:id', hammerHandler.get());
7880
```
7981

8082
#### *Request example*
@@ -90,7 +92,7 @@ Upon success the handler will return a `200 OK` if the entire collection was ret
9092
it will return a `206 Partial Content`.
9193

9294
```js
93-
app.get('/hammers', sequelizeHandlers.query(Hammer));
95+
app.get('/hammers', hammerHandler.query());
9496
```
9597

9698
#### *Request example*
@@ -164,7 +166,7 @@ The `remove` handler will return a `204 No Content` upon success. The handler wi
164166
if the corresponding record could not be located.
165167

166168
```js
167-
app.delete('/hammers/:id', sequelizeHandlers.remove(Hammer));
169+
app.delete('/hammers/:id', hammerHandler.remove());
168170
```
169171

170172
#### *Request example*
@@ -178,7 +180,7 @@ The `update` handler will return a `200 OK` upon success. The handler will throw
178180
if the corresponding record could not be located.
179181

180182
```js
181-
app.put('/hammers/:id', sequelizeHandlers.update(Hammer));
183+
app.put('/hammers/:id', hammerHandler.update());
182184
```
183185

184186
#### *Request example*
@@ -212,16 +214,16 @@ model and adds all RESTful routes for it.
212214

213215
```js
214216
// NPM Modules
215-
var express = require('express'),
216-
bodyParser = require('body-parser'),
217-
Sequelize = require('sequelize'),
218-
sequelizeHandlers = require('sequelize-handlers');
217+
const express = require('express');
218+
const bodyParser = require('body-parser');
219+
const Sequelize = require('sequelize');
220+
const { ModelHandler } = require('sequelize-handlers');
219221

220222
// Create the Sequelize instance
221-
var sequelize = new Sequelize('sqlite://database.sqlite');
223+
const sequelize = new Sequelize('sqlite://database.sqlite');
222224

223225
// Define a Sequelize model
224-
var Hammer = sequelize.define('Hammer', {
226+
const Hammer = sequelize.define('Hammer', {
225227
id: {
226228
primaryKey: true,
227229
autoIncrement: true,
@@ -235,34 +237,37 @@ var Hammer = sequelize.define('Hammer', {
235237
}
236238
});
237239

240+
// Create a handler instance
241+
const hammerHandler = new ModelHandler(Hammer);
242+
238243
// Create the Express application
239-
var app = express();
244+
const app = express();
240245

241246
// Setup our application so that the request body is parsed as JSON
242247
app.use(bodyParser.json());
243248

244249
// Add a create route
245-
app.post('/hammers', sequelizeHandlers.create(Hammer));
250+
app.post('/hammers', hammerHandler.create());
246251

247252
// Add a get route
248-
app.get('/hammers/:id', sequelizeHandlers.get(Hammer));
253+
app.get('/hammers/:id', hammerHandler.get());
249254

250255
// Add a query route
251-
app.get('/hammers', sequelizeHandlers.query(Hammer));
256+
app.get('/hammers', hammerHandler.query());
252257

253258
// Add a remove route
254-
app.delete('/hammers/:id', sequelizeHandlers.remove(Hammer));
259+
app.delete('/hammers/:id', hammerHandler.remove());
255260

256261
// Add an update route
257-
app.put('/hammers/:id', sequelizeHandlers.update(Hammer));
262+
app.put('/hammers/:id', hammerHandler.update());
258263

259264
// Synchronize our models and start the application
260265
sequelize
261266
.sync()
262267
.then(start);
263268

264269
function start() {
265-
app.listen(process.env.PORT || 8080, function () {
270+
app.listen(process.env.PORT || 8080, () => {
266271
console.log('Listening...');
267272
});
268273
}

errors/HttpStatusError.js

Lines changed: 0 additions & 10 deletions
This file was deleted.

handlers/create.js

Lines changed: 0 additions & 25 deletions
This file was deleted.

handlers/get.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

handlers/query.js

Lines changed: 0 additions & 64 deletions
This file was deleted.

handlers/remove.js

Lines changed: 0 additions & 42 deletions
This file was deleted.

handlers/update.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

index.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
1-
var create = require('./handlers/create'),
2-
get = require('./handlers/get'),
3-
query = require('./handlers/query'),
4-
remove = require('./handlers/remove'),
5-
update = require('./handlers/update');
1+
const ModelHandler = require('./src/handler');
62

73
module.exports = {
8-
create: create,
9-
get: get,
10-
query: query,
11-
remove: remove,
12-
update: update
4+
ModelHandler
135
};

0 commit comments

Comments
 (0)