asmund

1.0.17 • Public • Published

asmund

The best groups and users manager database module for microservices

Usage

Database Module

The database module contains all the methods for direct communication with postgres or the mysql database

const asmund = require('asmund')
 
const options = {
  database: 'asmund',
  username: 'root',
  password: 'mypass',
  host: 'localhost',
  dialect: 'postgres',
  pool: {
    max: 10,
    min: 0,
    idle: 10000
  }
}
 
const db = new asmund.Db(options)
 
db.getUsers().then(users => {
  // do something with users
}).catch(err => {
  // do something with err
})
 
Or using callback
 
db.getUsers((err, users) => {
  if (err) {
    // do something with err
  }
  // do something with users
})

API

db#setup([callback]): void

This method setup the database.

  • callback(Function) this argument is optional
    • err (Object) if any
db.setup(err => {
  if (err) {
    // do something with err
  } else {
    // do something after database setup
  }
})

db#drop([callback]): void

This method setup the database.

  • callback(Function) this argument is optional
    • err (Object) if any
db.drop(err => {
  if (err) {
    // do something with err
  } else {
    // do something after database drop
  }
})

db#saveUser(user, [callback]): User

This method save an user.

  • user (Object)

    • fullname (String) user fullname.
    • email (String) user email.
    • username (String) user username
    • password (String) user password
    • groupId (String) group id
  • callback(Function) this argument is optional

    • err (Object) if any
    • user (Object) saved user
const user = {
  fullname: 'The administrator',
  email: 'admin@app.com',
  username: 'admin',
  password: 'root'
}
 
db.saveUser(user, (err, created) => {
  // do something with err or user 
})
 
Or using promise
 
db.saveUser(user).then(created => {
  // do something with created user 
}).catch(err => {
  // do something with err 
})

db#getUser(username, [callback]): User

This method find an user by username.

  • username (String) user username

  • callback(Function) this argument is optional

    • err (Object) if any
    • user (Object) found user
db.getUser('admin', (err, user) => {
  // do something with err or user 
})
 
Or using promise
 
db.getUser('admin').then(user => {
  // do something with created user 
}).catch(err => {
  // do something with err 
})

db#getUsers([callback]): [User]

This method find all users.

  • callback(Function) this argument is optional
    • err (Object) if any
    • users (Object) user list
db.getUsers((err, users) => {
  // do something with err or users 
})
 
Or using promise
 
db.getUsers().then(users => {
  // do something with user list
}).catch(err => {
  // do something with err 
})

db#updateUser(username, data, [callback]): User

This method update an user

  • username (String)
  • data (Object)
    • fullname (String)
    • email (String)
    • username (String)
    • password (String)
  • callback(Function) this argument is optional
    • err (Object) if any
    • user (Object) user created
const data = {
  username: 'my_new_username',
}
 
db.updateUser('guillermo', data, (err, user) => {
  // do something with err or updated user
})
 
Or using promise
 
db.updateUser('guillermo', data).then(user => {
  // do something with user
}).catch(err => {
  // do something with error
})

db#deleteUser(username, [callback]): User

This method delete an user

  • username (String)
  • callback (Function)
    • err (Object)
    • user (Object)
db.deleteUser('guillermo', (err, user) => {
  // do something with err or updated user
})
 
Or using promise
 
db.deleteUser('guillermo').then(user => {
  // do something with user
}).catch(err => {
  // do something with error
})

db#saveGroup(group, [callback]): Group

db#getGroup(id, [callback]): Group

db#getGroups([callback]): [Group]

db#updateGroup(id, data, [callback]): Group

db#deleteGroup(id, [callback]): Group

Package Sidebar

Install

npm i asmund

Weekly Downloads

3

Version

1.0.17

License

MIT

Last publish

Collaborators

  • glopezep