const e=`The File Manager handles file upload transactions using a unique transaction ID hash map. Since files are often associated with a collection entry but stored on a different service, managing file uploads through a transaction manager is beneficial. Uploading a file successfully requires two steps:

1. Handle file uploads to a storage service: For instance, a backend service like Mia Platform's Files Service, managed by a component such as the File Service Client.
2. Handle updates to the CRUD collection: For example, using Mia Platform's CRUD Service, managed by the CRUD Client.

The File Manager processes requests from other components to create or update data in a CRUD collection that involves uploading files to a designated file storage service. These requests are typically in the form of create-data-with-file or update-data-with-file events.

These events contain both the data to be created or updated and additional information in their meta section. The metadata helps extract the files that need to be uploaded from the payload.

The process flow can be summarized as follows:

1. The File Manager identifies all files to be uploaded within the payload.
2. For each identified file, the File Manager initiates an upload request to the designated file storage service.
3. Upon receiving confirmation of successful uploads, the File Manager signals the request to create or update data using the complete payload from the initial event.
4. If an error occurs, the entire transaction is rolled back, including deleting any files that were uploaded as part of the incomplete transaction.
`,i=`Il File Manager gestisce le transazioni di caricamento file tramite una mappa hash di ID transazione unici. Poiché i file sono spesso collegati a voci di una collezione ma archiviati su un servizio diverso, un gestore di transazioni per il caricamento dei file può risultare utile. Il caricamento di un file richiede due passaggi:

1. Gestire il caricamento dei file su un servizio di archiviazione, come il Files Service di Mia Platform, utilizzando un componente come il File Service Client.
2. Aggiornare la collezione CRUD, gestito dal CRUD Client di Mia Platform.

Il componente File Manager elabora le richieste provenienti da altri componenti per creare o aggiornare dati in una collezione CRUD, che includono operazioni di caricamento file su un servizio di archiviazione designato. Le richieste sono generalmente sotto forma di eventi create-data-with-file o update-data-with-file.

Questi eventi includono sia i dati da creare o aggiornare che informazioni aggiuntive nella sezione meta. I metadati aiutano a estrarre i file da caricare dal payload.

Il processo si svolge come segue:

1. Il File Manager identifica nel payload tutti i file da caricare.
2. Per ogni file identificato, il File Manager avvia una richiesta di caricamento al servizio di archiviazione designato.
3. Dopo aver ricevuto le conferme di caricamento, il File Manager procede con la richiesta di creazione o aggiornamento dei dati usando il payload completo dell'evento iniziale.
4. In caso di errore, l'intera transazione viene annullata, eliminando eventuali file già caricati come parte della transazione incompleta.
`,a={docLink:"https://docs.mia-platform.eu/docs/microfrontend-composer/back-kit/components/file_manager",label:"File Manager",description:"An adapter to handle saving files on a client and storing references on a collection",descriptionLong:{en:e,it:i},example:JSON.stringify({tag:"bk-file-manager"}),type:"adapter"};var n=a;export{n as default};
