import APIUrl from "../helpers/ApiUrl";
import MakeRequest from "../helpers/makeRequest";
import { IVirtualItemSearchObj, IVirtualItemDetailsReceiveFields } from "../interfaces/Interfaces";

export default class VirtualItems {
    static async searchVirtualItems(searchParam: IVirtualItemSearchObj) {
        const postData = null;
        const productsList = await MakeRequest.httpRequest(APIUrl.getVirtualItemsListAPI(), "GET", postData, searchParam);
        return productsList;
    }

    static async getVirtualItemDetails(viId: string, searchParam: IVirtualItemDetailsReceiveFields | null = null) {
        const postData = null;
        let params = {};
        if (searchParam) {
            params = {
                "fields": searchParam?.fields?.join(', ')
            }
        };
        const brandDetails = await MakeRequest.httpRequest(APIUrl.getVirtualItemDetailsAPI(viId), "GET", postData, params);
        return brandDetails;
    }

    static async getCreatedVirtualItemsDeltaList() {
        const list = await MakeRequest.httpRequest(APIUrl.getCreatedVirtualItemsDeltaListAPI(), "GET", null, null);
        return list;
    }

    static async getUpdatedVirtualItemsDeltaList() {
        const list = await MakeRequest.httpRequest(APIUrl.getUpdatedVirtualItemsDeltaListAPI(), "GET", null, null);
        return list;
    }

    static async getDeletedVirtualItemsDeltaList() {
        const list = await MakeRequest.httpRequest(APIUrl.getDeletedVirtualItemsDeltaListAPI(), "GET", null, null);
        return list;
    }
}