summaryrefslogtreecommitdiff
path: root/server/lib/schemas/Collaborator.js
blob: 79e3287d99374ceaa1d71b33d5e3c35490ed3b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* jshint node: true */

var mongoose = require('mongoose'),
	_ = require('lodash'),
	config = require('../../../config.json'),
	util = require('../util');

var CollaboratorSchema = new mongoose.Schema({
	email: { type: String, required: true},
	project_id: { type: mongoose.Schema.ObjectId, index: true },
	user_id: { type: mongoose.Schema.ObjectId, index: true },
	nonce: {
		type: String,
		default: "",
	},
	created_at: { type: Date },
	updated_at: { type: Date },
})

CollaboratorSchema.statics.makeNonce = function(cb){
	crypto.pseudoRandomBytes(256, function (err, buf){
		var shasum = crypto.createHash('sha1')
		shasum.update(buf)
		cb( shasum.digest('hex') )
	})
}

module.exports = exports = mongoose.model('collaborator', CollaboratorSchema);
exports.schema = CollaboratorSchema;