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

apostrophe-snippets

Package Overview
Dependencies
Maintainers
8
Versions
202
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apostrophe-snippets - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

61

index.js

@@ -8,2 +8,3 @@ var async = require('async');

var csv = require('csv');
var moment = require('moment');

@@ -338,2 +339,4 @@ // GUIDE TO USE

var active = 0;
var date = new Date();
req.aposImported = moment().format();
s.on('record', function(row, index) {

@@ -359,2 +362,3 @@ active++;

s.end();
active--;
}

@@ -385,2 +389,6 @@ });

function handleRow(row, callback) {
// Ignore blank rows without an error
if (!_.some(row, function(column) { return column !== ''; })) {
return callback(null);
}
var data = {};

@@ -431,2 +439,5 @@ var i;

snippet.sortTitle = self._apos.sortify(snippet.title);
// Record when the import happened so that later we can offer a UI
// to find these groups and remove them if desired
snippet.imported = req.aposImported;
self.beforeInsert(req, data, snippet, function(err) {

@@ -560,3 +571,2 @@ if (err) {

}
var skip = options.skip || undefined;

@@ -601,2 +611,4 @@ if (skip !== undefined) {

var snippets;
var got;
async.series([loadSnippets, permissions, loadWidgets], done);

@@ -607,2 +619,3 @@

snippets = snippetsArg;
got = snippets.length;
return callback(err);

@@ -614,4 +627,17 @@ });

async.filter(snippets, function(snippet, callback) {
self._apos.permissions(req, editable ? 'edit-' + self._css : 'view-' + self._css, snippet, function(err) {
return callback(!err);
self._apos.permissions(req, 'edit-' + self._css, snippet, function(err) {
if (editable) {
return callback(!err);
} else {
snippet._edit = !err;
// Good way to test the retry mechanism that fills the gap if
// some of the snippets lack permissions for this user
// if (Math.random() < 0.5) {
// console.log('randomly flunking view permissions');
// return callback(false);
// }
self._apos.permissions(req, 'view-' + self._css, snippet, function(err) {
return callback(!err);
});
}
});

@@ -636,2 +662,31 @@ }, function(snippetsArg) {

function done(err) {
// If there are more items potentially available in the database, and we
// dropped some due to a lack of view or edit permissions, we should go back
// and get some more. We can get rid of this if we manage to implement
// permissions as part of queries later, but it usually doesn't have to be
// invoked zillions of times before we get the original desired number.
if ((!err) && limit && (got === limit) && (snippets.length < got)) {
var options = {};
extend(options, optionsArg, true);
var oldSkip = options.skip || 0;
options.skip = oldSkip + limit;
// This is not ideal because we'll request fewer and fewer items on
// each try, eventually requesting one at a time. TODO: improve this
// algorithm to keep fetching more but not get confused about what
// the final goal is.
options.limit = limit - snippets.length;
return self.get(req, options, function(err, moreSnippets) {
var i;
for (i = 0; (i < moreSnippets.length); i++) {
if (snippets.length >= limit) {
break;
}
snippets.push(moreSnippets[i]);
}
return callback(err, snippets);
});
}
if (err) {
return callback(err);
}
return callback(null, snippets);

@@ -638,0 +693,0 @@ }

5

package.json
{
"name": "apostrophe-snippets",
"version": "0.0.3",
"version": "0.0.4",
"description": "Reusable content snippets for the Apostrophe content management system. The blog and events modules are built on this foundation, which is also useful in and of itself.",

@@ -28,4 +28,5 @@ "main": "index.js",

"extend": "~1.1.3",
"csv": "~0.2.9"
"csv": "~0.2.9",
"moment": "~2.0.0"
}
}

@@ -214,6 +214,7 @@ // NOTES FOR REUSE:

var $snippet = apos.fromTemplate($snippets.find('[data-item].apos-template'));
var $title = $snippet.find('[data-title]');
$title.text(snippet.title);
$title.attr('data-slug', snippet.slug);
self.addingToManager($snippet, snippet);
self.addingToManager($el, $snippet, snippet);
$snippets.append($snippet);

@@ -220,0 +221,0 @@ });

@@ -55,3 +55,2 @@ var _ = require('underscore');

render: function(data) {
console.log('rendering the widget');
return self.snippets.render('widget', data);

@@ -73,2 +72,5 @@ },

}
if (item.limit) {
criteria.limit = item.limit;
}

@@ -75,0 +77,0 @@ self.snippets.get(req, criteria, function(err, snippets) {

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