UNPKG

1.51 kBJavaScriptView Raw
1/**
2 * CRUD operations
3 * - connecting lib with persistent storage
4**/
5
6var CRUD = function( options ){
7
8 // pick the right store based on the options
9 var Model = require("../models/"+ options.model );
10 this.model = new Model( options );
11
12}
13
14CRUD.prototype = {
15
16 constructor: CRUD,
17
18 create: function( data, callback ){
19 // fallbacks
20 callback = callback || function(){};
21 //
22 this.model.create( data, function( err, result ){
23 if( err ) return callback( err );
24 // error control?
25 callback( null, result );
26 });
27 },
28
29 read: function( data, callback ){
30 // fallbacks
31 callback = callback || function(){};
32 //
33 this.model.read( data, function( err, result ){
34 if( err ) return callback( err );
35 // error control?
36 callback( null, result );
37 });
38 },
39
40 update: function( data, callback ){
41 // fallbacks
42 callback = callback || function(){};
43 //
44 this.model.destroy( data, function( err, result ){
45 if( err ) return callback( err );
46 // error control?
47 callback( null, result );
48 });
49 },
50
51 destroy: function( data, callback ){
52 // fallbacks
53 callback = callback || function(){};
54 //
55 this.model.destroy( data, function( err, result ){
56 if( err ) return callback( err );
57 // error control?
58 callback( null, result );
59 });
60 }
61}
62
63/*
64// Helpers
65var Model = function( token ){
66
67
68 return {
69 token: token,
70 expires: (new Date()).getTime() +
71 }
72}
73
74
75 // resets the store api for a custom store
76 setCustomStore: function( db ){
77 this.store = db;
78 },
79*/
80
81
82module.exports = CRUD;