Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/updaters/device-token-updaters.js
// @flow | // @flow | ||||
import { | import { type DeviceTokenUpdateRequest } from 'lib/types/device-types.js'; | ||||
type DeviceTokenUpdateRequest, | |||||
isDeviceType, | |||||
} from 'lib/types/device-types.js'; | |||||
import { ServerError } from 'lib/utils/errors.js'; | import { ServerError } from 'lib/utils/errors.js'; | ||||
import { dbQuery, SQL } from '../database/database.js'; | import { dbQuery, SQL } from '../database/database.js'; | ||||
import type { Viewer } from '../session/viewer.js'; | import type { Viewer } from '../session/viewer.js'; | ||||
async function deviceTokenUpdater( | async function deviceTokenUpdater( | ||||
viewer: Viewer, | viewer: Viewer, | ||||
update: DeviceTokenUpdateRequest, | update: DeviceTokenUpdateRequest, | ||||
): Promise<void> { | ): Promise<void> { | ||||
const deviceType = update.platformDetails?.platform ?? update.deviceType; | const deviceType = update.platformDetails?.platform ?? update.deviceType; | ||||
if (!isDeviceType(deviceType)) { | if (deviceType === undefined) { | ||||
throw new ServerError('invalid_parameters'); | throw new ServerError('invalid_parameters'); | ||||
} | } | ||||
viewer.setDeviceToken(update.deviceToken); | viewer.setDeviceToken(update.deviceToken); | ||||
await clearDeviceToken(update.deviceToken); | await clearDeviceToken(update.deviceToken); | ||||
const setColumns = {}; | const setColumns = {}; | ||||
setColumns.device_token = update.deviceToken; | setColumns.device_token = update.deviceToken; | ||||
Show All 24 Lines |