kites-api
Discover API controllers for Kites

Features
- Auto Discover: models, services and controllers
- Auto generate RESTful API with basic CRUD operations
- Auto generate user-defined API actions
- Quick access models, services via Proxy
Extension Options
- actions: Enable auto generate controller actions, default:
true
- crud: Enable auto generate RESTful API with CURD operations on model, default:
true
- apiDirectory: Prefix RESTful API resource, default:
/api
- connection: Default connection used for model, default:
memory
- dataSource.[i].name: Datasource driver name (user defined)
- dataSource.[i].driver: Datasource driver name for specifed adapter (eg:
mongoose)
- dataSource.[i].host: Hostname
- dataSource.[i].port: Username
- dataSource.[i].username: Port
- dataSource.[i].password: Password
- dataSource.[i].database: Database name
- dataSource.[i].active: Allow kites connect at startup
- dataSource.[i].pool: Connection pooling
Extension Usage
You can apply this extention manually tho kites-engine
var kites = require('@kites/engine')()
kites.use(require('@kites/api')())
Auto discover mode, just install the extension as a dependency:
npm install @kites/api
APIs and Events
- Access models and services
kites.model([model_name]) - get model has initialized
kites.service([service_name]) - get service has initialized
kites.controller([controller_name]) - get controller has initialized
Example:
var userModel = kites.model('user');
var userService = kites.service('user');
var userModel = kites.db.user
var userService = kites.sv.user
- Listen event model initialized
beforeApiConfigure: Before kites api configure
apiModelRegistered: All models loaded in kites system
apiModelInitialized: All models registered and initialized
apiConfigure: All models, services and controllers initialized
Example:
kites.on('apiModelInitialized', (kites) => {
console.log(kites.models);
})
License
MIT License
Copyright (c) 2018 Nhữ Bảo Vũ
