Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
moleculer-db-adapter-cosmos
Advanced tools
Azure CosmosDB SQL native adapter for Moleculer DB service.
Warning: This DB adapter is not stable and it does not contain any Request Units optimizations. Use it at your own risk.
CosmosDB SQL native adapter for Moleculer DB service.
$ npm install moleculer-db moleculer-db-adapter-cosmos --save
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const CosmosDbAdapter = require("moleculer-db-adapter-cosmos");
// Mock CosmosDB server
const { default: cosmosServer } = require("@zeit/cosmosdb-server");
const https = require("https");
const connection = {
endpoint: `https://localhost:3000`, // URL to your Cosmos DB
key: "dummy key", // Put your password
// Create new Agent with disabled SSL verification
// since the server uses self-signed certificate
agent: https.Agent({ rejectUnauthorized: false }) // For test purposes only. Remove this when working with an actual DB
};
const dbName = "sample_database";
const containerName = "sample_collection";
// Create broker
let broker = new ServiceBroker({
logger: console,
logLevel: "debug"
});
// Create a service
broker.createService({
name: "store",
// Load DB methods and action handlers
mixins: [DbService],
// Create a Cosmos DB adapter
adapter: new CosmosDbAdapter(connection, dbName, containerName),
async afterConnected() {
this.broker.logger.info("Connection Established");
}
});
// Start mock CosmosDB server
cosmosServer().listen(3000, () => {
// Start the broker
broker.start().then(async () => {
const documentDefinition = {
id: "hello world doc",
content: "Hello World!"
};
// Insert an Item
let item = await broker.call("store.create", documentDefinition);
broker.logger.info(`Item Created`);
broker.logger.info(item);
// Find all items in BD
let result = await broker.call("store.find");
broker.logger.info(`Items in DB`);
broker.logger.info(result);
// Count the items
let count = await broker.call("store.count");
broker.logger.info(`Number of Items in DB`);
broker.logger.info(count);
// Remove by ID
broker.logger.info(`Removing an Item`);
await broker.call("store.remove", { id: documentDefinition.id });
// Count again
count = await broker.call("store.count");
broker.logger.info(`Number of Items in DB`);
broker.logger.info(count);
});
});
$ npm test
In development with watching
$ npm run ci
The project is available under the MIT license.
Copyright (c) 2019 André Mazayev
FAQs
Azure CosmosDB SQL native adapter for Moleculer DB service.
The npm package moleculer-db-adapter-cosmos receives a total of 0 weekly downloads. As such, moleculer-db-adapter-cosmos popularity was classified as not popular.
We found that moleculer-db-adapter-cosmos demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.