Socket
Socket
Sign inDemoInstall

moleculer-db-adapter-sequelize

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moleculer-db-adapter-sequelize - npm Package Compare versions

Comparing version 0.1.9 to 0.1.10

8

examples/integration/index.js

@@ -44,3 +44,3 @@ "use strict";

name: "posts",
adapter: new SequelizeAdapter("sqlite://:memory:"),
adapter: new SequelizeAdapter("sqlite://:memory:", { operatorsAliases: false }),
//adapter: new SequelizeAdapter({ dialect: "sqlite", storage: "d:\\moleculer-test.db"}),

@@ -85,3 +85,3 @@ //adapter: new SequelizeAdapter("mssql://sa:<password>@localhost/moleculer-test"),

this.logger.info("Connected successfully");
return this.adapter.clear().then(() => start());
return this.adapter.clear();
}

@@ -94,3 +94,3 @@ });

function start() {
return Promise.resolve()
broker.start()
.delay(500)

@@ -184,2 +184,2 @@ .then(() => checker.execute())

broker.start();
start();

@@ -9,3 +9,6 @@ "use strict";

const Sequelize = require("sequelize");
const Op = Sequelize.Op;
process.on("warning", e => console.warn(e.stack));
// Create broker

@@ -21,3 +24,3 @@ const broker = new ServiceBroker({

name: "posts",
adapter: new SequelizeAdapter("sqlite://:memory:"),
adapter: new SequelizeAdapter("sqlite://:memory:", { operatorsAliases: false }),
model: {

@@ -41,3 +44,3 @@ name: "post",

this.logger.info("Connected successfully");
return this.adapter.clear().then(() => start());
return this.adapter.clear();
}

@@ -50,3 +53,3 @@ });

function start() {
return Promise.resolve()
broker.start()
.delay(500)

@@ -130,3 +133,3 @@ .then(() => checker.execute())

// Find
checker.add("FIND by query ($gt)", () => adapter.find({ query: { votes: { $gt: 2 } } }), res => {
checker.add("FIND by query (Op.gt)", () => adapter.find({ query: { votes: { [Op.gt]: 2 } } }), res => {
console.log(res.map(adapter.entityToObject));

@@ -137,3 +140,3 @@ return res.length == 2;

// Find
checker.add("COUNT by query ($gt)", () => adapter.count({ query: { votes: { $gt: 2 } } }), res => {
checker.add("COUNT by query (Op.gt)", () => adapter.count({ query: { votes: { [Op.gt]: 2 } } }), res => {
console.log(res);

@@ -168,3 +171,3 @@ return res == 2;

// Update by query
checker.add("UPDATE BY QUERY", () => adapter.updateMany({ votes: { $lt: 5 }}, {
checker.add("UPDATE BY QUERY", () => adapter.updateMany({ votes: { [Op.lt]: 5 }}, {
$set: { status: false }

@@ -177,3 +180,3 @@ }), count => {

// Remove by query
checker.add("REMOVE BY QUERY", () => adapter.removeMany({ votes: { $lt: 5 }}), count => {
checker.add("REMOVE BY QUERY", () => adapter.removeMany({ votes: { [Op.lt]: 5 }}), count => {
console.log("Removed: ", count);

@@ -207,2 +210,2 @@ return count == 2;

broker.start();
start();
{
"name": "moleculer-db-adapter-sequelize",
"version": "0.1.9",
"version": "0.1.10",
"description": "SQL adapter (Postgres, MySQL, SQLite & MSSQL) for Moleculer DB service",

@@ -29,3 +29,3 @@ "main": "index.js",

"peerDependencies": {
"moleculer": "^0.12.0"
"moleculer": "^0.12.0 || ^0.13.0"
},

@@ -35,15 +35,15 @@ "devDependencies": {

"coveralls": "3.0.2",
"eslint": "5.1.0",
"jest": "23.4.0",
"jest-cli": "23.4.0",
"lolex": "2.7.1",
"moleculer": "0.13.0",
"eslint": "5.7.0",
"jest": "23.6.0",
"jest-cli": "23.6.0",
"lolex": "3.0.0",
"moleculer": "0.13.3",
"moleculer-docgen": "0.2.1",
"mysql2": "1.5.3",
"nodemon": "1.18.1",
"npm-check": "5.7.1",
"pg": "7.4.3",
"mysql2": "1.6.1",
"nodemon": "1.18.4",
"npm-check": "5.9.0",
"pg": "7.5.0",
"pg-hstore": "2.3.2",
"sqlite3": "4.0.1",
"tedious": "2.6.3"
"sqlite3": "4.0.3",
"tedious": "3.0.1"
},

@@ -61,4 +61,4 @@ "jest": {

"dependencies": {
"sequelize": "4.38.0"
"sequelize": "4.41.0"
}
}

@@ -42,3 +42,3 @@ ![Moleculer logo](http://moleculer.services/images/banner.png)

// Create a Mongoose service for `post` entities
// Create a Sequelize service for `post` entities
broker.createService({

@@ -45,0 +45,0 @@ name: "posts",

@@ -12,2 +12,3 @@ /*

const Sequelize = require("sequelize");
const Op = Sequelize.Op;

@@ -119,3 +120,3 @@ class SequelizeDbAdapter {

findById(_id) {
return this.model.findById(_id);
return this.model.findByPk(_id);
}

@@ -134,3 +135,5 @@

where: {
id: idList
id: {
[Op.in]: idList
}
}

@@ -178,4 +181,3 @@ });

insertMany(entities) {
const p = entities.map(e => this.model.create(e));
return Promise.all(p);
return Promise.all(entities.map(e => this.model.create(e)));
}

@@ -286,6 +288,6 @@

q.where = {
$or: fields.map(f => {
[Op.or]: fields.map(f => {
return {
[f]: {
$like: "%" + params.search + "%"
[Op.like]: "%" + params.search + "%"
}

@@ -325,7 +327,7 @@ };

/**
* Convert the `sort` param to a `sort` object to Mongo queries.
* Convert the `sort` param to a `sort` object to Sequelize queries.
*
* @param {String|Array<String>|Object} paramSort
* @returns {Object} Return with a sort object like `[["votes", "ASC"], ["title", "DESC"]]`
* @memberof MongoDbAdapter
* @memberof SequelizeDbAdapter
*/

@@ -356,4 +358,26 @@ transformSort(paramSort) {

/**
* For compatibility only.
* @param {Object} entity
* @param {String} idField
* @memberof SequelizeDbAdapter
* @returns {Object} Entity
*/
beforeSaveTransformID (entity, idField) {
return entity;
}
/**
* For compatibility only.
* @param {Object} entity
* @param {String} idField
* @memberof SequelizeDbAdapter
* @returns {Object} Entity
*/
afterRetrieveTransformID (entity, idField) {
return entity;
}
}
module.exports = SequelizeDbAdapter;

@@ -12,3 +12,3 @@ "use strict";

findOne: jest.fn(() => Promise.resolve()),
findById: jest.fn(() => Promise.resolve()),
findByPk: jest.fn(() => Promise.resolve()),
create: jest.fn(() => Promise.resolve()),

@@ -26,2 +26,4 @@ update: jest.fn(() => Promise.resolve([1, 2])),

let Sequelize = require("sequelize");
const Op = Sequelize.Op;
Sequelize.mockImplementation(() => db);

@@ -57,3 +59,3 @@

describe("Test SequelizeAdapter", () => {
const broker = new ServiceBroker();
const broker = new ServiceBroker({ logger: false });
const service = broker.createService({

@@ -87,2 +89,4 @@ name: "store",

expect(adapter.clear).toBeDefined();
expect(adapter.beforeSaveTransformID).toBeInstanceOf(Function);
expect(adapter.afterRetrieveTransformID).toBeInstanceOf(Function);
});

@@ -206,6 +210,6 @@

where: {
"$or": [
[Op.or]: [
{
title: {
"$like": "%walter%"
[Op.like]: "%walter%"
}

@@ -215,3 +219,3 @@ },

content: {
"$like": "%walter%"
[Op.like]: "%walter%"
}

@@ -247,8 +251,8 @@ }

it("call findById", () => {
adapter.model.findById.mockClear();
it("call findByPk", () => {
adapter.model.findByPk.mockClear();
return adapter.findById(5).catch(protectReject).then(() => {
expect(adapter.model.findById).toHaveBeenCalledTimes(1);
expect(adapter.model.findById).toHaveBeenCalledWith(5);
expect(adapter.model.findByPk).toHaveBeenCalledTimes(1);
expect(adapter.model.findByPk).toHaveBeenCalledWith(5);
});

@@ -260,5 +264,5 @@ });

return adapter.findByIds(5).catch(protectReject).then(() => {
return adapter.findByIds([5]).catch(protectReject).then(() => {
expect(adapter.model.findAll).toHaveBeenCalledTimes(1);
expect(adapter.model.findAll).toHaveBeenCalledWith({"where": {"id": 5}});
expect(adapter.model.findAll).toHaveBeenCalledWith({"where": {"id": { [Op.in]: [5] }}});
});

@@ -366,3 +370,23 @@ });

it("should transform idField into _id", () => {
let entry = {
myID: "123456789",
title: "My first post"
};
let idField = "myID";
let res = adapter.beforeSaveTransformID(entry, idField);
expect(res).toEqual(entry);
});
it("should transform _id into idField", () => {
let entry = {
_id: "123456789",
title: "My first post"
};
let idField = "myID";
let res = adapter.afterRetrieveTransformID(entry, idField);
expect(res).toEqual(entry);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc