|
import { useCallback, useEffect, useRef } from 'react';
|
|
|
|
import { useAsyncFetcher } from './useAsyncFetcher';
|
|
|
|
export function useApi() {
|
|
const asyncFetcher = useAsyncFetcher();
|
|
|
|
const v1 = {
|
|
login: useCallback(
|
|
async (args) => {
|
|
const { username, password } = args;
|
|
|
|
console.log('nik submitting with username', username);
|
|
console.log('nik submitting with password', password);
|
|
|
|
const ret = asyncFetcher.submit({ username, password }, { action: '/api/v1/login' });
|
|
return ret;
|
|
},
|
|
[asyncFetcher]
|
|
),
|
|
mongodb: {
|
|
rawResults: useCallback(
|
|
async (args) => {
|
|
const { query } = args;
|
|
|
|
console.log('submitting query', query);
|
|
|
|
const ret = asyncFetcher.submit({ query }, { action: '/api/v1/mongodb/raw-results' });
|
|
return ret;
|
|
},
|
|
[asyncFetcher]
|
|
)
|
|
}
|
|
};
|
|
|
|
const ret = {
|
|
v1
|
|
};
|
|
|
|
return ret;
|
|
}
|