Document
Description
Permet de stocker/supprimer des documents via le service fasst_file_storage et de mettre à jour l'entité projet (création/suppression d'entités Document).
Utilisation
uploadDocument
import { DocumentFeature } from '@fasstech/oip-features-document';
import { documentTypeEnum } from '@fasstech/oip-core/entities';
const document = {
fileName: 'test.pdf', // obligatoire
mimeType: 'application/pdf',
path: 'test/test.pdf', // obligatoire
type: documentTypeEnum.IDCARD
};
const { uploadDocument } = DocumentFeature({
service: {
url: process.env.SERVICE_FILESTORAGE_URL
}
});
const { projectEntity: updatedProjectEntity, metadata } = await uploadDocument({
projectEntity,
args: { document }
});Options
Propriété | Type | Description | Obligatoire |
|---|---|---|---|
service | object | Objet de configuration du service file_storage | x |
service.url | string | URL du service file_storage | x |
ParamĂštres
Propriété | Type | Obligatoire | Description |
|---|---|---|---|
fileName | string | x | Nom du fichier |
mimeType | string | ï»ż | Type MIME |
path | string | x | Chemin du fichier |
type | string | ï»ż | Type (oip) du fichier |
Retour
- projectEntity : l'entité projet mise à jour
- metadata.documentEntity : entité Document créée
deleteDocument
import { DocumentFeature } from '@fasstech/oip-features-document';
const { deleteDocument } = DocumentFeature({
service: {
url: process.env.SERVICE_FILESTORAGE_URL
}
});
const { projectEntity: updatedProjectEntity } = await deleteDocument({
projectEntity,
args: { documentId: 'xxx' }
});Options
Propriété | Type | Description | Obligatoire |
|---|---|---|---|
service | object | Objet de configuration du service file_storage | x |
service.url | string | URL du service file_storage | x |
ParamĂštres
Propriété | Type | Obligatoire | Description |
|---|---|---|---|
documentId | string | x | id de l'entité Document à supprimer |
Retour
- projectEntity : l'entité projet mise à jour
downloadDocument
import { DocumentFeature } from '@fasstech/oip-features-document';
const { downloadDocument } = DocumentFeature({
service: {
url: process.env.SERVICE_FILESTORAGE_URL
}
});
try {
// retrieve an image file
const { file } = await downloadDocument({
projectEntity,
args: { documentId } // Document entity id
});
// downloadDocument will throw an error if http status is not 200
const fileArrayBuffer = await file.arrayBuffer();
const fileImageBuffer = Buffer.from(fileArrayBuffer);
const fileImageBase64 = fileImageBuffer.toString('base64');
} catch (error) {
console.error('Erreur lors du téléchargement du document :', error);
throw error;
}Options
Propriété | Type | Description | Obligatoire |
|---|---|---|---|
service | object | Objet de configuration du service file_storage | x |
service.url | string | URL du service file_storage | x |
ParamĂštres
Propriété | Type | Obligatoire | Description |
|---|---|---|---|
documentId | string | x | id de l'entité Document à télécharger |
Retour
- projectEntity : l'entité projet (unchanged)
- file : la réponse du fetch au service file_storage
Changelog
version | commentaire |
|---|---|
0.2.0 | Création de la feature |