| Server IP : 172.67.134.116 / Your IP : 216.73.216.227 Web Server : Apache System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : nobi37te ( 1003) PHP Version : 8.2.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nobi37te/public_html/wp-content/plugins/code-snippets/js/hooks/ |
Upload File : |
import { useMemo } from 'react'
import { useAxios } from './useAxios'
import type { AxiosResponse, CreateAxiosDefaults } from 'axios'
export interface Importer {
name: string
title: string
is_active: boolean
}
export interface ImportableSnippet {
id: number
title: string
table_data: {
id: number
title: string
}
}
export interface ImportRequest {
ids: number[]
network?: boolean
auto_add_tags?: boolean
tag_value?: string
}
export interface ImportResponse {
imported: number[]
}
const ROUTE_BASE = `${window.CODE_SNIPPETS?.restAPI.base}code-snippets/v1/`
const AXIOS_CONFIG: CreateAxiosDefaults = {
headers: { 'X-WP-Nonce': window.CODE_SNIPPETS?.restAPI.nonce }
}
export interface ImportersAPI {
fetchAll: () => Promise<AxiosResponse<Importer[]>>
fetchSnippets: (importerName: string) => Promise<AxiosResponse<ImportableSnippet[]>>
importSnippets: (importerName: string, request: ImportRequest) => Promise<AxiosResponse<ImportResponse>>
}
export const useImportersAPI = (): ImportersAPI => {
const { get, post } = useAxios(AXIOS_CONFIG)
return useMemo((): ImportersAPI => ({
fetchAll: () => get<Importer[]>(`${ROUTE_BASE}importers`),
fetchSnippets: (importerName: string) => get<ImportableSnippet[]>(`${ROUTE_BASE}${importerName}`),
importSnippets: (importerName: string, request: ImportRequest) =>
post<ImportResponse, ImportRequest>(`${ROUTE_BASE}${importerName}/import`, request)
}), [get, post])
}