implemented changelog
This commit is contained in:
		
							
								
								
									
										11
									
								
								src/models/changelog.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/models/changelog.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
 | 
			
		||||
const ChangelogSchema = new mongoose.Schema({
 | 
			
		||||
  action: String,
 | 
			
		||||
  collectionName: String,
 | 
			
		||||
  conditions: Object,
 | 
			
		||||
  data: Object,
 | 
			
		||||
  user_id: mongoose.Schema.Types.ObjectId
 | 
			
		||||
}, {minimize: false});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('changelog', ChangelogSchema);
 | 
			
		||||
@@ -1,13 +1,20 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const ConditionTemplateSchema = new mongoose.Schema({
 | 
			
		||||
  first_id: mongoose.Schema.Types.ObjectId,
 | 
			
		||||
  name: String,
 | 
			
		||||
  version: Number,
 | 
			
		||||
  parameters: [{
 | 
			
		||||
  parameters: [new mongoose.Schema({
 | 
			
		||||
    name: String,
 | 
			
		||||
    range: mongoose.Schema.Types.Mixed
 | 
			
		||||
  }]
 | 
			
		||||
  } ,{ _id : false })]
 | 
			
		||||
}, {minimize: false});  // to allow empty objects
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('condition_template', ConditionTemplateSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
ConditionTemplateSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('condition_template', ConditionTemplateSchema);
 | 
			
		||||
@@ -1,14 +1,15 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import MaterialSupplierModel from '../models/material_suppliers';
 | 
			
		||||
import MaterialGroupsModel from '../models/material_groups';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const MaterialSchema = new mongoose.Schema({
 | 
			
		||||
  name: {type: String, index: {unique: true}},
 | 
			
		||||
  supplier_id: {type: mongoose.Schema.Types.ObjectId, ref: MaterialSupplierModel},
 | 
			
		||||
  group_id: {type: mongoose.Schema.Types.ObjectId, ref: MaterialGroupsModel},
 | 
			
		||||
  mineral: String,
 | 
			
		||||
  glass_fiber: String,
 | 
			
		||||
  carbon_fiber: String,
 | 
			
		||||
  mineral: Number,
 | 
			
		||||
  glass_fiber: Number,
 | 
			
		||||
  carbon_fiber: Number,
 | 
			
		||||
  numbers: [{
 | 
			
		||||
    color: String,
 | 
			
		||||
    number: String
 | 
			
		||||
@@ -16,4 +17,10 @@ const MaterialSchema = new mongoose.Schema({
 | 
			
		||||
  status: Number
 | 
			
		||||
}, {minimize: false});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('material', MaterialSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
MaterialSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('material', MaterialSchema);
 | 
			
		||||
@@ -1,7 +1,14 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const MaterialGroupsSchema = new mongoose.Schema({
 | 
			
		||||
  name: {type: String, index: {unique: true}}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('material_groups', MaterialGroupsSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
MaterialGroupsSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('material_groups', MaterialGroupsSchema);
 | 
			
		||||
@@ -1,7 +1,14 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const MaterialSuppliersSchema = new mongoose.Schema({
 | 
			
		||||
  name: {type: String, index: {unique: true}}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('material_suppliers', MaterialSuppliersSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
MaterialSuppliersSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('material_suppliers', MaterialSuppliersSchema);
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import SampleModel from './sample';
 | 
			
		||||
import MeasurementTemplateModel from './measurement_template';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -11,4 +12,10 @@ const MeasurementSchema = new mongoose.Schema({
 | 
			
		||||
  status: Number
 | 
			
		||||
}, {minimize: false});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('measurement', MeasurementSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
MeasurementSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('measurement', MeasurementSchema);
 | 
			
		||||
@@ -1,13 +1,20 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const MeasurementTemplateSchema = new mongoose.Schema({
 | 
			
		||||
  first_id: mongoose.Schema.Types.ObjectId,
 | 
			
		||||
  name: String,
 | 
			
		||||
  version: Number,
 | 
			
		||||
  parameters: [{
 | 
			
		||||
  parameters: [new mongoose.Schema({
 | 
			
		||||
    name: String,
 | 
			
		||||
    range: mongoose.Schema.Types.Mixed
 | 
			
		||||
  }]
 | 
			
		||||
  } ,{ _id : false })]
 | 
			
		||||
}, {minimize: false});  // to allow empty objects
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('measurement_template', MeasurementTemplateSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
MeasurementTemplateSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('measurement_template', MeasurementTemplateSchema);
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const NoteSchema = new mongoose.Schema({
 | 
			
		||||
  comment: String,
 | 
			
		||||
@@ -9,4 +10,10 @@ const NoteSchema = new mongoose.Schema({
 | 
			
		||||
  custom_fields: mongoose.Schema.Types.Mixed
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('note', NoteSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
NoteSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('note', NoteSchema);
 | 
			
		||||
@@ -1,8 +1,15 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const NoteFieldSchema = new mongoose.Schema({
 | 
			
		||||
  name: {type: String, index: {unique: true}},
 | 
			
		||||
  qty: Number
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('note_field', NoteFieldSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
NoteFieldSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('note_field', NoteFieldSchema);
 | 
			
		||||
@@ -3,6 +3,7 @@ import mongoose from 'mongoose';
 | 
			
		||||
import MaterialModel from './material';
 | 
			
		||||
import NoteModel from './note';
 | 
			
		||||
import UserModel from './user';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const SampleSchema = new mongoose.Schema({
 | 
			
		||||
  number: {type: String, index: {unique: true}},
 | 
			
		||||
@@ -16,4 +17,10 @@ const SampleSchema = new mongoose.Schema({
 | 
			
		||||
  status: Number
 | 
			
		||||
}, {minimize: false});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('sample', SampleSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
SampleSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('sample', SampleSchema);
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
import mongoose from 'mongoose';
 | 
			
		||||
import db from '../db';
 | 
			
		||||
 | 
			
		||||
const UserSchema = new mongoose.Schema({
 | 
			
		||||
  name: {type: String, index: {unique: true}},
 | 
			
		||||
@@ -10,4 +11,10 @@ const UserSchema = new mongoose.Schema({
 | 
			
		||||
  device_name: String
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default mongoose.model('user', UserSchema);
 | 
			
		||||
// changelog query helper
 | 
			
		||||
UserSchema.query.log = function <Q extends mongoose.DocumentQuery<any, any>> (req) {
 | 
			
		||||
  db.log(req, this);
 | 
			
		||||
  return this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default mongoose.model<any, mongoose.Model<any, any>>('user', UserSchema);
 | 
			
		||||
		Reference in New Issue
	
	Block a user