New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

loopback-with-domain

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loopback-with-domain

loopback-with-domain

latest
npmnpm
Version
1.4.4
Version published
Maintainers
1
Created
Source

loopback-with-domain

run loopback server with "domain"

domain is in this context business logic, the same as Domain-Driven Design (DDD).

connection with base-domain

also, this loopback extends original loopback.

  • admin
  • push notification

follow these section to see how to use admin and push notification

install

npm install loopback-with-domain

simplest run, without domain

you can just run loopback without domain information by

require('loopback-with-domain').runWithoutDomain().then (lbInfo) ->

    console.log lbInfo.getURL()         # loopback api root
    console.log lbInfo.getAccessToken() # access token of admin

then loopback server (with admin, push-notification function) runs

run with domain

before running, you can prepare a directory which contains custom config information.

(config-dir) # any name is acceptable
|-- model-definitions.coffee
|-- common
|   |-- server.coffee
|   `-- admin.coffee
|-- development
|   `-- datasources.coffee
`-- production
    `-- datasources.coffee
lbWithDomain = require 'loopback-with-domain'

configDir = '/path/to/config-dir'

domain = require('base-domain').createInstance(dirname: 'domain')

lbWithDomain.runWithDomain(domain, configDir).then ->
    # loopback started

admin

(coming soon)

push notification

(coming soon)

configs

these are the config names.

  • admin
  • datasources
  • middleware
  • server
  • push-credentials

see JSON files in "default-values/non-model-configs" directory. you can set the same properties as these JSONs.

admin

config keymeaning
accessTokenaccessToken for admin

datasources

config keymeaning
memoryon memory datasource
dbdatasource for domain entities

server

config keymeaningdefault
restApiRootREST api root/api
portport number3000

push-credentials

config keymeaning
gcmServerApiKeyapi key for Google Cloud Messaging (GCM)
apnsCertDatacertificate pem contents for APNs
apnsKeyDatakey pem contents for APNs

model definitions

module.exports =
    player: # model name
        base: 'User'  # the same as loopback model settings.base
        aclType: 'admin' # specific for this system

    instrument:
        aclType: 'owner-read'

the same format as loopback model definition except "aclType" value. name, base, relations and properties are automatically set from domain information.

aclType

loopback-with-domain generates acls from aclType.

three types are available.

aclTypemeaning
adminonly admin can CRUD the model
owneradmin and the owner of the model can CRUD
public-readeveryone can READ the model and admin can CRUD
noneeveryone can CRUD the model

switching environment

running script with environment variable "NODE_ENV" like

$ NODE_ENV=production node app.js

"development" is selected by default.

when your config dir is

(config-dir) # any name is acceptable
|-- common
|   |-- server.coffee
|   `-- admin.coffee
|-- development
|   `-- datasources.coffee
|-- local
|   `-- datasources.coffee
|-- production
|   `-- datasources.coffee

and launching script like

$ NODE_ENV=local node app.js

then, loopback-with-domain selects configs in "local" directory.

passing custom environment with argument

env = 'production'

lbWithDomain.runWithDomain(domain, configDir, env)

env is prior to NODE_ENV settings.

modified loopback-datasource-juggler

using CureApp/loopback-datasource-juggler.

this repository is almost the same as original one except 'memory' connector handles id as string (orignally integer).

FAQs

Package last updated on 16 Jun 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts