How to use the moleculer.Utils function in moleculer

To help you get started, we’ve selected a few moleculer examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github tiaod / moleculer-io / src / index.js View on Github external
const IO = require('socket.io')
const _ = require('lodash')
const { match } = require('moleculer').Utils
const { ServiceNotFoundError } = require("moleculer").Errors;
const { BadRequestError } = require('./errors')
const chalk = require('chalk')

module.exports = {
  name: 'io',
  settings: {
    // port: 3000,
    server: true,
    io: {
      // options: {}, //socket.io options
      namespaces: {
        '/':{
          // authorization: false,
          // middlewares: [],
          // packetMiddlewares:[],
github icebob / kantab / backend / mixins / database.js View on Github external
/*
 * moleculer-database
 * Copyright (c) 2017 MoleculerJS (https://github.com/moleculerjs/database)
 * MIT Licensed
 */

"use strict";

const _ = require("lodash");
const Promise = require("bluebird");
const { isPromise } = require("moleculer").Utils;
const { MoleculerClientError, ValidationError, ServiceSchemaError } = require("moleculer").Errors;

const EntityNotFoundError = require("moleculer-db").EntityNotFoundError;
const MemoryAdapter = require("moleculer-db").MemoryAdapter;

/**
 * Service mixin to access database entities
 *
 * TODO:
 * 	- [ ] enhanced `fields` with visibility, default value...etc
 *      fields: {
 * 			id: { id: true, type: "string", readonly: true, secure: true, columnName: "_id" }, // Can't set by user
 *			owner: { populate: { action: "v1.accounts.resolve", fields: ["id", "name", "avatar"] } }, // Populate via other service
 * 			title: { type: "string", trim: true, maxlength: 50, required: true },	// Sanitization & validation
 * 			slug: { set: (value, entity, ctx) => slug(entity.title) }	// Custom formatter before saving
 * 			fullName: { get: (value, entity, ctx) => entity.firstName + ' ' + entity.lastName }	// Virtual/calculated field
github tiaod / moleculer-io / lib / index.js View on Github external
'use strict';

function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }

const IO = require('socket.io');
const _ = require('lodash');

const match = require('moleculer').Utils.match;

const ServiceNotFoundError = require("moleculer").Errors.ServiceNotFoundError;

var _require = require('./errors');

const BadRequestError = _require.BadRequestError;

const chalk = require('chalk');

module.exports = {
  name: 'io',
  settings: {
    // port: 3000,
    io: {
      // options: {}, //socket.io options
      // adapter: redis({ host: 'localhost', port: 6379 }),
github icebob / kantab / backend / services / acl.service.js View on Github external
"use strict";

const _ 				= require("lodash");
const DbService 		= require("../mixins/db.mixin");
const CacheCleaner 		= require("../mixins/cache.cleaner.mixin");
const Memoize 			= require("../mixins/memoize.mixin");
const { match } 		= require("moleculer").Utils;
const ConfigLoader 		= require("../mixins/config.mixin");
const C 				= require("../constants");

/**
 * Role-based ACL (Access-Control-List) service
 *
 * Special roles:
 * 		- $everyone (unauthenticated users)
 * 		- $authenticated (authenticated user)
 * 		- $owner (owner of entity)
 * 		- $related (???)
 *
 * TODO:
 * 	- role name can't start with $. It's an internal special role marker.
 *  - role name can't contain colon (:). It's a permission separator
 *
github icebob / kantab / backend / middlewares / EnhancedHotReload.js View on Github external
"use strict";

const fs = require("fs");
const chalk = require("chalk");
const path = require("path");
const _ = require("lodash");

const { clearRequireCache } = require("moleculer").Utils;

const cache = new Map();

let projectFiles = new Map();
let prevProjectFiles = new Map();


function hotReloadService(broker, service) {
	const relPath = path.relative(process.cwd(), service.__filename);

	broker.logger.info(`Hot reload '${service.name}' service...`, chalk.grey(relPath));

	return broker.destroyService(service)
		.then(() => broker.loadService(service.__filename));
}
github moleculerjs / moleculer-web / src / index.js View on Github external
/*
 * moleculer
 * Copyright (c) 2019 MoleculerJS (https://github.com/moleculerjs/moleculer)
 * MIT Licensed
 */

"use strict";

const http 						= require("http");
const https 					= require("https");
const queryString 				= require("qs");
const kleur						= require("kleur");
const { match, deprecate }		= require("moleculer").Utils;
const pkg						= require("../package.json");

const _ 						= require("lodash");
const bodyParser 				= require("body-parser");
const serveStatic 				= require("serve-static");
const isReadableStream			= require("isstream").isReadable;

const { MoleculerError, MoleculerServerError, ServiceNotFoundError } = require("moleculer").Errors;
const { ServiceUnavailableError, NotFoundError, ForbiddenError, RateLimitExceeded, ERR_ORIGIN_NOT_ALLOWED } = require("./errors");

const Alias						= require("./alias");
const MemoryStore				= require("./memory-store");

const { removeTrailingSlashes, addSlashes, normalizePath, composeThen, generateETag, isFresh } = require("./utils");

const MAPPING_POLICY_ALL		= "all";
github icebob / kantab / backend / services / config.service.js View on Github external
"use strict";

const _ 		= require("lodash");
const DbService = require("../mixins/db.mixin");
const { ValidationError } = require("moleculer").Errors;
const CacheCleaner 	= require("../mixins/cache.cleaner.mixin");
const { match } = require("moleculer").Utils;

/**
 * config service
 */
module.exports = {
	name: "config",
	version: 1,

	mixins: [
		DbService("configurations", { createActions: false }),
		CacheCleaner([
			"cache.clean.config"
		])
	],

	/**