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

@rss/common

Package Overview
Dependencies
Maintainers
1
Versions
895
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rss/common - npm Package Compare versions

Comparing version 0.0.45 to 0.0.46

3

dist/constant/procedure/template-status.constant.js

@@ -5,3 +5,4 @@ 'use strict';

DRAFT: 'DRAFT',
PUBLISHED: 'PUBLISHED'
PUBLISHED: 'PUBLISHED',
INTERNAL: 'INTERNAL'
};
'use strict';
module.exports = ['CHEMICAL', 'LOTO', 'MEDICAL'];
var types = {
CHEMICAL: 'CHEMICAL',
LOTO: 'LOTO',
MEDICAL: 'MEDICAL',
PLACARD: 'PLACARD'
};
module.exports = types;
module.exports.keys = Object.keys(types);

@@ -12,2 +12,3 @@ 'use strict';

var InspectCard = require('../model/procedure/inspect-card');
var InventoryCard = require('../model/procedure/inventory-card');
var LotoElectricalCard = require('../model/procedure/loto-electrical-card');

@@ -34,2 +35,4 @@ var ValueUnitCard = require('../model/procedure/value-unit-card');

return new InspectCard(card);
case 'INVENTORY':
return new InventoryCard(card);
case 'LOTO_ELECTRICAL':

@@ -36,0 +39,0 @@ return new LotoElectricalCard(card);

@@ -6,2 +6,3 @@ 'use strict';

var ROLES = require('../constant/core/roles.constant');
var TEMPLATE_TYPE = require('../constant/procedure/template-type.constant');

