UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

43 lines (33 loc) 1.24 kB
/* @flow */ import { WhereNowArguments, WhereNowResponse, ModulesInject } from '../../flow_interfaces'; import operationConstants from '../../constants/operations'; import utils from '../../utils'; export function getOperation(): string { return operationConstants.PNWhereNowOperation; } export function validateParams(modules: ModulesInject) { let { config } = modules; if (!config.subscribeKey) return 'Missing Subscribe Key'; } export function getURL(modules: ModulesInject, incomingParams: WhereNowArguments): string { let { config } = modules; let { uuid = config.UUID } = incomingParams; return `/v2/presence/sub-key/${config.subscribeKey}/uuid/${utils.encodeString(uuid)}`; } export function getRequestTimeout({ config }: ModulesInject) { return config.getTransactionTimeout(); } export function isAuthSupported() { return true; } export function prepareParams(): Object { return {}; } export function handleResponse(modules: ModulesInject, serverResponse: Object): WhereNowResponse { // This is a quick fix for when the server does not include a payload // in where now responses if (!serverResponse.payload) { return { channels: [] }; } return { channels: serverResponse.payload.channels }; }