import { defineStore } from 'pinia'; import { ALTCHA_REQUEST_HEADER } from '@/consts/altchaRequestHeader'; import { api } from '@/plugins/axios'; import type { CreateHotlinkUploadRequest } from '@/types/upload/CreateHotlinkUploadRequest'; import type { CreateZkUploadRequest } from '@/types/upload/CreateZkUploadRequest'; import type { CreatedUploadResult } from '@/types/upload/CreatedUploadResult'; export const useUploadStore = defineStore('upload', () => { const createZkUpload = async (body: CreateZkUploadRequest, altcha?: string): Promise => { const { data } = await api.post('/uploads/zk', body, { headers: getUploadRequestHeaders(altcha) }); return data; }; const createHotlinkUpload = async ( body: CreateHotlinkUploadRequest, altcha?: string ): Promise => { const { data } = await api.post('/uploads/hotlink', body, { headers: getUploadRequestHeaders(altcha) }); return data; }; const getUploadRequestHeaders = (altcha?: string) => (altcha ? { [ALTCHA_REQUEST_HEADER]: altcha } : undefined); return { createZkUpload, createHotlinkUpload }; });