Commit graph yavsc/src/Yavsc.Abstract/FileSystem
Author SHA1 Message Date
70ab05522b
Gestion des fichiers utilisateur et pièces jointes (demande/devis)
Espace de stockage personnel géré depuis PostIt, avec attachement par
référence (sans duplication) des fichiers à la demande du client
(NominativeServiceCommand) et au devis du fournisseur (Estimate).

Backend:
- UploadedFile.OwnerId (FK ApplicationUser, nullable) ; les téléversements
  vers api/v1/fs créent/mettent à jour une ligne propriétaire.
- Tables de jointure EstimateAttachedFile et QueryAttachedFile (PK composite),
  migration UserFileAttachments.
- EstimateApiController: GET/POST/DELETE estimate/{id}/attachments
  (fournisseur uniquement, fichier devant appartenir au caller).
- FrontOfficeApiController: GET/POST/DELETE front/query/{id}/attachments
  (client uniquement).
- FileSystemApiController: GET fs/file/{fileId} sert les octets depuis le
  host Blogs (autorisation propriétaire ou partie au devis/demande via DB
  partagée) — le host API ne gère que les métadonnées, contrainte des
  conteneurs docker à disques distincts.

Client .NET:
- UserFilesApiClient (list/upload/delete/download) pointant vers BlogsApiUrl.
- DTOs UserDirectoryDto/FileEntryDto/AttachmentDto/FileReceivedDto/UploadFile.
- Méthodes d'attachement sur EstimateApiClient et FrontOfficeApiClient.

PostIt (Avalonia):
- Page « Mes fichiers » (naviguer/téléverser/télécharger/supprimer), servant
  aussi de sélecteur pour l'attachement.
- Section pièces jointes dans l'édition du devis (fournisseur) et le détail
  de la demande (client), avec ajout depuis My Files, détachement,
  téléchargement.
- Enregistrement DI + mapping ViewLocator + bouton d'accès.

Tests:
- EstimateEditionPageViewModelTests mis à jour (nouveau ctor fsClient,
  historique d'appels du stub pour les assertions post-envoi).

Nommage HTTP/méthodes en anglais, documentation en français.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-24 16:35:36 +01:00
3bc4142383
refacto site settings
Some checks failed
Dotnet build and test / build (pull_request) Failing after 8m29s
2026-09-17 23:54:36 +01:00
a987116eb5 abstract: enable nullable annotations in legacy files 2026-09-06 15:50:40 +01:00
b679707b83 using clauses cleanup 2026-08-22 03:34:48 +01:00
e98bba4247 refacts and PostIt Nav 2026-06-11 20:02:32 +01:00
Paul Schneider
40e8e08690 reorg 2026-02-28 21:17:54 +00:00
Paul Schneider
45514010f2 REORG 2026-02-14 16:54:27 +00:00
Paul Schneider
bcadc733bb refacts 2025-11-16 15:53:13 +00:00
Paul Schneider
5c046dfa88 build cli 2025-07-16 00:47:50 +01:00
Paul Schneider
380f2314dc Code cleanup 2025-03-04 18:05:21 +00:00
Paul Schneider
9e6a4f7d13 Get User Id from Web API 2025-02-17 23:57:12 +00:00
Paul Schneider
8132db37d0 Local Passwords validation 2024-11-06 13:00:34 +00:00
1517b48741 Fixing destination file @streaming 2020-10-18 23:00:17 +01:00
492427f4b8 code guidelines 2020-10-09 20:27:44 +01:00
ff1444d664 principalement du format de code 2020-09-14 14:31:14 +01:00
b7fdf47529 Fixes abstract file name filter 2020-06-07 18:54:38 +01:00
5692478b77 implements the file moves ui 2019-09-08 05:17:21 +01:00
9457ba71d1 Using YaStringLength and YaRequired 2019-09-04 01:25:36 +01:00
77128e1a7e getting some interface to fs 2019-08-25 01:47:46 +01:00
ebb3230511 comment 2019-08-23 22:19:32 +01:00
1bd9843d7e packaging+fs 2019-08-21 17:46:20 +01:00
4d48966d24 A first flow was saved to disk 2019-06-27 10:30:28 +01:00
ccc91bbf19 files tree made better. 2019-01-01 16:29:36 +00:00