0.3.0 • Published 7 years ago
@kites/api v0.3.0
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/apiAPIs 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ũ