summaryrefslogtreecommitdiff
path: root/src/models/MagicLink.ts
blob: fa24c339bea7c42dff5b43e6740f37d699915dfe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import mongoose from "mongoose";

export type MagicLinkAction = "createEvent";

export interface MagicLink {
    id: string;
    email: string;
    token: string;
    expiryTime: Date;
    permittedActions: MagicLinkAction[];
}

const MagicLinkSchema = new mongoose.Schema({
    email: {
        type: String,
        trim: true,
        required: true,
    },
    token: {
        type: String,
        trim: true,
        required: true,
    },
    expiryTime: {
        type: Date,
        trim: true,
        required: true,
    },
    permittedActions: {
        type: [String],
        required: true,
    },
});

export default mongoose.model<MagicLink>("MagicLink", MagicLinkSchema);