Untitled

 avatar
unknown
typescript
17 days ago
1.2 kB
2
Indexable
const mongoose = require("mongoose");
const mediaSchema = new mongoose.Schema({
  fileName: String,
  type: String,
  filePath: String,
});
const storySchema = new mongoose.Schema({
  user: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Auth",
    
  },
  media: [mediaSchema],
  textContent: {
    type: String,
    default: "",
  },
  viewers: [
    {
      type: mongoose.Schema.Types.ObjectId,
      ref: "Auth",
    },
  ],
    replies: [
      {
        user: { type: mongoose.Schema.Types.ObjectId, ref: "Auth" },
        message: { type: String },
        createdAt: { type: Date, default: Date.now },
      },
    ],
  reactions: [
    {
      user: { type: mongoose.Schema.Types.ObjectId, ref: "Auth" },
      emoji: { type: String },
    },
  ],
  taggedUsers: [
    {
      type: mongoose.Schema.Types.ObjectId,
      ref: "Auth",
    },
  ],
  likes: [
    {
      type: mongoose.Schema.Types.ObjectId,
      ref: "Auth",
    },
  ],
  visibility: {
    type: String,
    enum: ["public", "followers", "closeFriends"],
    default: "public",
  },
  createdAt: {
    type: Date,
    default: Date.now,
    expires: 86400,
  },
});

module.exports = mongoose.model("Story", storySchema);
Editor is loading...
Leave a Comment