Files
talk/models/action.js
T
2017-05-09 15:01:01 -06:00

40 lines
867 B
JavaScript

const mongoose = require('../services/mongoose');
const uuid = require('uuid');
const Schema = mongoose.Schema;
const ACTION_TYPES = require('./enum/action_types');
const ITEM_TYPES = require('./enum/item_types');
const ActionSchema = new Schema({
id: {
type: String,
default: uuid.v4,
unique: true
},
action_type: {
type: String,
enum: ACTION_TYPES
},
item_type: {
type: String,
enum: ITEM_TYPES
},
item_id: String,
user_id: String,
// The element that summaries will additionally group on in addtion to their action_type, item_type, and
// item_id.
group_id: String,
// Additional metadata stored on the field.
metadata: Schema.Types.Mixed
}, {
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at'
}
});
const Action = mongoose.model('Action', ActionSchema);
module.exports = Action;