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

getstream-node

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

getstream-node - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

5

package.json
{
"name": "getstream-node",
"version": "0.1.2",
"version": "0.1.3",
"description": "Build newsfeeds and activity feeds on node.js using getstream.io",

@@ -16,3 +16,4 @@ "author": "Tommaso Barbugli <tbarbugli@gmail.com> (http://getstream.io/)",

"mongoose": "^3.0.0",
"async": "^0.9.0"
"async": "^0.9.0",
"getstream": "^2.1.7"
},

@@ -19,0 +20,0 @@ "devDependencies": {

31

src/backends/mongoose.js

@@ -36,2 +36,4 @@ var BaseActivity = require('./activity.js');

Backend.prototype.getClassFromRef = function(ref) {
// TODO: raise error if this.getMongoose returns undefined
// it means user forgot to call setupMongoose
var mongoose = this.getMongoose();

@@ -61,2 +63,13 @@ return mongoose.model(ref);

function getReferencePaths(paths) {
var names = [];
for (var k in paths) {
if (paths[k].instance === 'ObjectID' && k !== '_id') {
names.push(paths[k].path);
}
}
return names.join(' ');
}
var activitySchema = function(Schema) {

@@ -72,12 +85,22 @@ // add base proto functions from BaseActivity

Schema.post('save', function(doc) {
if (doc.wasNew) {
stream.FeedManager.activityCreated(doc);
}
var paths = getReferencePaths(doc.schema.paths);
doc.populate(paths, function(err, docP) {
if (docP.wasNew) {
stream.FeedManager.activityCreated(docP);
}
});
});
Schema.post('remove', function(doc) {
stream.FeedManager.activityDeleted(doc);
var paths = getReferencePaths(doc.schema.paths);
doc.populate(paths, function(err, docP) {
stream.FeedManager.activityDeleted(docP);
});
});
// add Mongoose specific proto functions
Schema.methods.referencesPaths = function() {
return this;
}
Schema.methods.getStreamBackend = function() {

@@ -84,0 +107,0 @@ return new Backend();

@@ -89,2 +89,4 @@ var stream = require('getstream');

var backend = instance.getStreamBackend();
backend.serializeActivities([activity]);
var feedType = instance.activityActorFeed() || this.settings.userFeed;
var userId = backend.getIdFromRef(activity.actor);

@@ -91,0 +93,0 @@ feed = this.getFeed(feedType, userId);

@@ -46,2 +46,4 @@ var async = require("async");

StreamMongoose.setupMongoose(mongoose);
var Tweet = mongoose.model('Tweet', tweetSchema);

@@ -48,0 +50,0 @@ var User = mongoose.model('User', userSchema);

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