mtn-momo-client
Version:
A collection of utils to interact with the mtn-momo api
34 lines (26 loc) • 969 B
text/typescript
import { AxiosInstance } from 'axios';
import { urlPathFrom } from '../client';
type CreateAPIKeyOptions = {
/** A uuid which corresponds to the id of the user whose api key is to be created */
userId: string;
/** The instance to use while making the api request */
client: AxiosInstance;
};
type CreateAPIKeyResult = {
/** The key to be used in the authentication header when requesting for an access token */
apiKey: string;
};
/**
* Create a key to use in the authentication header when requesting for an access token
* @param {CreateAPIKeyOptions} options properties needed to create an api key
* @returns {Promise<CreateAPIKeyResult>} An object containing the created apiKey
*/
const createAPIKey = async ({
userId,
client,
}: CreateAPIKeyOptions): Promise<CreateAPIKeyResult> => {
const path = urlPathFrom([userId, 'apikey']);
const { data } = await client.post<CreateAPIKeyResult>(path);
return data;
};
export { createAPIKey };