HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah/wp-content/plugins/give/src/Campaigns/Blocks/shared/hooks/useCampaigns.ts
import {useEntityRecords} from '@wordpress/core-data';
import {Campaign} from '@givewp/campaigns/admin/components/types';

type CampaignStatus = 'active' | 'draft' | 'archived';

type useCampaignsParams = {
    ids?: number[],
    page?: number,
    per_page?: number;
    status?: CampaignStatus[]
    sortBy?: string;
    orderBy?: string;
}

export default function useCampaigns({
     ids = [],
     page = 1,
     per_page = 30,
     status = ['active'],
     sortBy = 'date',
     orderBy = 'desc',
 }: useCampaignsParams = {}) {
    const data = useEntityRecords('givewp', 'campaign', {
        ids,
        page,
        per_page,
        status,
        sortBy,
        orderBy
    });

    return {
        campaigns: data?.records as Campaign[],
        //@ts-ignore
        totalItems: data.totalItems,
        //@ts-ignore
        totalPages: data.totalPages,
        hasResolved: data?.hasResolved,
    };
}