Socket
Socket
Sign inDemoInstall

skul

Package Overview
Dependencies
75
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.0 to 0.6.1

5

lib/skul/checker.js

@@ -104,2 +104,7 @@ /*

////// TODO : REFACTOR AND FIX BUGS (RELATIONSHIP ARE NOT CHECKED IF NO DISPLAYED KEYS IN THE CURRENT MODEL
// Get displayable keys

@@ -106,0 +111,0 @@ var orderby = options.orderby;

89

lib/skul/hider.js

@@ -45,71 +45,50 @@ /**

var displayableKeys = this.getDisplayableKeys(params, true);
var structureColumns = this.getStructureColumns();
var hasManyRelationshipsKeys = this.getRelationshipKeys(['hasMany', 'hasManyCustom', 'hasManyThrough']);
var relationshipsKeys = this.getRelationshipKeys();
var virtualsKeys = this.getVirtualKeys();
var customsKeys = this.getCustomKeys();
var asyncQueue = Promise.resolve();
// Check if data to parse is an array
if(!isArray) {
dataToParse = [ dataToParse ];
}
if(!isArray) dataToParse = [ dataToParse ];
// Only hide keys if displayableKeys != null
if(displayableKeys) {
// Transform data
_.each(dataToParse, function(dataItem) {
_.each(dataItem, function(dataValue, dataKey) {
// Transform data
_.each(dataToParse, function(dataItem) {
_.each(dataItem, function(dataValue, dataKey) {
// Delete if not displayable
if(displayableKeys && !_.contains(displayableKeys, dataKey)) {
delete dataItem[dataKey];
}
if (
(_.contains(structureColumns, dataKey) && !_.contains(displayableKeys, dataKey))
|| (_.contains(virtualsKeys, dataKey) && !_.contains(displayableKeys, dataKey))
|| (_.contains(customsKeys, dataKey) && !_.contains(displayableKeys, dataKey))
) {
delete dataItem[dataKey];
} else if (_.contains(hasManyRelationshipsKeys, dataKey) || _.contains(relationshipsKeys, dataKey)) {
if (!_.contains(displayableKeys, dataKey)) delete dataItem[dataKey];
else if (dataItem[dataKey] != null && typeof dataItem[dataKey] === 'object') {
// If relationship
else if(_.contains(relationshipsKeys, dataKey) && dataItem[dataKey] !== null && typeof dataItem[dataKey] === 'object') {
// Data
var relModel = self.getRelationship(dataKey);
var relData = dataItem[dataKey].data || dataItem[dataKey];
// Set data
var relItem = self.getRelationship(dataKey);
var relModel = objectPath.get(relItem, ['model', '$model']) || objectPath.get(relItem, ['model']) || null;
var relTypeIsOneToMany = _.contains(['hasMany', 'hasManyCustom', 'hasManyThrough'], relItem.type);
var relData = relTypeIsOneToMany ? objectPath.get(dataItem, [dataKey, 'data']) : objectPath.get(dataItem, [dataKey]);
if (relModel && relModel.model) {
if (relModel.model['$model'] && typeof relModel.model['$model'] === 'object') relModel = relModel.model['$model'];
else relModel = relModel.model;
// Stop if no model
if(!relModel) return;
// Add to queue
asyncQueue = asyncQueue
.then(relModel.hideFields.bind(relModel, relData, params))
.then(function() {
return Promise.resolve();
});
}
}
}
})
// Add to queue
asyncQueue = asyncQueue
.then(relModel.hideFields.bind(relModel, relData, params))
.then(function() {
return Promise.resolve();
});
}
});
}
});
// Add to queue
asyncQueue = asyncQueue
// Run queue
return (
asyncQueue
.then(function() {
if(isArray) return Promise.resolve(dataToParse);
else return Promise.resolve(dataToParse[0]);
})
);
// Return data
if(isArray) {
return Promise.resolve(dataToParse);
} else {
return Promise.resolve(dataToParse[0]);
}
});
// Return async queue
return asyncQueue;
};

@@ -116,0 +95,0 @@

{
"name": "skul",
"description": "SKuL - SQL query manager",
"version": "0.6.0",
"version": "0.6.1",
"author": "Paul Duthoit <duthoit.paul@gmail.com>",

@@ -6,0 +6,0 @@ "homepage": "http://skul.io/",

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc