feat(account.handler): add new API methods

This commit adds several new async functions to fetch wallet, user trades and all trades in `account.handler.ts`. This provides an interface for interacting with multiple new endpoints. Additionally, several import statements have been updated to reflect the changes.
This commit is contained in:
Mathis H (Avnyr) 2024-06-18 21:22:12 +02:00
parent faba9fa3cb
commit 00be94c5a8
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -1,15 +1,10 @@
"use client";
import type {
IApiLoginReq,
IApiLoginRes,
IApiRegisterReq,
IApiRegisterRes,
} from "@/interfaces/api.interface";
import type { IUserData } from "@/interfaces/userdata.interface";
import type { IApiAllTradesRes, IApiUserAssetsRes } from "@/interfaces/api.interface";
import { IUserWalletCryptos } from "@/interfaces/crypto.interface";
import { EReturnState, type IStandardisedReturn } from "@/interfaces/general.interface";
import type { IUserData, IUserWallet } from "@/interfaces/userdata.interface";
import ApiRequest from "@/services/apiRequest";
import { EReturnState, IStandardisedReturn } from "@/services/general.interface";
import { useLocalStorage } from "@/services/localStorage";
import type { Dispatch, SetStateAction } from "react";
//TODO Run disconnect task
@ -21,9 +16,97 @@ export function doDisconnect() {
return true;
}
console.log(
"Whut ? Why trying to remove an item from the localStorage when runner in SSR ?",
"Whut ? Why trying to remove an item from the localStorage when running in SSR ?",
);
return false;
}
//TODO Run update user data
export async function getWallet(): Promise<IStandardisedReturn<IApiUserAssetsRes>> {
try {
const ReqRes =
await ApiRequest.authenticated.get.json<IStandardisedReturn<IApiUserAssetsRes>>(
"user/my-assets",
);
console.log(ReqRes.data);
if (ReqRes.status !== 200) {
return {
state: EReturnState.clientError,
};
}
return {
state: EReturnState.done,
resolved: ReqRes.data,
};
} catch (err) {
return {
state: EReturnState.serverError,
};
}
}
export async function getUserTrades() {
try {
const ReqRes =
await ApiRequest.authenticated.get.json<IStandardisedReturn<IApiAllTradesRes>>(
"user/my-trades",
);
console.log(ReqRes.data);
if (ReqRes.status !== 200) {
return {
state: EReturnState.clientError,
};
}
return {
state: EReturnState.done,
resolved: ReqRes.data,
};
} catch (err) {
return {
state: EReturnState.serverError,
};
}
}
export async function getAlltrades() {
try {
const ReqRes =
await ApiRequest.authenticated.get.json<IStandardisedReturn<IApiAllTradesRes>>(
"trade/all",
);
console.log(ReqRes.data);
if (ReqRes.status !== 200) {
return {
state: EReturnState.clientError,
};
}
return {
state: EReturnState.done,
resolved: ReqRes.data,
};
} catch (err) {
return {
state: EReturnState.serverError,
};
}
}
export async function createTrade() {}
export async function getAllTrade() {}
export async function getUserTrade() {}
export async function getAllReferralCode() {}
export async function createReferralCode() {}
export async function getAllCryptos() {}
export async function getCryptoHistory(cryptoId: string) {}
export async function sellCrypto() {}
export async function buyCrypto() {}