The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/server/services/push/tokenManagement/findDocumentToUpdate.ts

22 lines
543 B

import type { IPushToken } from '@rocket.chat/core-typings';
import { PushToken } from '@rocket.chat/models';
export async function findDocumentToUpdate(data: Partial<IPushToken>): Promise<IPushToken | null> {
if (data._id) {
const existingDoc = await PushToken.findOneById(data._id);
if (existingDoc) {
return existingDoc;
}
}
// VoIP tokens MUST match the id
if (data.voipToken) {
return null;
}
if (data.token && data.appName) {
return PushToken.findOneByTokenAndAppName(data.token, data.appName);
}
return null;
}