0.0.39 • Published 4 years ago

fomex-sequelize v0.0.39

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

Fomex Sequelize

License GitHub Workflow Status (branch) Codecov

Installation

yarn add fomex-sequelize

Initialization

// src/bootstrap.ts

import { Sequelize } from 'fomex-sequelize';

export const sequelize = new Sequelize({
  // ...
});

Register plugin

// src/bootstrap.ts

import { baseWebRouter, baseConsoleCommander } from 'fomex';
import { PluginSequelize } from 'fomex-sequelize';

const sequelizePlugin = new PluginSequelize(sequelize);

export const webRouter = baseWebRouter.global(sequelizePlugin);

export const consoleCommander = baseConsoleCommander.global(sequelizePlugin);

Register commands

// src/console.ts

import { ConsoleApplication } from 'fomex';
import { getSequelizeCommandsPath } from 'fomex-sequelize';

const app = new ConsoleApplication({
  commandsPath: [
    getSequelizeCommandsPath(sequelize),
  ],
});

app.run();

Now, feel free to input command npx fomex in terminal and see what is shown.

Define model

// src/models/User.ts

import { Model, column } from 'fomex-sequelize';

export class User extends Model {
  id = column.int.primaryKey().autoIncrement();

  name = column.string.notNull();
}

Then, try to import model class into routes or commands

// src/routes/user.ts

import { rule } from 'fomex';
import { webRouter } from '../bootstrap';
import { User } from '../models/User';

export default webRouter({
  routes() {
    this
      .get('/users')
      .action(async (ctx) => {
        const users = await User.findAll();

        ctx.send(200, users);
      });

    this
      .get('/users/:id')
      .params({
        id: rule.number,
      })
      .action(async (ctx) => {
        const user = await User.find({
          where: {
            id: ctx.request.params.id,
          },
        });

        if (user) {
          ctx.send(user);
        } else {
          ctx.send(404);
        }
      });
  }
});
0.0.39

4 years ago

0.0.38

4 years ago

0.0.37

4 years ago

0.0.36

4 years ago

0.0.35

4 years ago

0.0.34

4 years ago

0.0.33

4 years ago

0.0.32

4 years ago

0.0.31

4 years ago

0.0.30

4 years ago

0.0.28

4 years ago

0.0.27

4 years ago

0.0.26

4 years ago

0.0.25

4 years ago

0.0.23

4 years ago

0.0.24

4 years ago

0.0.22

4 years ago

0.0.20

4 years ago

0.0.21

4 years ago

0.0.19

4 years ago

0.0.18

4 years ago

0.0.17

4 years ago

0.0.15

4 years ago

0.0.16

4 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago