message.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. const mongoose = require('mongoose');
  2. const { Schema, model, SchemaTypes } = mongoose;
  3. const mongoosePaginate = require('mongoose-paginate-v2');
  4. mongoose.Types.ObjectId.isValid();
  5. const messageSchema = new Schema(
  6. {
  7. message: {
  8. type: String,
  9. default: null,
  10. },
  11. companionId: {
  12. type: String,
  13. default: null,
  14. },
  15. companionIdFlow: {
  16. type: String,
  17. default: null,
  18. },
  19. name: {
  20. type: String,
  21. default: null,
  22. },
  23. lastName: {
  24. type: String,
  25. default: null,
  26. },
  27. avatarUrl: {
  28. type: String,
  29. default: null,
  30. },
  31. color: {
  32. type: String,
  33. default: null,
  34. },
  35. number: {
  36. type: String,
  37. default: null,
  38. },
  39. type: {
  40. type: String,
  41. default: null,
  42. },
  43. fullType: {
  44. type: String,
  45. default: null,
  46. },
  47. idTime: {
  48. type: String,
  49. default: null,
  50. },
  51. caption: {
  52. type: String,
  53. default: null,
  54. },
  55. emoji: {
  56. type: String,
  57. default: null,
  58. },
  59. emojiCompanion: {
  60. type: String,
  61. default: null,
  62. },
  63. pinned: {
  64. type: Boolean,
  65. default: false,
  66. },
  67. owner: {
  68. type: SchemaTypes.ObjectId,
  69. ref: 'user',
  70. },
  71. },
  72. { timestamps: true }
  73. );
  74. messageSchema.plugin(mongoosePaginate);
  75. const Message = model('message', messageSchema);
  76. module.exports = Message;