npm.io
0.1.1 • Published 10 years ago

sise-db

Licence
MIT
Version
0.1.1
Deps
1
Vulns
0
Weekly
0
Stars
2
DeprecatedThis package is deprecated

SISE-DB

In memory db (super simple) used for the CWEB course on the SISE Post Graduation at INESC-ID + IST.

Installation

To install sise-db in your project folder, execute the following command (you need Node.js and npm installed)

> npm install sise-db --save

then

var SISEDB = require('sise-db')
var db = new SISEDB()

API

sise-db provides an API for DB migrations and a both Synchronous and Asynchronous API for data access and storage.

DB Migrations

In order to 'warm up' our DB, we can load a previously exported DB.

Importing a DB

var previousDB = {
  // ...  
}

db.import(previousDB)
Exporting a DB
var exported = db.export()
Synchronous API
getInsurances
var insurances = db.getInsurances()
// insurances is an array of objects with the id of each insurance and its name
getInsurance
var insurance = db.getInsurance(<type>)
// insurance is an object with the complete information about the Insurance

type must be a string

getInsurances
var properties = db.getProperties()
// insurances is an array containing the type of properties
getUsers
var users = db.getUsers()
// users is an array with all the NIF numbers of users that requested for Insurance quotes
getUser
var user = db.getUser(<nif>)
// The user object, with all its information and the quotes it requested

nif must be a string

putUser
db.putUser(<user>)

user is a user object. If a user information already existed, it replaces it

Asynchronous API
getInsurances
db.getInsurances(function (err, insurances) {
 // `insurances` is an array with the types of insurance available
})
getInsurance
db.getInsurance(<type>, function (err, insurance) {
  // `insurance` is an object with the complete information about the Insurance
})

type must be a string

getProperties
db.getProperties(function (err, properties) {
 // `properties` is an array containing the types of property available
})
getUsers
db.getUsers(function (err, users) {
  // users is an array with all the NIF numbers of users that requested for Insurance quotes
})
getUser
db.getUser(<nif>, function (err, user) {
  // The user object, with all its information and the quotes it requested
})

nif must be a string

putUser
db.putUser(<user>, function (err) {})

user is a user object. If a user information already existed, it replaces it

Notes

If you are brave enough to read the code, you will see how siseSB couldn't be more simpler and really lacking important features like data validation that could compromise the DB. That was left to be done intentionally, so that users of siseDB have to handle the data with care. If are a student of the SISE CWEB course and are able to successfuly make a PR to siseDB that improves the quality of the DB, you get bonus extra points! Consider it a challenge :D

Keywords