import { ListFormWizardDto, WizardFileInfoDto, WizardSeedFileDto } from '@/proxy/admin/wizard/models' import apiService from './api.service' export const postListFormWizard = (input: ListFormWizardDto) => apiService.fetchData({ method: 'POST', url: `/api/app/list-form-wizard`, data: input, }) export const getWizardFiles = () => apiService.fetchData({ method: 'GET', url: `/api/app/list-form-wizard/files`, }) export const getWizardFile = (fileName: string) => apiService.fetchData({ method: 'GET', url: `/api/app/list-form-wizard/file`, params: { fileName }, }) export const deleteWizardFile = (fileName: string) => apiService.fetchData({ method: 'DELETE', url: `/api/app/list-form-wizard/file`, params: { fileName }, }) /** * Wizard dosyasini ve bagli seed dosyalarini (custom/crud/sql) tek bir zip olarak indirir. * Zip icindeki klasor duzeni seed kapsam klasoru ile aynidir; baska bir ortamda dogrudan acilabilir. */ export const exportWizardFile = (fileName: string) => apiService.fetchData({ method: 'GET', url: `/api/app/list-form-wizard/export`, params: { fileName }, responseType: 'blob', }) /** Blob'u tarayicida indirme olarak tetikler. */ export const downloadBlob = (blob: Blob, fileName: string) => { const url = window.URL.createObjectURL(blob) const link = document.createElement('a') link.style.display = 'none' link.href = url link.download = fileName document.body.appendChild(link) link.click() document.body.removeChild(link) window.URL.revokeObjectURL(url) }