New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

rubik-report

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rubik-report - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

2

package.json
{
"name": "rubik-report",
"version": "1.0.1",
"version": "1.0.2",
"main": "Report.js",

@@ -5,0 +5,0 @@ "repository": "git@github.com:nikitonishe/rubik-report.git",

@@ -6,11 +6,15 @@ const Rubik = require('rubik-main');

/**
* Устанавливает зависимости и нициализирует tasks и volumes
* @param {Array|String} volumes Путь или массив путей до папки с заданиями
* Устанавливает зависимости и инициализируем csvGenerators и getSpecificQuery
* @param {Object} csvGenerators Объект с классами формирующими csv
* @param {Object} getSpecificQuery Объект, ключами в котором является название модели,
* a значением функция возвращающая специфические параметры
* запроса. Если для модели не указана функция формирования
* запрос, будет выполнен запрос по умолчанию. См метод getQuery
*/
constructor ({ csvGenerators, getSpecificQuery }) {
super();
this.name = 'Report';
this.name = 'report';
this.csvGenerators = csvGenerators || {};
this.getSpecificQuery = getSpecificQuery || {};
this.dependencies = ['log', 'http', 'storage'];
this.dependencies = ['log', 'storage'];
}

@@ -20,6 +24,2 @@

* Универсальный метод для формирования csv по существующей коллекции в базе.
* Чтобы добавить новый отчет, необходимо добавить соответствующий класс
* в объект StatsCsvGenerator. Если для поиска необходимо выполнить специфический
* запрос нужно добавить поле с ключем названия модели в объект this.getSpecificQuery,
* значением этого поля должна быть функция возвращающая специфические параметры запроса
* @param {Object} stream Поток в который писать отчет

@@ -31,3 +31,3 @@ * @param {Object} modelName Название модели по которой формируется статистика

async writeCsvToStream ({ stream, modelName, options }) {
const Model = this.rubik.storageModels[modelName];
const Model = this.storage.models[modelName];
if (!Model || !this.csvGenerators[modelName]) throw new Error('invalid modelName');

@@ -61,11 +61,12 @@

async getHttpMiddleware() {
return this.httpMiddleware.bind(this);
}
async httpMiddleware(req, res, next) {
/**
* Метод в который можно передать аргумент экспрессовской мидлвары
* @param {Object} req Express request
* @param {Object} res Express response
* @param {Function} next Express middleware
*/
async httpExpressMiddleware(req, res, next) {
try {
const { modelName } = req.params
const Model = this.rubik.storageModels[modelName];
const Model = this.storage.models[modelName];
if (!Model || !this.csvGenerators[modelName]) return next();

@@ -79,3 +80,3 @@

console.error('CSV generating error', err);
// next нельзя использоать так как мы установили заголовки
// next нельзя использовать так как мы установили заголовки
}

@@ -89,6 +90,15 @@

/**
* Чтобы добавить новый отчет, необходимо добавить соответствующий класс
* в объект csvGenerators. Если для поиска необходимо выполнить специфический
* запрос нужно добавить поле с ключем названия модели в объект getSpecificQuery,
* значением этого поля должна быть функция возвращающая специфические параметры запроса
* @param {Object} extension Объект с новыми csvGenerators и getSpecificQuery
*/
use(extension) {
if (Array.isArray(extension.volumes)) {
for (const volume of extension.volumes) {
this.volumes.push(volume);
if (extension) {
for (const name of Object.keys(extension)) {
if (extension[name] && typeof(extension[name]) === 'object' && this[name]) {
Object.Assign(this[name], extension[name]);
}
}

@@ -95,0 +105,0 @@ }

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