0.0.39 • Published 5 years ago

fomex-sequelize v0.0.39

Weekly downloads
2
License
MIT
Repository
github
Last release
5 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

5 years ago

0.0.38

5 years ago

0.0.37

5 years ago

0.0.36

5 years ago

0.0.35

5 years ago

0.0.34

5 years ago

0.0.33

5 years ago

0.0.32

5 years ago

0.0.31

5 years ago

0.0.30

5 years ago

0.0.28

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.23

5 years ago

0.0.24

5 years ago

0.0.22

5 years ago

0.0.20

5 years ago

0.0.21

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.15

5 years ago

0.0.16

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago