barneo-file-service
Version:
Комплексная библиотека Vue 3 для работы с файлами в приложениях Barneo. Предоставляет мощную функциональность для загрузки, управления и обработки файлов с валидацией, отслеживанием прогресса и поддержкой localStorage.
76 lines • 2.99 kB
TypeScript
import type { AppName } from "./AppName";
import type { ImageInfo } from "./ImageInfo";
/**
* Состояние загрузки файла
*
* Отслеживает прогресс и статус загрузки отдельного файла
*/
export interface FileUploadState {
/** Уникальный идентификатор загрузки */
id: string;
/** Файл для загрузки */
file: File;
/** Текущий статус загрузки */
status: "pending" | "uploading" | "success" | "error";
/** Прогресс загрузки в процентах (0-100) */
progress: number;
/** Ответ сервера после успешной загрузки */
response?: FileUploadResponse[];
/** Сообщение об ошибке при неудачной загрузке */
error?: string;
}
/**
* Ответ API после загрузки файла
*
* Структура данных, возвращаемая сервером после успешной загрузки
*/
export interface FileUploadResponse {
/** Уникальный идентификатор файла на сервере */
id: number;
/** Дата создания записи */
createdAt: string;
/** Дата последнего обновления */
updatedAt: string;
/** Дата удаления (null если файл не удален) */
deletedAt: string | null;
/** Порядок сортировки */
sort: number;
/** Активен ли файл */
active: boolean;
/** Оригинальное имя файла */
originalName: string;
/** Имя файла на сервере */
name: string;
/** MIME-тип файла */
mimetype: string;
/** Размер файла в байтах */
size: number;
/** Расширение файла */
extname: string;
/** Публичный ли файл */
public: boolean;
/** Название приложения */
appName: AppName;
/** Тип файла */
fileType: string;
/** URL для доступа к файлу */
url: string;
/** Загружен ли файл в AWS */
loadedToAws: boolean;
/** Дополнительная информация для изображений */
image?: ImageInfo;
}
/**
* Опции для загрузки файла
*
* Параметры, передаваемые при загрузке файла
*/
export interface FileUploadOptions {
/** Название приложения для идентификации файлов */
appName: AppName;
/** Callback для отслеживания прогресса загрузки */
onProgress?: (progress: number) => void;
/** Callback для обработки ошибок загрузки */
onError?: (error: Error) => void;
}
//# sourceMappingURL=UploadTypes.d.ts.map