session.getCreature = function(creature_id) {
   if(session.wait_for_creatures) {
     return null;
   }
   var obj_id = new ObjectID(creature_id);
   for(var i=0; i<session.creatures.length; ++i) {
     if(obj_id.equals(session.creatures[i]._id)) {
       return session.creatures[i];
     }
   }
   return null;
 };
Example #2
0
var OpItem = function (){
    var unique_id = (function() {
        return function (){
            function _p8(s) {
                var p = (Math.random().toString(16)+"000000000").substr(2,8);
                return s ? "" + p.substr(0,4) + "" + p.substr(4,4) : p ;
            }
            return _p8() + _p8(true) + _p8(true) + _p8();
        }
    })();

    this._OpId = unique_id().substring(0,24);
    this._id = mongoskin.ObjectID.createFromHexString(this._OpId) ;
    this.SetOpId = function(opid){
        this._OpId =opid;
        for (var i = opid.length ;i < 24; i++) {
            opid="0" + opid;
        }

        this._id = mongoskin.ObjectID.createFromHexString(opid) ;
    }

    this.GetIdItem = function(){
        return { _id : this._id };
    }

}
Example #3
0
app.post('/deleteQuestion', loggedIn, function(req, res){
  Questions.remove({_id: ObjectID.createFromHexString(req.body.id), videoId: req.body.videoId, user: req.session.user}, function(err, count){
    if(!err && count == 1) {
      io.sockets.in(req.body.videoId).emit('deletedQuestion', req.body.id);
    }
    res.send('ok');
  });
});
Example #4
0
    this.SetOpId = function(opid){
        this._OpId =opid;
        for (var i = opid.length ;i < 24; i++) {
            opid="0" + opid;
        }

        this._id = mongoskin.ObjectID.createFromHexString(opid) ;
    }
Example #5
0
router.get('/:id/next', function(req, res) {
   var db = req.db;
   var objId = req.params.id;
   var ObjectID = require('mongoskin').ObjectID;
   db.collection('teamlist').findOne({'_id' : ObjectID.createFromHexString(objId), 'schedule': {$elemMatch: { date : {$gte:new Date()}} }},function (err, items) {
        res.json(items);
    });
});
  app.server.get("/creatures/delete", function(req, res) {
    var parsed_url = url.parse(req.url, true)
      , session_id = parsed_url.query["session_id"]
      , session = app.accounts.getSession(session_id);

    if(!session) {
      res.writeHead(400);
      res.end("Missing/invalid session id");
      return;
    }
    
    var creature_id = parsed_url.query["creature_id"];
    if(!creature_id || typeof(creature_id) != "string") {
      res.writeHead(400);
      res.end("Missing creature_id");
      return;
    }
    
    if(session.wait_for_creatures) {
      res.writeHead(400);
      res.end("Not connected to database");
      return;
    }
    
    var obj_id = new ObjectID(creature_id);
    for(var i=0; i<session.creatures.length; ++i) {
      if(obj_id.equals(session.creatures[i]._id)) {
        var C = session.creatures[i];
        session.creatures.splice(i, 1);
        
        C.deleted = true;
        C.deleted_at = new Date();
        app.emit("delete_creature", C);
        app.db.creatures.save(C);
        
        res.writeHead(200);
        res.end("Success");
        return;
      }
    }
    
    res.writeHead(400);
    res.end("Error deleting creature/invalid id");
    return;
  });
Example #7
0
exports.plus = function (id, who, callback) {
  topics.findAndModify(
    {
      _id: mongo.ObjectID.createFromHexString(id)
    },
    [['_id','asc']],
    {$addToSet: {vote: who}},
    {'new': true},
    callback
  );
};
Example #8
0
 ticket.save(function(err) {
   expect(ticket.created() instanceof Date).to.be(true);
   expect(ticket.viewed() instanceof Date).to.be(true);
   expect(ticket.creatorId() instanceof mongoskin.ObjectID).to.be(true);
   expect(ticket.creatorId().equals(creatorId)).to.be(true);
   expect(ticket.responderId() instanceof mongoskin.ObjectID).to.be(true);
   expect(ticket.responderId().equals(responderId)).to.be(true);
   expect(ticket.fixId() instanceof mongoskin.ObjectID).to.be(true);
   expect(ticket.fixId().equals(fixId)).to.be(true);
   ticket.viewed('2014-01-03');
   var newCreatorId = new mongoskin.ObjectID();
   var newResponderId = new mongoskin.ObjectID();
   var newFixId = new mongoskin.ObjectID();
   ticket.creatorId(newCreatorId.toHexString());
   ticket.responderId(newResponderId.toHexString());
   ticket.fixId(newFixId.toHexString());
   ticket.save(function(err) {
     expect(ticket.viewed() instanceof Date).to.be(true);
     expect(ticket.creatorId() instanceof mongoskin.ObjectID).to.be(true);
     expect(ticket.creatorId().equals(newCreatorId)).to.be(true);
     expect(ticket.responderId() instanceof mongoskin.ObjectID).to.be(true);
     expect(ticket.responderId().equals(newResponderId)).to.be(true);
     expect(ticket.fixId() instanceof mongoskin.ObjectID).to.be(true);
     expect(ticket.fixId().equals(newFixId)).to.be(true);
     done();
   });
 });
Example #9
0
      it("parses a string as an ObjectID if the type is set to `ObjectID`", function(done) {
        var creatorId = new mongoskin.ObjectID();
        var responderId = new mongoskin.ObjectID();
        var fixId = new mongoskin.ObjectID();
        var ticket = new Ticket({
          created: '2014-01-01',
          viewed: '2014-01-02',
          message: 'Foo to you sir',
          creatorId: creatorId.toHexString(),
          responderId: responderId.toHexString(),
          fixId: fixId.toHexString()
        });

        ticket.save(function(err) {
          expect(ticket.created() instanceof Date).to.be(true);
          expect(ticket.viewed() instanceof Date).to.be(true);
          expect(ticket.creatorId() instanceof mongoskin.ObjectID).to.be(true);
          expect(ticket.creatorId().equals(creatorId)).to.be(true);
          expect(ticket.responderId() instanceof mongoskin.ObjectID).to.be(true);
          expect(ticket.responderId().equals(responderId)).to.be(true);
          expect(ticket.fixId() instanceof mongoskin.ObjectID).to.be(true);
          expect(ticket.fixId().equals(fixId)).to.be(true);
          ticket.viewed('2014-01-03');
          done();
        });
      });
Example #10
0
	var convert = function(obj) {
		var keys = Object.keys(obj);
		for (var i = 0; i < keys.length; i++) {
			var key = keys[i];
			var value = obj[key];
			var type = typeof(value);
			if (type === 'string') {
				var reg = /ObjectId\('(\w{24})'\)/.exec(value);
				if (reg !== null && reg.length === 2) {
					obj[key] = mongo.ObjectID.createFromHexString(reg[1]);
				}
			}
			if(type === 'object'){
				convert(value);
			}

		}
	};
Example #11
0
exports.findOne = function (id, callback) {
  topics.findOne({_id: mongo.ObjectID.createFromHexString(id)}, callback);
};
Example #12
0
exports.changeTopic = function (id, update, callback) {
  update.updateAt = new Date();
  topics.update({_id: mongo.ObjectID.createFromHexString(id)}, {$set: update}, callback);
};