@@ -91,28 +92,33 @@ module.exports.permissionError = function (message) {

module.exports.hasOwnerAccessToDocument = function (_ref, user) {
var access = _ref.access,
var createdBy = _ref.createdBy,
access = _ref.access,
types = _ref.template.types;
return module.exports.hasAccessToDocument(access.filter(function (item) {
return item.permission === 'OWNER';
}), types, user);
}), types, user, createdBy);
};
module.exports.hasWriteAccessToDocument = function (_ref2, user) {
var access = _ref2.access,
var createdBy = _ref2.createdBy,
access = _ref2.access,
types = _ref2.template.types;
return module.exports.hasAccessToDocument(access.filter(function (item) {
return item.permission === 'OWNER' || item.permission === 'WRITE';
}), types, user);
}), types, user, createdBy);
};
module.exports.hasReadAccessToDocument = function (_ref3, user) {
var access = _ref3.access,
var createdBy = _ref3.createdBy,
access = _ref3.access,
types = _ref3.template.types;
return module.exports.hasAccessToDocument(access, types, user);
return module.exports.hasAccessToDocument(access, types, user, createdBy);
};
module.exports.hasAccessToDocument = function (access, types, user) {
var createdBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var accessIds = [user.campusCode, user.userId].concat(_toConsumableArray(user.groups.map(function (group) {
return group.id;
})));
return access.some(function (item) {
return (types || []).includes(TEMPLATE_TYPE.PLACARD) && module.exports.isChemAdmin(createdBy.campusCode, user) || access.some(function (item) {
return accessIds.includes(item.id) || module.exports.hasRole(user, ROLES.PROCEDURES_ADMIN, {

@@ -119,0 +125,0 @@ tenantCode: item.tenantCode,

@@ -27,6 +27,3 @@ 'use strict';

_this.details = {
buildingId: null,
buildingName: null,
roomId: null,
roomNumber: null,
location: null,
inventories: [],

@@ -45,6 +42,3 @@ hazardCodes: []

value: function fillObject(details) {
this.details.buildingId = details.buildingId;
this.details.buildingName = details.buildingName;
this.details.roomId = details.roomId;
this.details.roomNumber = details.roomNumber;
this.details.location = details.location || null;
this.details.inventories = details.inventories ? details.inventories.map(function (inv) {

@@ -70,6 +64,3 @@ return new InventoryPlacardReference(inv);

details: {
buildingId: { type: 'string' },
buildingName: { type: 'string' },
roomId: { type: 'string' },
roomNumber: { type: 'string' },
location: { type: 'object' },
inventories: { type: 'array', item: { $ref: 'inventory-placard-reference.schema.json' } },

@@ -76,0 +67,0 @@ hazardCodes: { type: 'array', item: { type: 'string' } }

@@ -11,3 +11,3 @@ 'use strict';

var TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant');
var TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant').keys;

@@ -14,0 +14,0 @@ var TemplateReference = function () {

@@ -14,3 +14,3 @@ 'use strict';

var TEMPLATE_STATUS = require('../../constant/procedure/template-status.constant');
var TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant');
var TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant').keys;

@@ -17,0 +17,0 @@ var Template = function () {

{
"name": "@rss/common",
"version": "0.0.45",
"version": "0.0.46",
"description": "common constant, classes, & helper",

@@ -5,0 +5,0 @@ "author": "Risk & Safety Solution",

module.exports = {
DRAFT: 'DRAFT',
PUBLISHED: 'PUBLISHED',
INTERNAL: 'INTERNAL',
};

@@ -1,1 +0,10 @@

module.exports = ['CHEMICAL', 'LOTO', 'MEDICAL'];
const types = {
CHEMICAL: 'CHEMICAL',
LOTO: 'LOTO',
MEDICAL: 'MEDICAL',
PLACARD: 'PLACARD',
};
module.exports = types;
module.exports.keys = Object.keys(types);

@@ -8,2 +8,3 @@ const AcknowledgementCard = require('../model/procedure/acknowledgement-card');

const InspectCard = require('../model/procedure/inspect-card');
const InventoryCard = require('../model/procedure/inventory-card');
const LotoElectricalCard = require('../model/procedure/loto-electrical-card');

@@ -30,2 +31,4 @@ const ValueUnitCard = require('../model/procedure/value-unit-card');

return new InspectCard(card);
case 'INVENTORY':
return new InventoryCard(card);
case 'LOTO_ELECTRICAL':

@@ -32,0 +35,0 @@ return new LotoElectricalCard(card);

const ROLES = require('../constant/core/roles.constant');
const TEMPLATE_TYPE = require('../constant/procedure/template-type.constant');

@@ -75,6 +76,6 @@ module.exports.permissionError = (message) => ({ status: 403, message: message || 'no permission' });

// procedures
module.exports.hasOwnerAccessToDocument = ({ access, template: { types } }, user) =>
module.exports.hasAccessToDocument(access.filter((item) => item.permission === 'OWNER'), types, user);
module.exports.hasOwnerAccessToDocument = ({ createdBy, access, template: { types } }, user) =>
module.exports.hasAccessToDocument(access.filter((item) => item.permission === 'OWNER'), types, user, createdBy);
module.exports.hasWriteAccessToDocument = ({ access, template: { types } }, user) =>
module.exports.hasWriteAccessToDocument = ({ createdBy, access, template: { types } }, user) =>
module.exports.hasAccessToDocument(

@@ -84,17 +85,21 @@ access.filter((item) => item.permission === 'OWNER' || item.permission === 'WRITE'),

user,
createdBy,
);
module.exports.hasReadAccessToDocument = ({ access, template: { types } }, user) =>
module.exports.hasAccessToDocument(access, types, user);
module.exports.hasReadAccessToDocument = ({ createdBy, access, template: { types } }, user) =>
module.exports.hasAccessToDocument(access, types, user, createdBy);
module.exports.hasAccessToDocument = (access, types, user) => {
module.exports.hasAccessToDocument = (access, types, user, createdBy = {}) => {
const accessIds = [user.campusCode, user.userId, ...user.groups.map((group) => group.id)];
return access.some(
(item) =>
accessIds.includes(item.id) ||
module.exports.hasRole(user, ROLES.PROCEDURES_ADMIN, {
tenantCode: item.tenantCode,
campusCode: item.campusCode,
types,
}),
return (
((types || []).includes(TEMPLATE_TYPE.PLACARD) && module.exports.isChemAdmin(createdBy.campusCode, user)) ||
access.some(
(item) =>
accessIds.includes(item.id) ||
module.exports.hasRole(user, ROLES.PROCEDURES_ADMIN, {
tenantCode: item.tenantCode,
campusCode: item.campusCode,
types,
}),
)
);

@@ -101,0 +106,0 @@ };

@@ -451,2 +451,20 @@ const ROLES = require('../constant/core/roles.constant');

it('should have read access to PLACARD document if Chem Admin for that campus', () => {
const document = {
template: {
types: ['PLACARD'],
},
createdBy: {
userId: 'creator',
firstName: 'John',
lastName: 'Creator',
tenantCode: 'UC',
campusCode: '03',
},
access: [],
};
expect(Helper.hasReadAccessToDocument(document, admin)).toBeTruthy();
});
it('should not have read access if procedure admin for tenant but not document type', () => {

@@ -453,0 +471,0 @@ const document = {

@@ -12,6 +12,3 @@ const clone = require('clone');

this.details = {
buildingId: null,
buildingName: null,
roomId: null,
roomNumber: null,
location: null,
inventories: [],

@@ -27,6 +24,3 @@ hazardCodes: [],

fillObject(details) {
this.details.buildingId = details.buildingId;
this.details.buildingName = details.buildingName;
this.details.roomId = details.roomId;
this.details.roomNumber = details.roomNumber;
this.details.location = details.location || null;
this.details.inventories = details.inventories

@@ -52,6 +46,3 @@ ? details.inventories.map((inv) => new InventoryPlacardReference(inv))

details: {
buildingId: { type: 'string' },
buildingName: { type: 'string' },
roomId: { type: 'string' },
roomNumber: { type: 'string' },
location: { type: 'object' },
inventories: { type: 'array', item: { $ref: 'inventory-placard-reference.schema.json' } },

@@ -58,0 +49,0 @@ hazardCodes: { type: 'array', item: { type: 'string' } },

@@ -5,3 +5,3 @@ const ObjectId = require('bson').ObjectID;

const TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant');
const TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant').keys;

@@ -8,0 +8,0 @@ class TemplateReference {

@@ -8,3 +8,3 @@ const ObjectId = require('bson').ObjectID;

const TEMPLATE_STATUS = require('../../constant/procedure/template-status.constant');
const TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant');
const TEMPLATE_TYPES = require('../../constant/procedure/template-type.constant').keys;

@@ -11,0 +11,0 @@ class Template {

Sorry, the diff of this file is not supported yet

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