update
This commit is contained in:
61
server/routers/procurement/models/Activity.js
Normal file
61
server/routers/procurement/models/Activity.js
Normal file
@@ -0,0 +1,61 @@
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const activitySchema = new mongoose.Schema({
|
||||
companyId: {
|
||||
type: String,
|
||||
required: true,
|
||||
index: true
|
||||
},
|
||||
userId: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
enum: [
|
||||
'message_received',
|
||||
'message_sent',
|
||||
'request_received',
|
||||
'request_sent',
|
||||
'request_response',
|
||||
'product_accepted',
|
||||
'review_received',
|
||||
'profile_updated',
|
||||
'product_added',
|
||||
'buy_product_added'
|
||||
],
|
||||
required: true
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
description: {
|
||||
type: String
|
||||
},
|
||||
relatedCompanyId: {
|
||||
type: String
|
||||
},
|
||||
relatedCompanyName: {
|
||||
type: String
|
||||
},
|
||||
metadata: {
|
||||
type: mongoose.Schema.Types.Mixed
|
||||
},
|
||||
read: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
createdAt: {
|
||||
type: Date,
|
||||
default: Date.now,
|
||||
index: true
|
||||
}
|
||||
});
|
||||
|
||||
// Индексы для оптимизации
|
||||
activitySchema.index({ companyId: 1, createdAt: -1 });
|
||||
activitySchema.index({ companyId: 1, read: 1, createdAt: -1 });
|
||||
|
||||
module.exports = mongoose.model('Activity', activitySchema);
|
||||
|
||||
Reference in New Issue
Block a user