new notDomain(options)
Parameters:
Name | Type | Description |
---|---|---|
options |
object | application options { mongoose: mongooseConnectionToDB modulesCollectionPaths: [__dirname + '/modules'], //each path to folder with modules modulesPaths: [], //each path to module modules: { filestore: require('not-filestore') //each npm not-* module with custom overriden name as key } } |
Example
Domain creation routine
let App = new new notDomain({ mongoose: mongooseLink modulesCollectionPaths: [__dirname + '/modules'], //each path to folder with modules modulesPaths: [], //each path to module modules: { filestore: require('not-filestore') //each npm not-* module with custom overriden name as key } }) .importModuleFrom(__dirname+'/anotherModule', 'anotherCustomModuleName') //import module from path .importModulesFrom(__dirname+'/directoryOfUsefullessModules') .importModule(require('notModule'), 'notModule');
Members
-
DEFAULT_INFORMER
-
informer - messages
-
DEFAULT_REPORTER
-
reporter - errors
-
logger
-
logger
Methods
-
<async> execInModules(methodName)
-
Execute method in modules
Parameters:
Name Type Description methodName
string name of the method to execute -
fabricate()
-
Execute fabricateModels methods on all registered modules Create mongoose models.
-
forEachMod(func)
-
Cycles throu all imported modules, passes name, module, and itself to argument function
Parameters:
Name Type Description func
function function to perfom some action with module -
getEnv(key)
-
Returns application environment variable
Parameters:
Name Type Description key
string name of var Returns:
value or undefined- Type
- object | undefined
-
getLogic(name)
-
Returns logic
Parameters:
Name Type Description name
string 'logicName' or 'moduleName//logicName' ('User', 'moduleName//User') Returns:
logic- Type
- object
-
getLogicFile(logicName)
-
Returns file with logic declarations
Parameters:
Name Type Description logicName
string 'logicName' or 'moduleName//logicName' Returns:
CommonJS module object- Type
- object
-
getModel(name)
-
Returns model
Parameters:
Name Type Description name
string 'modelName' or 'moduleName//modelName' ('User', 'moduleName//User') Returns:
model- Type
- object
-
getModelFile(modelName)
-
Returns file with model declarations
Parameters:
Name Type Description modelName
string 'modelName' or 'moduleName//modelName' Returns:
CommonJS module object- Type
- object
-
getModelSchema(modelName)
-
Returns specified by name or 'moduleName//modelName' model Schema
Parameters:
Name Type Description modelName
string 'modelName' or 'moduleName//modelName' Returns:
model schema- Type
- object
-
getModule(moduleName)
-
Return module by specified module name
Parameters:
Name Type Description moduleName
string 'moduleName' Returns:
module- Type
- object
-
getRoute(name)
-
Returns route
Parameters:
Name Type Description name
string 'moduleName//routeName//functionName' ('not-user//user//add') Returns:
route- Type
- function
-
getStatus()
-
Returns info about whole system. Modules - total count, list, content Routes - total count, list Models - total count, list Actions - total count, list Roles - total count, list
Returns:
complex object with results- Type
- Object
-
importModule(mod, moduleName)
-
Import module object. Chainable.
Parameters:
Name Type Description mod
object notModule instance moduleName
string name under witch module will be registered Returns:
notDomain- Type
- object
-
importModuleFrom(modulePath, moduleName)
-
Import single module from module dir. Chainable.
Parameters:
Name Type Description modulePath
string path to module directory moduleName
string name under witch module will be registered Returns:
notDomain- Type
- object
-
importModulesFrom(modulesPath)
-
Importing modules from directory. Chainable.
Parameters:
Name Type Description modulesPath
string path to container directory Returns:
notDomain- Type
- object
-
setEnv(key, val)
-
Setting application environment variable
Parameters:
Name Type Description key
string name of var val
object value Returns:
chainable- Type
- notDomain
-
shutdown(timeout)
-
Logging message about shutdown. Emits event app:shutdown Exits from process after timeout
Parameters:
Name Type Default Description timeout
number OPT_DEFAULT_SHUTDOWN_TIMEOUT time in ms before exit