๐Ÿง‘User ์Šคํ‚ค๋งˆ

const userSchema = new Schema({
  userID: { type: String, required: true, unique: true },
  userName: { type: String, required: true },
  isShared: { type: Boolean, default: false },
  randIdx: { type: Number, default: 0 },
  lastShareModified: { type: Date, default: new Date() },
  lastModified: { type: Date, default: new Date() },
  history: {
    type: Map,
    of: Date,
  },
});

๐ŸชฆGallery ์Šคํ‚ค๋งˆ

const keywordScheama = new Schema({
  keyword: { type: String, required: true },
  freq: { type: Number, required: true },
});

const gallerySchema = new Schema({
  theme: { type: String, required: true },
  totalKeywords: [keywordScheama],
  groupKeywords: [
    {
      position: [Number],
      keyword: { type: String, default: "-" },
    },
  ],
  pages: [
    {
      position: [Number],
      keywords: [keywordScheama],
      title: { type: String, default: "-" },
      subtitle: [
        {
          hType: String,
          text: String,
        },
      ],
      links: [
        {
          href: String,
          favicon: String,
        },
      ],
      imagePixel: [[Number]],
    },
  ],
  nodes: [[Number]],
  views: { type: Number, default: 0 },
  viewers: { type: Map, of: String, default: new Map() },
  lastModified: { type: Date, default: new Date() },
  created: { type: Date, default: new Date() },
});