@kites/api

0.3.0 • Public • Published

kites-api

Discover API controllers for Kites

Join the chat at https://gitter.im/nodevn/kites npm version npm downloads Travis

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

  1. 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:

// 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
  1. 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ũ

The MIT License

Readme

Keywords

Package Sidebar

Install

npm i @kites/api

Weekly Downloads

1

Version

0.3.0

License

MIT

Unpacked Size

36.5 kB

Total Files

14

Last publish

Collaborators

  • vunb