var mongoose = require('mongoose-q')(require('mongoose'));
var Schema = mongoose.Schema;

var GameSchema = new Schema({
    name: {
        type: String,
        trim: true
    },
    media: {
        boxArt: {
            front: String,
            rear: String
        },
        thumbnails: [String],
        logos: [String],
        banners: [String],
        fanArt: [String],
        screenshots: [String],
        trailers: [String]
    },
    editors: [{type: Schema.Types.ObjectId, ref: 'Editor'}],
    developers: [{type: Schema.Types.ObjectId, ref: 'Developer'}],
    genres: [{type: Schema.Types.ObjectId, ref: 'Genre'}],
    platforms: [{type: Schema.Types.ObjectId, ref: 'Platform'}],
    overview: String,
    releaseDate: Date,
    creationDate: {
        type: Date,
        default: Date.now
    },
    updatedDate: Date,
    metacritic: {
        score: Number,
        url: String
    },
    percentage: Number
}, {strict: true});

module.exports = mongoose.model('Game', GameSchema);
@@ -121,24 +121,23 @@
     
-name: %7B%0A        
+defaultTitle: %7B
 type
@@ -145,24 +145,16 @@
  String,
-%0A       
  trim: t
@@ -160,280 +160,372 @@
 true
-%0A    %7D,%0A    media: %7B%0A        boxArt: %7B%0A            front: String,%0A            rear: String%0A        %7D,%0A        thumbnails: %5BString%5D,%0A        logos: %5BString%5D,%0A        banners: %5BString%5D,%0A        fanArt
+, required: true%7D,%0A    overview: String,%0A    titles: %5B%7Bname: %7Btype: String, trim: true%7D, countryCode: %7Btype: String, uppercase: true, match: /%5BA-Z%5D%7B3%7D/%7D%7D%5D,%0A    releaseDate: %5B%7Bdate: Date, countryCode: %7Btype: String, uppercase: true, match: /%5BA-Z%5D%7B3%7D/%7D%7D%5D,%0A    versions: %5B%7Bnumber
 : 
-%5B
 String
-%5D,%0A        screenshots
+, date: Date, description
 : 
-%5B
 String
+%7D
 %5D,%0A    
-    trailers
+metacritic: %7Bscore: Number, url
 : 
-%5B
 String
-%5D%0A    
 %7D,%0A 
@@ -783,162 +783,205 @@
     
-overview: String,%0A    releaseDate: Date,%0A
+media: %7B%0A        boxArt: %7B%0A            front: String,%0A        
     
-c
 rea
-tionDate: %7B%0A        type: Date,%0A        default: Date.now%0A    %7D,%0A    updatedDate: Date,%0A    metacritic: %7B
+r: String%0A        %7D,%0A        thumbnails: %5BString%5D,%0A        logos: %5BString%5D,%0A        banners: %5BString%5D,%0A        fanArt: %5BString%5D,
 %0A   
@@ -987,27 +987,35 @@
       sc
-o
 re
-: Number
+enshots: %5BString%5D
 ,%0A      
@@ -1020,27 +1020,34 @@
     
-url
+trailers
 : 
+%5B
 String
+%5D
 %0A    %7D,%0A
     
@@ -1046,30 +1046,135 @@
  %7D,%0A
-    percentage: Number
+%0A    // Applicative attributes%0A    percentage: Number,%0A    updatedDate: Date,%0A    creationDate: %7Btype: Date, default: Date.now%7D
 %0A%7D, 

Fix issues #6 #7 and #8