summaryrefslogtreecommitdiff
path: root/lib/models.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
committerJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
commit686106d544ecc3b6ffd4db2b665d3bc879a58d8c (patch)
treea5b5e50237cef70e12f0745371896e96f5f6d578 /lib/models.js
ok
Diffstat (limited to 'lib/models.js')
-rw-r--r--lib/models.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/models.js b/lib/models.js
new file mode 100644
index 0000000..824586b
--- /dev/null
+++ b/lib/models.js
@@ -0,0 +1,52 @@
+var mongoose = require('mongoose'),
+ Schema = mongoose.Schema,
+ ObjectId = Schema.ObjectId;
+
+var SoundSchema = new Schema({
+ soundId: ObjectId,
+ name: String,
+ url: String,
+ permalink: String,
+ filetype: String,
+ duration: { type: Number, default: 0 },
+ date: { type: Date, default: Date.now }
+});
+
+var OffsetsSchema = new Schema({
+ soundId: String,
+ offsets: { type: [Number] }
+})
+
+var LoopSchema = new Schema({
+ soundId: String,
+ sampleURL: String,
+ startTime: Number,
+ endTime: Number,
+ duration: Number,
+ beats: Number,
+ offsets: Array,
+ transformations: Array,
+ date: { type: Date, default: Date.now }
+})
+
+var UserSchema = new Schema({
+ userId: ObjectId,
+ score: { type: Number, default: 0 },
+ name: String,
+ image: String,
+ date: { type: Date, default: Date.now }
+});
+
+var FaveSchema = new Schema({
+ userId: String,
+ loopId: String,
+ date: { type: Date, default: Date.now }
+});
+
+var Sound = module.exports.Sound = mongoose.model('Sound', SoundSchema);
+var Offsets = module.exports.Offsets = mongoose.model('Offsets', OffsetsSchema);
+var Loop = module.exports.Loop = mongoose.model('Loop', LoopSchema);
+var User = module.exports.User = mongoose.model('User', UserSchema);
+var Fave = module.exports.Fave = mongoose.model('Fave', FaveSchema);
+var Sound = module.exports.Sound = mongoose.model('Sound', SoundSchema);
+