dragonroll/backend/models/Campaign.js

20 lines
619 B
JavaScript

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const crypto = require("crypto");
const CampaignSchema = new Schema({
name: {type: String, required: true},
description: {type: String},
system: {type: String, required: true},
creation_date: { type: Date, default: Date.now},
last_opened: { type: Date, default: Date.now},
invite_code: { type: String, unique: true },
image: { type: String }
});
CampaignSchema.statics.generateInvite = function() {
return crypto.randomBytes(8).toString('base64url');
}
module.exports = mongoose.model('Campaign', CampaignSchema);