svet-pos-project-client / src / store / receipt-action.ts
receipt-action.ts
Raw
import { Receipt } from "../api/agent";
import { IReceipt } from "../api/IReceipt";
import { receiptActions } from "./receipt-slice";


export const fetchReceipts = () =>{

    return async (dispatch:any) => {

        try{
            const receipts = fetchData();
            dispatch( receiptActions.fetchReceipt(receipts));

        }catch(e){
            console.log("Error in receipt fetching " + {e})
        }
    }

}

export const addRecipts = (newReceipt:any)=>{
    return async()=>{

        try{
            const response = createReceipt(newReceipt);
            console.log("New receipt created", response)
        }catch(e){
            console.log("Error from adding receipts", e)
        }


    }
}

const createReceipt = async (newReceipt:any) =>{
    const response = await Receipt.create(newReceipt)
    if(!response){
        console.log("Could not create a new receipt")
    }

    return response
}


const fetchData = async () => {
    const response = await Receipt.list();
    if(!response){
        throw new Error("Could not fetch receipts")
    }
    return response;
}