45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
const moment = require('moment');
|
|
const { Expo } = require('expo-server-sdk');
|
|
const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper');
|
|
const models = require('../../core/models');
|
|
|
|
const extraMethods = {
|
|
isValidPushToken: (token) => {
|
|
return Expo.isExpoPushToken(token);
|
|
},
|
|
|
|
afterFetchAll: (result, params, context) => {
|
|
|
|
if (!result.count) {
|
|
return result;
|
|
}
|
|
|
|
let rows = result.rows.map(row => row.toJSON());
|
|
|
|
return {
|
|
count: result.count,
|
|
rows: rows
|
|
}
|
|
},
|
|
|
|
|
|
getPushToken: (params) => {
|
|
return models.UserDevice.findOne({
|
|
where: params,
|
|
});
|
|
},
|
|
|
|
_getActiveDeviceIds: async (offset = 0, limit = 10) => {
|
|
return models.UserDevice.findAndCountAll({
|
|
where: {
|
|
valid: 1,
|
|
},
|
|
raw: true,
|
|
limit: limit,
|
|
offset: offset,
|
|
});
|
|
},
|
|
};
|
|
|
|
module.exports = generateService(models.UserDevice, extraMethods);
|