/[sudobot]/trunk/src/models/User.ts
ViewVC logotype

Annotation of /trunk/src/models/User.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 393 - (hide annotations)
Mon Jul 29 17:29:59 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 1695 byte(s)
style: add license comments (#77)

* style: add license commits

* fix: shebang errors
1 rakin 393 /**
2     * This file is part of SudoBot.
3     *
4     * Copyright (C) 2021-2022 OSN Inc.
5     *
6     * SudoBot is free software; you can redistribute it and/or modify it
7     * under the terms of the GNU Affero General Public License as published by
8     * the Free Software Foundation, either version 3 of the License, or
9     * (at your option) any later version.
10     *
11     * SudoBot is distributed in the hope that it will be useful, but
12     * WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU Affero General Public License for more details.
15     *
16     * You should have received a copy of the GNU Affero General Public License
17     * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18     */
19    
20 rakin 348 import { Schema, model, Document } from 'mongoose';
21    
22     export interface IUser extends Document {
23     discord_id: string;
24     username: string;
25     guilds: Array<string>;
26     password?: string;
27     token?: string;
28 rakin 349 isAdmin?: boolean;
29 rakin 348 createdAt: Date;
30 rakin 349 tokenUpdatedAt?: Date;
31 rakin 348 }
32    
33     const schema = new Schema({
34     username: {
35     type: String,
36     required: true,
37     unique: true
38     },
39     discord_id: {
40     type: String,
41     required: true,
42     },
43     guilds: {
44     type: Array,
45     required: true,
46     default: []
47     },
48     password: {
49     type: String,
50     required: false
51     },
52 rakin 349 isAdmin: {
53     type: Boolean,
54     required: false,
55     default: false
56     },
57 rakin 348 token: {
58     type: String,
59     required: false
60     },
61     createdAt: {
62     type: Date,
63     required: true,
64 rakin 349 },
65     tokenUpdatedAt: {
66     type: Date,
67     required: false,
68 rakin 348 }
69     });
70    
71     export default model('User', schema);

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26