a
This commit is contained in:
parent
3cf312d777
commit
0e2c17967e
@ -14,6 +14,7 @@ const CDN_PATHS = {
|
|||||||
SPEAKERS: "speakers/",
|
SPEAKERS: "speakers/",
|
||||||
WALLPAPERS: "wallpapers/",
|
WALLPAPERS: "wallpapers/",
|
||||||
XLSX: "xlsx/",
|
XLSX: "xlsx/",
|
||||||
|
PARTNERS: "partners/",
|
||||||
};
|
};
|
||||||
const dummyMedia = encodeURI(`${assetsUrl}/defaultProfile.png`);
|
const dummyMedia = encodeURI(`${assetsUrl}/defaultProfile.png`);
|
||||||
|
|
||||||
@ -39,6 +40,9 @@ const getCDNMediaUrl = (mediaUri) => {
|
|||||||
|
|
||||||
const getCDNCityMediaUrl = (cityName) => encodeURI(`${assetsUrl}/${CDN_PATHS.CITIES}/${cityName}.jpg`);
|
const getCDNCityMediaUrl = (cityName) => encodeURI(`${assetsUrl}/${CDN_PATHS.CITIES}/${cityName}.jpg`);
|
||||||
|
|
||||||
|
const getCDNCurrentPartnersJSON = encodeURI(`${assetsUrl}/${CDN_PATHS.PARTNERS}partners_current.json`);
|
||||||
|
const getCDNPastPartnersJSON = encodeURI(`${assetsUrl}/${CDN_PATHS.PARTNERS}partners_past.json`);
|
||||||
|
|
||||||
const getCDNPath = (type = '') => {
|
const getCDNPath = (type = '') => {
|
||||||
var cdnPath = '';
|
var cdnPath = '';
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -57,6 +61,10 @@ const getCDNPath = (type = '') => {
|
|||||||
cdnPath = CDN_PATHS.XLSX;
|
cdnPath = CDN_PATHS.XLSX;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'partners':
|
||||||
|
cdnPath = CDN_PATHS.PARTNERS;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
var _date = new Date();
|
var _date = new Date();
|
||||||
cdnPath = _date.getFullYear() + '/' + (_date.getMonth() + 1) + '/';
|
cdnPath = _date.getFullYear() + '/' + (_date.getMonth() + 1) + '/';
|
||||||
@ -94,5 +102,7 @@ module.exports = {
|
|||||||
getCDNMediaUrl,
|
getCDNMediaUrl,
|
||||||
getCDNPath,
|
getCDNPath,
|
||||||
getCDNFilenameWithPath,
|
getCDNFilenameWithPath,
|
||||||
|
getCDNCurrentPartnersJSON,
|
||||||
|
getCDNPastPartnersJSON,
|
||||||
getUniqueName
|
getUniqueName
|
||||||
}
|
}
|
||||||
@ -11,8 +11,8 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
},
|
},
|
||||||
phone: {
|
phone: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.STRING,
|
||||||
unique: true
|
unique: true,
|
||||||
// allowNull: false, //Tiene que poderse dar de alta usuarios solo con el correo electronico para que siga funcionando las invitaciones por web como hasta ahora
|
allowNull: true, //Tiene que poderse dar de alta usuarios solo con el correo electronico para que siga funcionando las invitaciones por web como hasta ahora
|
||||||
},
|
},
|
||||||
email: {
|
email: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.STRING,
|
||||||
|
|||||||
@ -4,26 +4,26 @@ const Sequelize = require('sequelize');
|
|||||||
moment.locale('es');
|
moment.locale('es');
|
||||||
|
|
||||||
const getStateCode = (event) => {
|
const getStateCode = (event) => {
|
||||||
var currentDate = moment().utc(),
|
var currentDate = moment(),
|
||||||
initDate = moment.utc(event.ini_date),
|
initDate = moment(event.init_date),
|
||||||
endDate = moment.utc(event.end_date),
|
endDate = moment(event.end_date),
|
||||||
init_availableDate = moment.utc(event.init_available_date),
|
init_availableDate = moment(event.init_available_date),
|
||||||
end_availableDate = moment.utc(event.end_available_date);
|
end_availableDate = moment(event.end_available_date);
|
||||||
|
|
||||||
if (moment(currentDate).isBetween(initDate, endDate)) {
|
if (currentDate.isBetween(initDate, endDate)) {
|
||||||
return 'current_event';
|
return 'current_event';
|
||||||
} else {
|
} else {
|
||||||
if (moment(endDate).isBefore(currentDate)) {
|
if (endDate.isBefore(currentDate)) {
|
||||||
return 'closed_event';
|
return 'closed_event';
|
||||||
} else {
|
} else {
|
||||||
if (moment(currentDate).isBefore(init_availableDate)){
|
if (currentDate.isBefore(init_availableDate)){
|
||||||
return 'future_registrations'
|
return 'future_registrations'
|
||||||
} else {
|
} else {
|
||||||
if (moment(currentDate).isBetween(init_availableDate, end_availableDate)) {
|
if (currentDate.isBetween(init_availableDate, end_availableDate)) {
|
||||||
return (event.sold_out == 1) ? 'waitinglist_open' : 'registrations_open';
|
return (event.sold_out == 1) ? 'waitinglist_open' : 'registrations_open';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (moment(currentDate).isAfter(end_availableDate))
|
if (currentDate.isAfter(end_availableDate))
|
||||||
return 'closed_registrations'
|
return 'closed_registrations'
|
||||||
else
|
else
|
||||||
return 'N/A';
|
return 'N/A';
|
||||||
@ -34,28 +34,27 @@ const getStateCode = (event) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const getStateText = (event) => {
|
const getStateText = (event) => {
|
||||||
var currentDate = moment().utc(),
|
var currentDate = moment(),
|
||||||
initDate = moment.utc(event.ini_date),
|
initDate = moment(event.init_date),
|
||||||
endDate = moment.utc(event.end_date),
|
endDate = moment(event.end_date),
|
||||||
init_availableDate = moment.utc(event.init_available_date),
|
init_availableDate = moment(event.init_available_date),
|
||||||
end_availableDate = moment.utc(event.end_available_date);
|
end_availableDate = moment(event.end_available_date);
|
||||||
|
|
||||||
if (moment(currentDate).isBetween(initDate, endDate)) {
|
if (currentDate.isBetween(initDate, endDate)) {
|
||||||
return 'Congreso en curso';
|
return 'Congreso en curso';
|
||||||
} else {
|
} else {
|
||||||
if (moment(endDate).isBefore(currentDate)) {
|
if (endDate.isBefore(currentDate)) {
|
||||||
return 'Congreso finalizado';
|
return 'Congreso finalizado';
|
||||||
} else {
|
} else {
|
||||||
if (moment(currentDate).isBefore(init_availableDate)) {
|
if (currentDate.isBefore(init_availableDate)) {
|
||||||
return 'Inscripciones a partir del ' + moment(init_availableDate).format('D [de] MMMM');
|
return 'Inscripciones a partir del ' + init_availableDate.format('D [de] MMMM');
|
||||||
} else {
|
} else {
|
||||||
if (moment(currentDate).isBetween(init_availableDate, end_availableDate)) {
|
if (currentDate.isBetween(init_availableDate, end_availableDate)) {
|
||||||
return (event.sold_out == 1) ? 'Inscripciones abiertas a lista de espera' : 'Inscripciones abiertas';
|
return (event.sold_out == 1) ? 'Inscripciones abiertas a lista de espera' : 'Inscripciones abiertas';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (moment(currentDate).isAfter(end_availableDate))
|
if (currentDate.isAfter(end_availableDate))
|
||||||
return 'Inscripciones cerradas'
|
return 'Inscripciones cerradas'
|
||||||
else
|
else
|
||||||
return 'N/A';
|
return 'N/A';
|
||||||
@ -317,7 +316,7 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
Event.addScope('next', {
|
Event.addScope('next', {
|
||||||
where: {
|
where: {
|
||||||
init_date: {
|
init_date: {
|
||||||
[Sequelize.Op.gte]: moment().add(1, 'days').startOf('day').utc()
|
[Sequelize.Op.gte]: moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -325,8 +324,8 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
Event.addScope('today', {
|
Event.addScope('today', {
|
||||||
where: {
|
where: {
|
||||||
init_date: {
|
init_date: {
|
||||||
[Sequelize.Op.gte]: moment().startOf('day'),
|
[Sequelize.Op.gte]: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
[Sequelize.Op.lt]: moment().add(1, 'days').startOf('day'),
|
[Sequelize.Op.lt]: moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -334,18 +333,36 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
Event.addScope('current', {
|
Event.addScope('current', {
|
||||||
where: {
|
where: {
|
||||||
init_date: {
|
init_date: {
|
||||||
[Sequelize.Op.lte]: moment().utc(),
|
[Sequelize.Op.lte]: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
},
|
},
|
||||||
end_date:{
|
end_date:{
|
||||||
[Sequelize.Op.gt]: moment().utc(),
|
[Sequelize.Op.gt]: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Event.addScope('tomorrow', {
|
||||||
|
where: {
|
||||||
|
init_date: {
|
||||||
|
[Sequelize.Op.gte]: moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
[Sequelize.Op.lt]: moment().add(2, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Event.addScope('yesterday', {
|
||||||
|
where: {
|
||||||
|
init_date: {
|
||||||
|
[Sequelize.Op.gte]: moment().add(-1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
[Sequelize.Op.lt]: moment().add('day').startOf('day').format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Event.addScope('past', {
|
Event.addScope('past', {
|
||||||
where: {
|
where: {
|
||||||
init_date: {
|
init_date: {
|
||||||
[Sequelize.Op.lt]: moment().startOf('day').utc()
|
[Sequelize.Op.lt]: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -353,10 +370,10 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
Event.addScope('withOpenInscriptions', {
|
Event.addScope('withOpenInscriptions', {
|
||||||
where: {
|
where: {
|
||||||
init_available_date: {
|
init_available_date: {
|
||||||
[Sequelize.Op.lte]: moment().utc()
|
[Sequelize.Op.lte]: moment().format('YYYY-MM-DD HH:mm:ss')
|
||||||
},
|
},
|
||||||
end_available_date: {
|
end_available_date: {
|
||||||
[Sequelize.Op.gt]: moment().utc()
|
[Sequelize.Op.gt]: moment().format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -57,7 +57,7 @@ routes.get('/events/next',
|
|||||||
PaginateMiddleware.middleware(),
|
PaginateMiddleware.middleware(),
|
||||||
SortMiddleware.middleware({ default: "init_date" }),
|
SortMiddleware.middleware({ default: "init_date" }),
|
||||||
(req, res, next) => {
|
(req, res, next) => {
|
||||||
// console.log(moment().add(1, 'days').startOf('day').utc());
|
// console.log(moment().add(1, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss'));
|
||||||
return eventController.find({
|
return eventController.find({
|
||||||
scopes: ['defaultScope', 'next', 'includeVenue', 'includeMultimedias', { method: ['includeInscription', req.user.id] }],
|
scopes: ['defaultScope', 'next', 'includeVenue', 'includeMultimedias', { method: ['includeInscription', req.user.id] }],
|
||||||
})(req, res, next)
|
})(req, res, next)
|
||||||
@ -78,6 +78,19 @@ routes.get('/events/past',
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
routes.get('/events/yesterday',
|
||||||
|
isLoggedUser,
|
||||||
|
FieldMiddleware.middleware({
|
||||||
|
invalidFields: generalInvalidFields
|
||||||
|
}),
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "-init_date" }),
|
||||||
|
eventController.find({
|
||||||
|
scopes: ['defaultScope', 'yesterday', 'includeVenue', 'includeMultimedias', 'includeDetails'],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
routes.get('/events/today',
|
routes.get('/events/today',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
@ -90,6 +103,18 @@ routes.get('/events/today',
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
routes.get('/events/tomorrow',
|
||||||
|
isLoggedUser,
|
||||||
|
FieldMiddleware.middleware({
|
||||||
|
invalidFields: generalInvalidFields
|
||||||
|
}),
|
||||||
|
PaginateMiddleware.middleware(),
|
||||||
|
SortMiddleware.middleware({ default: "-init_date" }),
|
||||||
|
eventController.find({
|
||||||
|
scopes: ['defaultScope', 'tomorrow', 'includeVenue', 'includeMultimedias', 'includeDetails'],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
routes.get('/events/current',
|
routes.get('/events/current',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
|
|||||||
@ -27,7 +27,7 @@ const ReservationInputType = Joi.object().keys({
|
|||||||
const EventQuestionInputType = Joi.object().keys({
|
const EventQuestionInputType = Joi.object().keys({
|
||||||
//eventId: Joi.string().required(),
|
//eventId: Joi.string().required(),
|
||||||
speakerId: Joi.string().required(),
|
speakerId: Joi.string().required(),
|
||||||
answer: Joi.string().required(),
|
question: Joi.string().required(),
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
@ -10,8 +10,12 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
defaultValue: DataTypes.UUIDV4,
|
defaultValue: DataTypes.UUIDV4,
|
||||||
primaryKey: true,
|
primaryKey: true,
|
||||||
},
|
},
|
||||||
description: {
|
question: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.TEXT,
|
||||||
|
allowNull: true
|
||||||
|
},
|
||||||
|
answer: {
|
||||||
|
type: DataTypes.TEXT,
|
||||||
},
|
},
|
||||||
anonimous: {
|
anonimous: {
|
||||||
type: DataTypes.BOOLEAN,
|
type: DataTypes.BOOLEAN,
|
||||||
@ -25,10 +29,6 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
type: DataTypes.BOOLEAN,
|
type: DataTypes.BOOLEAN,
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
},
|
},
|
||||||
answer: {
|
|
||||||
type: DataTypes.TEXT,
|
|
||||||
allowNull: true
|
|
||||||
},
|
|
||||||
}, {
|
}, {
|
||||||
tableName: 'events_questions',
|
tableName: 'events_questions',
|
||||||
freezeTableName: true,
|
freezeTableName: true,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user