All files / src main.js

100% Statements 12/12
100% Branches 0/0
100% Functions 6/6
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81            1x                           1x 1x           1x                     1x 1x                       1x 1x                   3x 3x                     1x 1x          
import auth from './auth'
import { generateQR } from './payment/QR/generateQR'
import { generateNotificationPush } from './payment/notificationPush/unregisteredPayments'
import { getStatusPayment } from './payment/getStatusPayment'
import { reverseTransaction } from './reverse/reverseTransaction'
 
const defaultOptions = {
  clientId: null,
  clientSecret: null,
  apiKey: null,
  token: null,
  authUri: 'https://oauth.sandbox.nequi.com/oauth2/token',
  authGrantType: 'client_credentials',
  apiBasePath: 'https://api.sandbox.nequi.com',
}
 
export default {
  install (Vue, options) {
    
    // merge default options with arg options
    const userOptions = { ...defaultOptions, ...options }
    Vue.prototype.$nequi = {
      /**
       * Obtener token de autenticación
       * @returns {Promise<*>}
       */
      getToken: async function () {
        return await auth.getToken(userOptions)
      },
      
      /**
       * Generar código Qr
       * @param value
       * @param messageID
       * @param reference
       * @returns {Promise<string>}
       */
      generateQR: async function ({ value, messageID, reference }) {
        userOptions.token = await auth.getToken(userOptions)
        return await generateQR(userOptions, { value, messageID, reference })
      },
  
      /**
       * Generar Notificación Push
       * @param phoneNumber
       * @param value
       * @param messageID
       * @param reference
       * @returns {Promise<string>}
       */
      generateNotificationPush: async function ({ phoneNumber,value, messageID, reference }) {
        userOptions.token = await auth.getToken(userOptions)
        return await generateNotificationPush(userOptions, { phoneNumber, value, messageID, reference })
      },
      
      /**
       * Verificar el estado de una transacción por QR
       * @param code
       * @param messageID
       * @returns {Promise<{phoneNumber: string, status: string}>}
       */
      getStatusPayment: async function ({ code, messageID }) {
        userOptions.token = await auth.getToken(userOptions)
        return await getStatusPayment(userOptions, { code, messageID })
      },
      
      /**
       * Reversar una transacción por QR
       * @param value
       * @param messageID
       * @param phoneNumber
       * @returns {Promise<boolean>}
       */
      reverseTransaction: async function ({value,messageID,phoneNumber}) {
        userOptions.token = await auth.getToken(userOptions)
        return await reverseTransaction(userOptions, {value,messageID,phoneNumber})
      }
    }
  }
}