1.2.1 • Published 2 months ago

ksmf-sequelize v1.2.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

KsMf-Sequelize

Plugin to add Sequelize support for KsMf.

Sequelize

Sequelize is a modern TypeScript and Node.js ORM for Oracle, Postgres, MySQL, MariaDB, SQLite and SQL Server, and more. Featuring solid transaction support, relations, eager and lazy loading, read replication and more.

KsMf

KsMf stands as a modular microframework tailored for crafting minimalist web, CLI applications, or REST APIs. Leveraging the robust capabilities of KsDp, it extends support across a spectrum of web servers or frameworks like Express Js, Fastify, etc. For further information see our wiki.

This library belong to the Ksike ecosystem:

  • KsMf - Microframework (WEB, REST API, CLI, Proxy, etc)
  • Ksdp - Design Patterns Library (GoF, GRASP, IoC, DI, etc)
  • KsCryp - Cryptographic Library (RSA, JWT, x509, HEX, Base64, Hash, etc)
  • KsHook - Event Driven Library
  • KsEval - Expression Evaluator Library
  • KsWC - Web API deployment Library
  • KsTpl - Template Engine
  • KsDocs - Document Engine

Quick Overview

  1. Intall the plugin
npm install --save ksmf-sequelize
  1. Intall the the driver for your database of choice:
# One of the following:
$ npm install --save pg pg-hstore # Postgres
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save sqlite3
$ npm install --save tedious # Microsoft SQL Server
  1. Configure your project There are three ways to configure your project using KsMf:

    • Configuration file.
    • Manual configuration.
    • Manual plugin registration.

      3.1. By configuration File

[PROJECT_PATH]/cfg/core.json

{
  "development": {
    "port": 3030,
    "host": "localhost",
    "module": { "load": ["app"] },
    "event": {
      "onInitConfig": ["plugin.sequelize"]
    },
    "helper": {
      "plugin.sequelize": {
        "name": "ksmf-sequelize",
        "type": "lib",
        "params": {
          "exclude": ["forest"],
          "service": "rest"
        },
        "dependency": {
          "helper": "helper"
        }
      }
    }
  }
}
3.3. Manual configuration
// import the ksmf framework
const KsMf = require("ksmf");
// create the application
const app = new KsMf.app.WEB(dir);
// initialize the application
app
  .init({
    cfg: {
      port: 3030,
      host: "localhost",
      module: { load: ["app"] },
      event: {
        onInitConfig: ["plugin.sequelize"],
      },
      helper: {
        "plugin.sequelize": {
          name: "ksmf-sequelize",
          type: "lib",
          params: {
            exclude: ["forest"],
            service: "rest",
          },
          dependency: {
            helper: "helper",
          },
        },
      },
    },
  })
  .then((app) => start());
3.3. Manual plugin registration
// import the ksmf framework
const KsMf = require("ksmf");
// create the application
const app = new KsMf.app.WEB(dir);
// create an isntance of the plugin
const plugin = app?.helper?.get({
  name: "ksmf-sequelize",
  type: "lib",
  params: {
    exclude: ["forest"],
    
    service: "rest",
  },
  dependency: {
    helper: "helper",
  },
});
// subscribe the plugin into the onInitConfig app event
app?.subscribe(plugin, "onInitConfig");
// start the application
app.start();