UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

42 lines (29 loc) 1.12 kB
/** @flow */ import type { EndpointConfig } from '../endpoint'; import operationConstants from '../../constants/operations'; import type { DeleteFileParams, DeleteFileResult } from './types'; import utils from '../../utils'; const endpoint: EndpointConfig<DeleteFileParams, DeleteFileResult> = { getOperation: () => operationConstants.PNListFilesOperation, validateParams: (_, params) => { if (!params?.channel) { return "channel can't be empty"; } if (!params?.id) { return "file id can't be empty"; } if (!params?.name) { return "file name can't be empty"; } }, useDelete: () => true, getURL: ({ config }, params) => `/v1/files/${config.subscribeKey}/channels/${utils.encodeString(params.channel)}/files/${params.id}/${params.name}`, getRequestTimeout: ({ config }) => config.getTransactionTimeout(), isAuthSupported: () => true, getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'), prepareParams: () => ({}), handleResponse: (_, response): DeleteFileResult => ({ status: response.status, }), }; export default endpoint;