瀏覽代碼

Simplified schema definitions

Cameron Kline 8 年之前
父節點
當前提交
c76de199d8
共有 2 個文件被更改,包括 41 次插入53 次删除
  1. 18 24
      backend/schemas/station.js
  2. 23 29
      backend/schemas/user.js

+ 18 - 24
backend/schemas/station.js

@@ -1,25 +1,19 @@
-module.exports = mongoose => {
+module.exports = mongoose => mongoose.model('station', new mongoose.Schema({
+	id: { type: String, lowercase: true, max: 16, min: 2, index: true, unique: true, required: true },
+	type: { type: String, enum: ["official", "community"], required: true},
+	displayName: { type: String, min: 2, max: 32, required: true },
+	description: { type: String, min: 2, max: 128, required: true },
+	paused: { type: Boolean, default: false, required: true },
+	currentSong: {
+		id: { type: String, unique: true, required: true },
+		title: { type: String, required: true },
+		artists: [{ type: String }],
+		duration: { type: String, required: true },
+		thumbnail: { type: String, required: true }
+	},
+	currentSongIndex: { type: Number, default: 0, required: true },
+	timePaused: { type: Number, default: 0, required: true },
+	playlist: { type: Object, required: true },
+	genres: [{ type: String }]
+}));
 
-	const Schema = mongoose.Schema;
-
-	const stationSchema = new Schema({
-		id: { type: String, lowercase: true, max: 16, min: 2, index: true, unique: true, required: true },
-		type: { type: String, enum: ["official", "community"], required: true},
-		displayName: { type: String, min: 2, max: 32, required: true },
-		description: { type: String, min: 2, max: 128, required: true },
-		paused: { type: Boolean, default: false, required: true },
-		currentSong: {
-			id: { type: String, unique: true, required: true },
-			title: { type: String, required: true },
-			artists: [{ type: String }],
-			duration: { type: String, required: true },
-			thumbnail: { type: String, required: true }
-		},
-		currentSongIndex: { type: Number, default: 0, required: true },
-		timePaused: { type: Number, default: 0, required: true },
-		playlist: { type: Object, required: true },
-		genres: [{ type: String }]
-	});
-
-	return mongoose.model('station', stationSchema);
-};

+ 23 - 29
backend/schemas/user.js

@@ -1,30 +1,24 @@
-module.exports = mongoose => {
+module.exports = mongoose => mongoose.model('user', new mongoose.Schema({
+	username: { type: String, required: true },
+	email: {
+		verified: { type: Boolean, default: false, required: true },
+		verificationToken: String,
+		address: String
+	},
+	services: {
+		password: {
+			password: String
+		}
+	},
+	ban: {
+		banned: { type: Boolean, default: false, required: true },
+		reason: String,
+		bannedAt: Date,
+		bannedUntil: Date
+	},
+	statistics: {
+		songsRequested: { type: Number, default: 0 }
+	},
+	createdAt: { type: Date, default: Date.now() }
+}));
 
-    const Schema = mongoose.Schema;
-
-    const userSchema = new Schema({
-        username: { type: String, required: true },
-        email: {
-            verified: { type: Boolean, default: false, required: true },
-            verificationToken: String,
-            address: String
-        },
-        services: {
-            password: {
-                password: String
-            }
-        },
-        ban: {
-            banned: { type: Boolean, default: false, required: true },
-            reason: String,
-            bannedAt: Date,
-            bannedUntil: Date
-        },
-        statistics: {
-            songsRequested: { type: Number, default: 0 }
-        },
-        createdAt: { type: Date, default: Date.now() }
-    });
-
-    return mongoose.model('user', userSchema);
-}