Advertisement
Guest User

Untitled

a guest
Feb 7th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. schemas
  2. message.ts
  3. user.ts
  4.  
  5. messageSchema.post("remove", function(message) {
  6. User.findById(message.user, function (err, user) {
  7. user.messages.pull(message);
  8. user.save();
  9. });
  10. }
  11.  
  12. import { Schema } from "mongoose";
  13.  
  14. const User = require('./user');
  15.  
  16. export const messageSchema: Schema = new Schema({
  17. createdAt: Date,
  18. content: {type: String, required: true},
  19. user: {type: Schema.Types.ObjectId, ref: 'User'}
  20. });
  21.  
  22. messageSchema.pre("save", function(next) {
  23. if (!this.createdAt) {
  24. this.createdAt = new Date();
  25. }
  26. next();
  27. });
  28.  
  29. messageSchema.post("remove", function(message) {
  30. User.findById(message.user, function (err, user) {
  31. user.messages.pull(message);
  32. user.save();
  33. });
  34. });
  35.  
  36. import { Schema } from "mongoose";
  37.  
  38. const mongooseUniqueValidator = require('mongoose-unique-validator');
  39.  
  40. export const userSchema: Schema = new Schema({
  41. createdAt: Date,
  42. firstName: {type: String, required: true},
  43. lastName: {type: String, required: true},
  44. password: {type: String, required: true},
  45. email: {type: String, required: true, unique: true},
  46. messages: [{type: Schema.Types.ObjectId, ref: 'Message'}]
  47. });
  48.  
  49. userSchema.plugin(mongooseUniqueValidator);
  50.  
  51. userSchema.pre("save", function(next) {
  52. if (!this.createdAt) {
  53. this.createdAt = new Date();
  54. }
  55. next();
  56. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement