codecombat/server/models/CodeLog.coffee
Josh Callebaut c4652d82e2 Implements the SPADE logger into the SpellView
* Updates spade.js vendor file, adds a sublime-project for developers to use
* Moves server logic away from handlers
* Moves session update logic to middleware, sets up server schema to autorender IDs as ObjectIDs
* Modernizes the supermodel loading scheme and switches from constructor to initalize
2016-04-26 09:56:30 -07:00

34 lines
845 B
CoffeeScript

mongoose = require 'mongoose'
config = require '../../server_config'
CodeLogSchema = new mongoose.Schema({
created:
type: Date
default: Date.now
userID:
type: mongoose.Schema.ObjectId
sessionID:
type: mongoose.Schema.ObjectId
level:
original:
type: mongoose.Schema.ObjectId
majorVersion:
type: Number
default: 0
}, {strict: false, read: config.mongo.readpref})
CodeLogSchema.index({levelSlug: 1, created: -1}, {name: 'level slug index'})
CodeLogSchema.index({userID: 1, created: -1}, {name: 'user id index'})
CodeLogSchema.statics.editableProperties = [
'sessionID'
'level'
'levelSlug'
'userID'
'log'
'created'
]
CodeLogSchema.statics.jsonSchema = require '../../app/schemas/models/codelog.schema'
module.exports = CodeLog = mongoose.model('CodeLog', CodeLogSchema, 'codelogs')