UNPKG

sise-cweb-db

Version:
140 lines (93 loc) 3.21 kB
SISE-CWEB-DB ============ [![](https://img.shields.io/badge/INESC-GSD-brightgreen.svg?style=flat-square)](http://www.gsd.inesc-id.pt/) [![](https://img.shields.io/badge/TÉCNICO-LISBOA-blue.svg?style=flat-square)](http://tecnico.ulisboa.pt/) [![](https://img.shields.io/badge/SISE-CWEB-brightgreen.svg?style=flat-square)](http://tecnico.ulisboa.pt/) > 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) ```sh > npm install sise-db --save ``` then ```JavaScript 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 ```JavaScript var previousDB = { // ... } db.import(previousDB) ``` #### Exporting a DB ```JavaScript var exported = db.export() ``` ### Synchronous API #### getInsurances ```JavaScript var insurances = db.getInsurances() // insurances is an array of objects with the id of each insurance and its name ``` #### getInsurance ```JavaScript var insurance = db.getInsurance(<type>) // insurance is an object with the complete information about the Insurance ``` `type` must be a string #### getUsers ```JavaScript var users = db.getUsers() // users is an array with all the NIF numbers of users that requested for Insurance quotes ``` #### getUser ```JavaScript var user = db.getUser(<nif>) // The user object, with all its information and the quotes it requested ``` `nif` must be a string #### putUser ```JavaScript db.putUser(<user>) ``` `user` is a user object. If a user information already existed, it replaces it ### Asynchronous API #### getInsurances ```JavaScript db.getInsurances(function (err, insurances) { // `insurances` is an array with the types of insurance available }) ``` #### getInsurance ```JavaScript db.getInsurance(<type>, function (err, insurance) { // `insurance` is an object with the complete information about the Insurance }) ``` `type` must be a string #### getUsers ```JavaScript db.getUsers(function (err, users) { // users is an array with all the NIF numbers of users that requested for Insurance quotes }) ``` #### getUser ```JavaScript db.getUser(<nif>, function (err, user) { // The user object, with all its information and the quotes it requested }) ``` `nif` must be a string #### putUser ```JavaScript 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