/
home
/
rekodeb
/
webrodez
/
wp-content
/
plugins
/
complianz-gdpr
/
settings
/
src
/
Settings
/
ProofOfConsent
/
Upload File
HOME
import {create} from 'zustand'; import * as cmplz_api from "../../utils/api"; const useProofOfConsentData = create(( set, get ) => ({ documentsLoaded: false, fetching:false, generating:false, documents: [], downloadUrl: '', regions: [], fields: [], deleteDocuments: async (ids) => { //get array of documents to delete let deleteDocuments = get().documents.filter(document => ids.includes(document.id)); //remove the ids from the documents array set((state) => ({ documents: state.documents.filter(document => !ids.includes(document.id)), })); let data = {}; data.documents = deleteDocuments; await cmplz_api.doAction('delete_proof_of_consent_documents', data).then((response) => { return response; }).catch((error) => { console.error(error); }); }, generateProofOfConsent: async () => { set({generating:true}); let data = {}; await cmplz_api.doAction('generate_proof_of_consent', data).then((response) => { return response; }).catch((error) => { console.error(error); }); await get().fetchData(); set({generating:false}); }, fetchData: async ( ) => { if (get().fetching) return; set({fetching:true}); let data = {} const { documents,regions, download_url} = await cmplz_api.doAction('get_proof_of_consent_documents', data).then((response) => { return response; }).catch((error) => { console.error(error); }); set((state) => ({ documentsLoaded: true, documents: documents, regions: regions, downloadUrl: download_url, fetching:false, })); }, })); export default useProofOfConsentData;