UNPKG

@ideal-photography/shared

Version:

Shared GraphQL (Apollo Server v5) and Mongoose logic for Ideal Photography PWAs: users, products, services, bookings, orders/cart, galleries, reviews, notifications, campaigns, settings, and audit logs.

24 lines (18 loc) 762 B
import mongoose from 'mongoose'; const adminInviteSchema = new mongoose.Schema({ code: { type: String, required: true, unique: true, index: true }, createdBy: { type: mongoose.Schema.Types.ObjectId, ref: 'Admin', required: true }, role: { type: String, enum: ['admin', 'manager'], default: 'admin' }, permissions: [{ type: String }], expiresAt: { type: Date, required: true }, used: { type: Boolean, default: false }, usedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'Admin' }, usedAt: { type: Date } }, { timestamps: true }); adminInviteSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 }); export default mongoose.model('AdminInvite', adminInviteSchema);