Abstract API Discovery for Kites
npm install @kites/apiDiscover API controllers for Kites




* 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
``js`
var kites = require('@kites/engine')()
kites.use(require('@kites/api')())
Auto discover mode, just install the extension as a dependency:
`bash`
npm install @kites/api
1. Access models and services
* kites.model([model_name]) - get model has initializedkites.service([service_name])
* - get service has initializedkites.controller([controller_name])
* - get controller has initialized
Example:
`js
// Obtain models and service by:
var userModel = kites.model('user');
var userService = kites.service('user');
// Or quick access these one via proxy
var userModel = kites.db.user
var userService = kites.sv.user
`
2. Listen event model initialized
* beforeApiConfigure: Before kites api configureapiModelRegistered
* : All models loaded in kites systemapiModelInitialized
* : All models registered and initializedapiConfigure
* : All models, services and controllers initialized
Example:
`js``
kites.on('apiModelInitialized', (kites) => {
console.log(kites.models);
})
MIT License
Copyright (c) 2018 Nhữ Bảo Vũ