84 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
//temp
 | 
						|
//external modules
 | 
						|
var mongoose = require('mongoose');
 | 
						|
 | 
						|
//core
 | 
						|
var config = require("../config.js");
 | 
						|
var logger = require("./logger.js");
 | 
						|
 | 
						|
// create a temp model
 | 
						|
var model = mongoose.model('temp', {
 | 
						|
    id: String,
 | 
						|
    data: String,
 | 
						|
    created: Date
 | 
						|
});
 | 
						|
 | 
						|
//public
 | 
						|
var temp = {
 | 
						|
    model: model,
 | 
						|
    findTemp: findTemp,
 | 
						|
    newTemp: newTemp,
 | 
						|
    removeTemp: removeTemp,
 | 
						|
    getTempCount: getTempCount
 | 
						|
};
 | 
						|
 | 
						|
function getTempCount(callback) {
 | 
						|
    model.count(function(err, count){
 | 
						|
        if(err) callback(err, null);
 | 
						|
        else callback(null, count);
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
function findTemp(id, callback) {
 | 
						|
    model.findOne({
 | 
						|
        id: id
 | 
						|
    }, function (err, temp) {
 | 
						|
        if (err) {
 | 
						|
            logger.error('find temp failed: ' + err);
 | 
						|
            callback(err, null);
 | 
						|
        }
 | 
						|
        if (!err && temp) {
 | 
						|
            callback(null, temp);
 | 
						|
        } else {
 | 
						|
            logger.error('find temp failed: ' + err);
 | 
						|
            callback(err, null);
 | 
						|
        };
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
function newTemp(id, data, callback) {
 | 
						|
    var temp = new model({
 | 
						|
        id: id,
 | 
						|
        data: data,
 | 
						|
        created: Date.now()
 | 
						|
    });
 | 
						|
    temp.save(function (err) {
 | 
						|
        if (err) {
 | 
						|
            logger.error('new temp failed: ' + err);
 | 
						|
            callback(err, null);
 | 
						|
        } else {
 | 
						|
            logger.info("new temp success: " + temp.id);
 | 
						|
            callback(null, temp);
 | 
						|
        };
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
function removeTemp(id, callback) {
 | 
						|
    findTemp(id, function(err, temp) {
 | 
						|
        if(!err && temp) {
 | 
						|
            temp.remove(function(err) {
 | 
						|
                if(err) {
 | 
						|
                    logger.error('remove temp failed: ' + err);
 | 
						|
                    callback(err, null);
 | 
						|
                } else {
 | 
						|
                    callback(null, null);
 | 
						|
                }
 | 
						|
            });
 | 
						|
        } else {
 | 
						|
            logger.error('remove temp failed: ' + err);
 | 
						|
            callback(err, null);
 | 
						|
        }
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
module.exports = temp; |