'use strict';
/**
* Event
* Событие, происходящее в определенное время в определенном месте.
*
* @see http://ruschema.org/Event
*
*/
var mongoose = require('mongoose');
var extend = require('mongoose-schema-extend');
var parentModel = require('./thing');
var Model = function () {
/**
* Получение базовой коллекции
* @type {Mongoose.Schema}
*/
var Parent = mongoose.model('Thing').schema;
var _Schema = Parent.extend(
{
/**
* Длительность (фильма, аудиозаписи, мероприятия и т.д.)
* в Формате даты ISO 8601.
* @see http://en.wikipedia.org/wiki/ISO_8601
*/
duration: {},
/**
* Дата и время начала события (в Формате даты ISO 8601 ).
*/
startDate: { type: Date },
/**
* Конечная дата и время события (в Формате даты ISO 8601).
*/
endDate: { type: Date },
/**
* Человек или организация, принимающие участие
*/
atendee: {},
/**
* Люди или организации, принимающие участие.
* (В единственном числе см. attendee).
* Person or Organization
*/
attendees: [],
/**
* Местоположение события или организации.
* Если организация (или филиал) располагаются в торговом центре,
* то его название необходимо указывать в этом поле.
* Place or PostalAddress
*/
location: [],
/**
* Предложение о продаже —
* например, предложение о продаже продукта,
* DVD с фильмом или билетов на мероприятие.
*/
offers: [],
/**
* Основной исполнитель на мероприятии,
* например ведущий, музыкант или актер.
*
* Организатор (или главный исполнитель) мероприятия
*/
performer: {},
/**
* Организаторы (или главные исполнители) мероприятия
*
* Основной исполнитель или исполнители на мероприятии,
* например ведущий, музыкант или актер (в единственном числе см. performer)
* Person or Organizations
*/
performers: [],
/**
* Спонсоры мероприятия, события
*/
sponsors: []
},
{
collection: 'events',
descriminationKey: '_type'
});
return mongoose.model('Event', _Schema);
};
module.exports = new Model();