nodulator
Version:
Nodulator ============
58 lines (40 loc) • 1.22 kB
text/coffeescript
driver = null
class Table
name: null
constructor: () ->
Find: (id, done) ->
id = parseInt id, 10 if typeof id isnt 'number'
'*', {id: id}, done
FindWhere: (fields, where, done) ->
fields, where, {limit: 1}, (err, results) =>
return done err if err?
if results.length is 0
return done
status: 'not_found'
reason: JSON.stringify where
source:
done null, results[0]
Select: (fields, where, options, done) ->
driver.Select , fields, where, options, done
Save: (blob, done) ->
if blob.id?
blob, {id: blob.id}, done
else
blob, done
Insert: (blob, done) ->
driver.Insert , blob, done
Update: (blob, where, done) ->
driver.Update , blob, where, done
Delete: (id, done) ->
driver.Delete , {id: id}, (err, affected) ->
return done err if err?
return done {error: 'Error on Delete'} if !affected
done()
module.exports = (config) ->
file = require('./' + config.dbType)
driver = file(config)
table: (name) ->
file.AddTable name
new Table name
module.exports._reset = ->
driver._Reset() if driver?