// email-blacklist.js
// Copyright (C) 2022 DTP Technologies, LLC
// License: Apache-2.0

'use strict';

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const EmailBlacklistSchema = new Schema({
  created: { type: Date, required: true, default: Date.now, index: -1, expires: '30d' },
  email: {
    type: String,
    required: true,
    lowercase: true,
    maxlength: 255,
    unique: true,
  },
  flags: {
    isVerified: { type: Boolean, default: false, required: true },
  },
});

EmailBlacklistSchema.index({
  email: 1,
  'flags.isVerified': 1,
}, {
  partialFilterExpression: {
    'flags.isVerified': true,
  },
});

module.exports = mongoose.model('EmailBlacklist', EmailBlacklistSchema);
