sise-dbdeprecated

CWEB Database

Usage no npm install needed!

<script type="module">
  import siseDb from 'https://cdn.skypack.dev/sise-db';
</script>

README

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