/**
 * Copyright IBM Corp. 2024, 2025
 */

export class FileUploadFactory {
  private uploadedFiles = new Map<string, { fileName: string; value: any }>();

  constructor() {}

  create(fileDetails: { key: string; fileName: string; value: any }): void {
    // Use a unique key per file
    this.uploadedFiles.set(fileDetails.key, {
      fileName: fileDetails.fileName,
      value: fileDetails.value,
    });
  }
  getAllUploadedFiles(): { fileName: string; value: any }[] {
    return Array.from(this.uploadedFiles.values());
  }

  getUploadedFile(key: string): { fileName: string; value: any } | undefined {
    return this.uploadedFiles.get(key);
  }
}
export const uploadedFileModel = new FileUploadFactory();
