@kites/api
v0.3.0
Published
Abstract API Discovery for Kites
Downloads
8
Readme
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 initializedkites.service([service_name])
- get service has initializedkites.controller([controller_name])
- get controller has initialized
Example:
// 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
- 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:
kites.on('apiModelInitialized', (kites) => {
console.log(kites.models);
})
License
MIT License
Copyright (c) 2018 Nhữ Bảo Vũ