New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

sequelize-query-handler

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sequelize-query-handler

Dynamically handling queries with sequelize can be a pain. This package provides you with a function to query your database as you wish

latest
npmnpm
Version
1.1.4
Version published
Maintainers
1
Created
Source

SEQUELIZE QUERY HANDLER

Dynamically handling queries with sequelize can be a pain. This package provides you with a function to query your database as you wish

API Reference

MethodTypeReturn
handleQueryfunctionobject

Usage/Examples

In your request body, make a GET request like this:

{
    "_query": {
        "attributes": [
            "id",
            "email",
            "username",
            "birthdate",
            "created_at"
        ],
        "order": [
            [
                "created_at",
                "desc"
            ]
        ],
        "include": ["Post"],
    },
    "page": 2,
    "pageSize": 10
}
  • Use page and pageSize together to paginate.

  • Use include keyword to include associated models.

  • Use where keyword to make where clause query.

  • Use order keyword to order items

for more, refer to Sequelize Model Querying - Basics

Using findAll method:

// imports
const models = require("./models");
const { handleQuery } = require("sequelize-query-handler");

const getAll = async (req, res) => {
  try {
    await models.User.findAll(handleQuery(req)).then((users) =>
      res.send(users)
    );
  } catch (err) {
    console.log(err);
  }
};

Using findOne method:

// imports
const models = require("./models");
const { handleQuery } = require("sequelize-query-handler");

const getOne = async (req, res) => {
  try {
    await models.User.findOne(handleQuery(req)).then((user) => res.send(user));
  } catch (err) {
    console.log(err);
  }
};

Using findByPk method:

// imports
const models = require("./models");
const { handleQuery } = require("sequelize-query-handler");

const getById = async (req, res) => {
  try {
    await models.User.findByPk(1, handleQuery(req)).then((user) =>
      res.send(user)
    );
  } catch (err) {
    console.log(err);
  }
};

Using with own query method:

// imports
const models = require("./models");
const { handleQuery } = require("sequelize-query-handler");
const { Op } = require("sequelize");

const getById = async (req, res) => {
  try {
    const filters = handleQuery(req);

    // adding where clause to fetch user with age >= 18
    filters.where = {
      ...filters.where,
      age: {
        [Op.gte]: 18,
      },
    };

    await models.User.findAll(filters).then((user) => res.send(user));
  } catch (err) {
    console.log(err);
  }
};

Author

Keywords

sequelize

FAQs

Package last updated on 04 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts