|
|
|
// lib/resource-stats.js
|
|
|
|
// Copyright (C) 2022 DTP Technologies, LLC
|
|
|
|
// License: Apache-2.0
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const mongoose = require('mongoose');
|
|
|
|
|
|
|
|
const Schema = mongoose.Schema;
|
|
|
|
|
|
|
|
module.exports.RESOURCE_TYPE_LIST = [
|
|
|
|
'Announcement',
|
|
|
|
'Newsletter',
|
|
|
|
];
|
|
|
|
|
|
|
|
module.exports.ResourceStats = new Schema({
|
|
|
|
uniqueVisitCount: { type: Number, default: 0, required: true, index: -1 },
|
|
|
|
totalVisitCount: { type: Number, default: 0, required: true },
|
|
|
|
upvoteCount: { type: Number, default: 0, required: true },
|
|
|
|
downvoteCount: { type: Number, default: 0, required: true },
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports.ResourceStatsDefaults = {
|
|
|
|
uniqueVisitCount: 0,
|
|
|
|
totalVisitCount: 0,
|
|
|
|
upvoteCount: 0,
|
|
|
|
downvoteCount: 0,
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports.CommentStats = new Schema({
|
|
|
|
replyCount: { type: Number, default: 0, required: true },
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports.CommentStatsDefaults = {
|
|
|
|
replyCount: 0,
|
|
|
|
};
|