0.11.17 • Published 7 years ago

casimircore v0.11.17

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
7 years ago

Casimir Core

Build Status Coverage percentage NPM version Dependency Status Slack Channel

js-standard-style

The core modules for the Casimir webapp framework

Install

$ npm i --save casimircore

Features

var casimir_core = require('casimircore')()

console.log(casimir_core)

{
  server: {
    http_server,
    port,
    ssl,
    pub_sub,
    sockets,
    io_server
  },
  Error: 'Error Middleware',
  Router: 'Custom Router with authentication and validation',
  logger: {
    info,
    debug,
    error,
    warn
  },
  properties: properties,
  db: {
    init,
    get_model
  },
  authentication: {
    verify_token,
    verify_specific_user_token,
    check_access
  }
}

Authentication

var verify_callback = function (jwt_token, req, res, next) {
  get_user_by_token(jwt_token, function (err, user) {
    if (err) return next(err)
    req.user = user
    next()
  })
}

var access_callback = function (req, res, next) {
  // reaches here if there is no req.user
  res.status(401).send('Not Authorized')
}
 
var authentication = casimir_core.authentication(verify_callback, access_callback)

DB

var mongoose = require('mongoose')
var db = casimir_core.db
var settings = {
  user: 'user',
  pass: 'password',
  host: 'host.mongodb.com',
  port: 27000,
  name: 'testDB',

  // with URI - if provided, all previous connection settings are ignored
  uri: 'mongodb://user:password@host.mongodb.com:27000/testDB',

  // mongoose models directory
  dir: './db'
}
db.init(settings, mongoose, function (err, mongoose) {
  if (err) return console.error(err)
  console.log('connected to db')
})

Error

var env = process.env.NODE_ENV
var error = casimir_core.error(env)

Logger

var env = process.env.NODE_ENV
var logentries_api_key = 'fdsfdf23fewfew'

var log_settings = {
  env: env,
  logentries_api_key: logentries_api_key,
  log_dir: './log'
}

var logger = casimir_core.logger(log_settings)

// Can Actually run over normal console with logger
console.log = logger.info
console.error = logger.error
console.warn = logger.warn
...

Properties

var config_dir = './config'
var properties = casimir_core.properties(config_dir)

RequestId

var settings = {
  secret: 'secret',
  namespace: 'servername'
}
var requestid = casimir_core.request_id(requestSettings)

Router

var fs = require('fs')
var GET_public = {
  "/path": {
    "function_name": "File.Function",
    "params": ["param1","param2"],
    "optional": ["optionalParam"],
    "users": ["optionalPrivateUsers"]
  }
}
fs.writeFileSync(routes_dir + 'GET-public.json', GET_public) // can be similarly done for POST, PUT, DELETE and private
var controllers_dir = './controllers/'
var routes_dir = './routes/'
var router = casimir_core.router(routes_dir, controllers_dir, authentication)

Server

var validator = require('./validator.js')
// Add custom framwork modules for server
properties.modules = {
  validator: validator,
  router: router,
  error: error,
  logger: logger,
  requestid: requestid
}
// Set server and server port
var server = casimir_core.server(properties)

Testing

$ cd /"module-path"/casimircore
$ npm test

License

Apache-2.0

0.11.17

7 years ago

0.11.16

8 years ago

0.11.15

8 years ago

0.11.14

8 years ago

0.11.13

8 years ago

0.11.11

8 years ago

0.11.10

8 years ago

0.11.9

8 years ago

0.11.8

8 years ago

0.11.7

8 years ago

0.11.6

8 years ago

0.11.5

8 years ago

0.11.4

8 years ago

0.11.3

9 years ago

0.11.2

9 years ago

0.11.1

9 years ago

0.11.0

9 years ago

0.10.0

9 years ago

0.9.10

9 years ago

0.9.9

9 years ago

0.9.8

9 years ago

0.9.7

9 years ago

0.9.6

9 years ago

0.9.5

9 years ago

0.9.4

9 years ago

0.9.3

9 years ago

0.8.23

9 years ago

0.8.22

9 years ago

0.9.2

9 years ago

0.9.1

9 years ago

0.9.0

9 years ago

0.8.20

9 years ago

0.8.15

9 years ago

0.8.12

9 years ago

0.8.11

9 years ago

0.8.10

9 years ago

0.8.8

9 years ago

0.8.7

9 years ago

0.8.6

9 years ago

0.8.5

10 years ago

0.8.4

10 years ago

0.8.3

10 years ago

0.8.1

10 years ago

0.8.0

10 years ago

0.7.4

10 years ago

0.7.2

10 years ago

0.7.1

10 years ago

0.7.0

10 years ago

0.6.0

10 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.3

10 years ago

0.4.2

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.0

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.10

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago