From 87245c702ed51b24eea2c9d35013ff77fee6e377 Mon Sep 17 00:00:00 2001 From: Mathis Date: Tue, 18 Jun 2024 22:49:07 +0200 Subject: [PATCH] feat(service): implement trade and referral code functions in account handler The commit introduces implementation for functions handling trading and referral codes in account.handler.ts. These includes `createTrade`, `getAllTrade`, `getUserTrade`, `getAllReferralCode`, `createReferralCode` functions. The update improves the overall functionality of trade and promotional related processes. A new interface `IAllReferralCodeRes` is also imported for referral code response. --- src/services/account.handler.ts | 96 ++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 6 deletions(-) diff --git a/src/services/account.handler.ts b/src/services/account.handler.ts index a0904d7..ced5ebf 100644 --- a/src/services/account.handler.ts +++ b/src/services/account.handler.ts @@ -1,6 +1,6 @@ "use client"; -import type { IApiAllTradesRes, IApiUserAssetsRes } from "@/interfaces/api.interface"; +import type {IAllReferralCodeRes, 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"; @@ -93,15 +93,99 @@ export async function getAlltrades() { } } -export async function createTrade() {} +export async function createTrade(data: any) { + const ReqRes = + await ApiRequest.authenticated.post.json>( + "trade/create", + { -export async function getAllTrade() {} + } + ); + console.log(ReqRes.data); -export async function getUserTrade() {} + if (ReqRes.status !== 200) { + return { + state: EReturnState.clientError, + }; + } + return { + state: EReturnState.done, + resolved: ReqRes.data, + }; +} -export async function getAllReferralCode() {} +export async function getAllTrade() { + const ReqRes = + await ApiRequest.authenticated.get.json>( + "trade/all", + ); + console.log(ReqRes.data); -export async function createReferralCode() {} + if (ReqRes.status !== 200) { + return { + state: EReturnState.clientError, + }; + } + return { + state: EReturnState.done, + resolved: ReqRes.data, + }; +} + +export async function getUserTrade() { + const ReqRes = + await ApiRequest.authenticated.get.json>( + "user/my-trades", + ); + console.log(ReqRes.data); + + if (ReqRes.status !== 200) { + return { + state: EReturnState.clientError, + }; + } + return { + state: EReturnState.done, + resolved: ReqRes.data, + }; +} + +export async function getAllReferralCode() { + const ReqRes = + await ApiRequest.authenticated.get.json>( + "promoCode/all", + ); + console.log(ReqRes.data); + + if (ReqRes.status !== 200) { + return { + state: EReturnState.clientError, + }; + } + return { + state: EReturnState.done, + resolved: ReqRes.data, + }; +} + +export async function createReferralCode(data: any) { + const ReqRes = + await ApiRequest.authenticated.post.json>( + "promoCode/create", + data + ); + console.log(ReqRes.data); + + if (ReqRes.status !== 200) { + return { + state: EReturnState.clientError, + }; + } + return { + state: EReturnState.done, + resolved: ReqRes.data, + }; +} export async function getAllCryptos() {}