UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

59 lines (46 loc) 1.52 kB
/* @flow */ import { RemoveMessageActionInput, RemoveMessageActionResponse, ModulesInject, } from '../../flow_interfaces'; import operationConstants from '../../constants/operations'; import utils from '../../utils'; export function getOperation(): string { return operationConstants.PNRemoveMessageActionOperation; } export function validateParams( { config }: ModulesInject, incomingParams: RemoveMessageActionInput ) { let { channel, actionTimetoken, messageTimetoken } = incomingParams; if (!messageTimetoken) return 'Missing message timetoken'; if (!actionTimetoken) return 'Missing action timetoken'; if (!config.subscribeKey) return 'Missing Subscribe Key'; if (!channel) return 'Missing message channel'; } export function useDelete() { return true; } export function getURL( { config }: ModulesInject, incomingParams: RemoveMessageActionInput ): string { let { channel, actionTimetoken, messageTimetoken } = incomingParams; return `/v1/message-actions/${config.subscribeKey}/channel/${utils.encodeString(channel)}/message/${messageTimetoken}/action/${actionTimetoken}`; } export function getRequestTimeout({ config }: ModulesInject) { return config.getTransactionTimeout(); } export function isAuthSupported() { return true; } export function prepareParams(): Object { return {}; } export function handleResponse( modules: ModulesInject, removeMessageActionResponse: Object ): RemoveMessageActionResponse { return { data: removeMessageActionResponse.data }; }