eCourt-Doc-Edit/backend/WordVersioning.Api/Services
Suphonchai Phoonsawat f4b2ff9d28 v9.2.1: real filenames back in open-link URLs (was literal "file")
User report: downloaded/opened files named just "file" — v9.2 put a
literal file.docx/file.pdf at the end of open-link URLs (treated as
cosmetic since Content-Disposition carries the real name, but Word
names its URL-copy from the URL path and browsers fall back to the
URL filename)

- OpenLinkService.CreateLink takes fileName and appends it (URL-encoded,
  Thai-safe) — version: {base}_v{N}.docx/.pdf per FR-15, draft:
  {template}_{timestamp}.docx per FR-10 naming policy
- Draft route split into /d/{templateId}/{stamp}/{fileName} (rebuilds
  objectKey + HMAC-validates as before); version route unchanged shape
  with real name
- Tests: URL tails assert real names (คำร้อง_v1.pdf/_v1.docx, draft
  template name), no /file.docx; new tamper tests — modified stamp/
  templateId and swapped docx↔pdf extension (version route) → 404
- backend 89/89; QA reviewer PASS (1 round, minors 2 fixed)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 14:18:36 +07:00
..
AddInMetadata.cs Phase 12: draft generation (FR-16) 2026-09-10 10:51:13 +07:00
CurrentUser.cs implement Phase 1-2 2026-08-19 10:54:55 +07:00
DocxGenerationService.cs Hotfix: strip invalid XML control chars from field values (FR-16) 2026-09-10 12:07:50 +07:00
DocxUploadValidation.cs Phase 3 2026-08-19 12:15:20 +07:00
FieldMapJson.cs Phase 3 2026-08-19 12:15:20 +07:00
FieldSyncService.cs Phase 3 2026-08-19 12:15:20 +07:00
HashService.cs implement Phase 1-2 2026-08-19 10:54:55 +07:00
MinioOptions.cs Phase 12 v9.2: download-first + backend open-links (Word 16.101+ broke ms-word) 2026-09-10 13:39:23 +07:00
ObjectStorageService.cs Phase 12 v9.2: download-first + backend open-links (Word 16.101+ broke ms-word) 2026-09-10 13:39:23 +07:00
OpenLinkOptions.cs Phase 12 v9.2: download-first + backend open-links (Word 16.101+ broke ms-word) 2026-09-10 13:39:23 +07:00
OpenLinkService.cs v9.2.1: real filenames back in open-link URLs (was literal "file") 2026-09-10 14:18:36 +07:00
PdfUploadValidation.cs Phase 11: version PDF (FR-15) 2026-09-08 14:01:13 +07:00
TemplateFieldValidation.cs Phase 12: draft generation (FR-16) 2026-09-10 10:51:13 +07:00