Merge branch 'master' of wopr.rodax-software.com:lqdvi/app2-api
This commit is contained in:
commit
b6a8ce806f
@ -16,9 +16,9 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
cache: {
|
cache: {
|
||||||
enabled: false,
|
enabled: true,
|
||||||
defaultDuration: '1 minute',
|
defaultDuration: '1 minute',
|
||||||
debug: true,
|
debug: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -47,7 +47,8 @@ app.use(helmet());
|
|||||||
|
|
||||||
// enable CORS - Cross Origin Resource Sharing
|
// enable CORS - Cross Origin Resource Sharing
|
||||||
app.use(cors({
|
app.use(cors({
|
||||||
exposedHeaders: ['Content-Disposition', 'Content-Type', 'Content-Length'],
|
exposedHeaders: ['Content-Disposition', 'Content-Type', 'Content-Length',
|
||||||
|
'X-Total-Count', 'Pagination-Count', 'Pagination-Page', 'Pagination-Limit'],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,12 @@ const sequelize = new Sequelize(
|
|||||||
config.database, {
|
config.database, {
|
||||||
dialect: 'mysql',
|
dialect: 'mysql',
|
||||||
operatorAliases: false,
|
operatorAliases: false,
|
||||||
logging: false,
|
logging: config.debug,
|
||||||
|
pool: {
|
||||||
|
max: 140,
|
||||||
|
min: 0,
|
||||||
|
idle: 10000
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ const generalInvalidFields = [
|
|||||||
|
|
||||||
|
|
||||||
routes.get ('/entities/colleges',
|
routes.get ('/entities/colleges',
|
||||||
//cacheSuccesses('24 hours'),
|
cacheSuccesses('24 hours'),
|
||||||
// PaginateMiddleware.middleware(),
|
// PaginateMiddleware.middleware(),
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
invalidFields: generalInvalidFields
|
invalidFields: generalInvalidFields
|
||||||
@ -49,7 +49,6 @@ routes.get ('/entities/partners',
|
|||||||
*/
|
*/
|
||||||
routes.get('/admin/entities',
|
routes.get('/admin/entities',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
cacheSuccesses('24 hours'),
|
|
||||||
// FieldMiddleware.middleware({
|
// FieldMiddleware.middleware({
|
||||||
// invalidFields: generalInvalidFields
|
// invalidFields: generalInvalidFields
|
||||||
// }),
|
// }),
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const httpStatus = require('http-status');
|
const httpStatus = require('http-status');
|
||||||
|
const moment = require('moment');
|
||||||
const generateControllers = require('../../core/controllers');
|
const generateControllers = require('../../core/controllers');
|
||||||
const { buildContext } = require('../../core/controllers');
|
const { buildContext } = require('../../core/controllers');
|
||||||
const notificationService = require('./notification.service');
|
const notificationService = require('./notification.service');
|
||||||
@ -45,7 +45,7 @@ const extraControllers = {
|
|||||||
let sendNotificationsPromise = (messages) => notificationService.sendNotification(messages);
|
let sendNotificationsPromise = (messages) => notificationService.sendNotification(messages);
|
||||||
let disableUserDevicePromise = (token) => userDeviceService.update({ params: {
|
let disableUserDevicePromise = (token) => userDeviceService.update({ params: {
|
||||||
token: token,
|
token: token,
|
||||||
}}, { valid: false }, context);
|
}}, { valid: 0, invalidated: moment() }, context);
|
||||||
|
|
||||||
let disableInvalidUserDevicesPromise = (userDevices) => {
|
let disableInvalidUserDevicesPromise = (userDevices) => {
|
||||||
return new Promise(function (resolve) {
|
return new Promise(function (resolve) {
|
||||||
@ -76,11 +76,13 @@ const extraControllers = {
|
|||||||
let saveResponseStatusPromise = (messages, tickets) => notificationDetailService.saveNotificationDetails(messages, tickets);
|
let saveResponseStatusPromise = (messages, tickets) => notificationDetailService.saveNotificationDetails(messages, tickets);
|
||||||
|
|
||||||
const notificationRecord = {
|
const notificationRecord = {
|
||||||
|
date: moment(),
|
||||||
title: req.body.title,
|
title: req.body.title,
|
||||||
body: req.body.message,
|
body: req.body.message,
|
||||||
ttl: req.body.ttl || undefined,
|
ttl: req.body.ttl || undefined,
|
||||||
priority: req.body.priority || 'default',
|
priority: req.body.priority || 'default',
|
||||||
data: req.body.data || { userIds: req.body.userIds },
|
data: req.body.data || { userIds: req.body.userIds },
|
||||||
|
userId: context.user.id,
|
||||||
};
|
};
|
||||||
|
|
||||||
let buildMessagesPromise = (userDevices) => {
|
let buildMessagesPromise = (userDevices) => {
|
||||||
@ -95,9 +97,10 @@ const extraControllers = {
|
|||||||
priority: notificationRecord.priority,
|
priority: notificationRecord.priority,
|
||||||
userId: userDevice.userId,
|
userId: userDevice.userId,
|
||||||
to: userDevice.token,
|
to: userDevice.token,
|
||||||
sound: 'default',
|
|
||||||
notificationId: notificationRecord.id,
|
notificationId: notificationRecord.id,
|
||||||
data: notificationRecord.data,
|
data: notificationRecord.data,
|
||||||
|
_displayInForeground: true,
|
||||||
|
sound: 'default',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -196,7 +199,7 @@ const extraControllers = {
|
|||||||
} else {
|
} else {
|
||||||
// Actualizar el token
|
// Actualizar el token
|
||||||
console.log('>> Actualizar el token', params.params, data, context);
|
console.log('>> Actualizar el token', params.params, data, context);
|
||||||
result = await userDeviceService.update(params.params, data, context);
|
result = await userDeviceService.update(params, { valid : 1 }, context);
|
||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
|
|||||||
@ -5,6 +5,10 @@ module.exports = function (sequelize, DataTypes) {
|
|||||||
defaultValue: DataTypes.UUIDV4,
|
defaultValue: DataTypes.UUIDV4,
|
||||||
primaryKey: true,
|
primaryKey: true,
|
||||||
},
|
},
|
||||||
|
date: {
|
||||||
|
type: DataTypes.DATE,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
title: {
|
title: {
|
||||||
type: DataTypes.STRING,
|
type: DataTypes.STRING,
|
||||||
allowNull: true,
|
allowNull: true,
|
||||||
|
|||||||
@ -4,6 +4,7 @@ const { isAdministratorUser, isLoggedUser } = require('../../middlewares/accessV
|
|||||||
const SchemaValidator = require('../../middlewares/schemaValidator');
|
const SchemaValidator = require('../../middlewares/schemaValidator');
|
||||||
const PaginateMiddleware = require('../../middlewares/paginate');
|
const PaginateMiddleware = require('../../middlewares/paginate');
|
||||||
const FieldMiddleware = require('../../middlewares/fields');
|
const FieldMiddleware = require('../../middlewares/fields');
|
||||||
|
const SortMiddleware = require('../../middlewares/sort');
|
||||||
const notificationController = require('./notification.controller');
|
const notificationController = require('./notification.controller');
|
||||||
const { deviceTokenInputType, notificationSendType } = require('./notification.validations');
|
const { deviceTokenInputType, notificationSendType } = require('./notification.validations');
|
||||||
|
|
||||||
@ -11,18 +12,19 @@ const generalInvalidFields = [
|
|||||||
'createdAt', 'updatedAt',
|
'createdAt', 'updatedAt',
|
||||||
];
|
];
|
||||||
|
|
||||||
routes.get('/notifications',
|
routes.get('/admin/notifications',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
invalidFields: generalInvalidFields
|
invalidFields: generalInvalidFields
|
||||||
}),
|
}),
|
||||||
|
SortMiddleware.middleware({ default: "-date" }),
|
||||||
PaginateMiddleware.middleware(),
|
PaginateMiddleware.middleware(),
|
||||||
notificationController.find({
|
notificationController.find({
|
||||||
scopes: ['defaultScope']
|
scopes: ['defaultScope']
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
routes.get('/notifications/:id',
|
routes.get('/admin/notifications/:id',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
invalidFields: generalInvalidFields
|
invalidFields: generalInvalidFields
|
||||||
@ -32,7 +34,7 @@ routes.get('/notifications/:id',
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
routes.post('/notifications',
|
routes.post('/admin/notifications',
|
||||||
isAdministratorUser,
|
isAdministratorUser,
|
||||||
SchemaValidator(notificationSendType, true),
|
SchemaValidator(notificationSendType, true),
|
||||||
notificationController.sendNotification({
|
notificationController.sendNotification({
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
const moment = require('moment');
|
|
||||||
const { Expo } = require('expo-server-sdk');
|
const { Expo } = require('expo-server-sdk');
|
||||||
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
||||||
const models = require('../../core/models');
|
const models = require('../../core/models');
|
||||||
|
|||||||
@ -18,7 +18,7 @@ const generalInvalidFields = [
|
|||||||
// Todos los ponentes
|
// Todos los ponentes
|
||||||
routes.get('/speakers',
|
routes.get('/speakers',
|
||||||
isLoggedUser,
|
isLoggedUser,
|
||||||
//cacheSuccesses('1 minute'),
|
cacheSuccesses('24 hours'),
|
||||||
FieldMiddleware.middleware({
|
FieldMiddleware.middleware({
|
||||||
invalidFields: generalInvalidFields
|
invalidFields: generalInvalidFields
|
||||||
}),
|
}),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user