замечания 3

This commit is contained in:
2025-11-02 12:40:42 +03:00
parent 35493a09b5
commit 0d1dcf21c1
29 changed files with 1498 additions and 1827 deletions

View File

@@ -0,0 +1,43 @@
const mongoose = require('mongoose');
const buyDocumentSchema = new mongoose.Schema({
id: {
type: String,
required: true,
unique: true,
index: true
},
ownerCompanyId: {
type: String,
required: true,
index: true
},
name: {
type: String,
required: true
},
type: {
type: String,
required: true
},
size: {
type: Number,
required: true
},
filePath: {
type: String,
required: true
},
acceptedBy: {
type: [String],
default: []
},
createdAt: {
type: Date,
default: Date.now,
index: true
}
});
module.exports = mongoose.model('BuyDocument', buyDocumentSchema);

View File

@@ -30,6 +30,7 @@ const buyProductSchema = new mongoose.Schema({
url: String,
type: String,
size: Number,
storagePath: String,
uploadedAt: {
type: Date,
default: Date.now

View File

@@ -0,0 +1,46 @@
const mongoose = require('mongoose');
const experienceSchema = new mongoose.Schema({
companyId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Company',
required: true,
index: true
},
confirmed: {
type: Boolean,
default: false
},
customer: {
type: String,
required: true
},
subject: {
type: String,
required: true
},
volume: {
type: String
},
contact: {
type: String
},
comment: {
type: String
},
createdAt: {
type: Date,
default: Date.now,
index: true
},
updatedAt: {
type: Date,
default: Date.now
}
});
// Индексы для оптимизации поиска
experienceSchema.index({ companyId: 1, createdAt: -1 });
module.exports = mongoose.model('Experience', experienceSchema);

View File

@@ -11,6 +11,12 @@ const requestSchema = new mongoose.Schema({
required: true,
index: true
},
subject: {
type: String,
required: false,
trim: true,
default: ''
},
text: {
type: String,
required: true
@@ -21,6 +27,7 @@ const requestSchema = new mongoose.Schema({
url: String,
type: String,
size: Number,
storagePath: String,
uploadedAt: {
type: Date,
default: Date.now
@@ -39,6 +46,18 @@ const requestSchema = new mongoose.Schema({
type: String,
default: null
},
responseFiles: [{
id: String,
name: String,
url: String,
type: String,
size: Number,
storagePath: String,
uploadedAt: {
type: Date,
default: Date.now
}
}],
respondedAt: {
type: Date,
default: null
@@ -58,5 +77,6 @@ const requestSchema = new mongoose.Schema({
requestSchema.index({ senderCompanyId: 1, createdAt: -1 });
requestSchema.index({ recipientCompanyId: 1, createdAt: -1 });
requestSchema.index({ senderCompanyId: 1, recipientCompanyId: 1 });
requestSchema.index({ subject: 1, createdAt: -1 });
module.exports = mongoose.model('Request', requestSchema);