feat(api): Favoriten — Symbol trotz Zertifikatsfehler holen, Reihenfolge per PUT /favorites/order speichern

- icon-discovery.service.ts: undicis eigenes fetch mit Modul-Singleton
  LENIENT_TLS_AGENT (Agent({ connect: { rejectUnauthorized: false } }))
  als dispatcher in fetchWithRedirectGuard, der einzigen Ausgangsstelle
  fuer HTML-Ermittlung und Icon-Byte-Holen; SSRF-Schutz unveraendert
- undici 7.28.0 (bereits im Lockfile aufgeloest) als direkte Abhaengigkeit
  von @tessera/api via pnpm add --offline
- PUT /favorites/order (ReorderFavoritesDto) vor den :id-Routen;
  FavoritesService.reorder() setzt position=index fuer die Favoriten
  eines Widgets in EINER withTenantTransaction, userId+widgetId in jeder
  Bedingung (zweites Netz), eine BadRequestException fuer alle
  Abweichungen (T-JDD-06)
- getIcon: X-Content-Type-Options nosniff + restriktive CSP (T-JDD-02)
- 10 neue Tests (3 Dispatcher, 7 reorder); volle API-Suite 68 Dateien/
  1101 Tests und type-check gruen

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-17 14:36:03 +02:00
parent e7633e15de
commit 2a562d0b14
8 changed files with 373 additions and 11 deletions
+11 -6
View File
@@ -82,7 +82,7 @@ importers:
version: 7.0.1
ews-javascript-api:
specifier: 0.15.3
version: 0.15.3
version: 0.15.3(undici@7.28.0)
fast-xml-parser:
specifier: ^5.10.1
version: 5.10.1
@@ -128,6 +128,9 @@ importers:
tsdav:
specifier: 2.2.2
version: 2.2.2
undici:
specifier: 7.28.0
version: 7.28.0
xlsx:
specifier: ^0.18.5
version: 0.18.5
@@ -6190,11 +6193,11 @@ snapshots:
optionalDependencies:
extend: 3.0.2
'@ewsjs/xhr@3.1.3':
'@ewsjs/xhr@3.1.3(undici@7.28.0)':
dependencies:
'@ewsjs/ntlm-client': 3.0.1
axios: 1.18.1
http-cookie-agent: 5.0.4(tough-cookie@4.1.4)
http-cookie-agent: 5.0.4(tough-cookie@4.1.4)(undici@7.28.0)
tough-cookie: 4.1.4
transitivePeerDependencies:
- deasync
@@ -8511,10 +8514,10 @@ snapshots:
events@3.3.0: {}
ews-javascript-api@0.15.3:
ews-javascript-api@0.15.3(undici@7.28.0):
dependencies:
'@azure/msal-node': 2.16.3
'@ewsjs/xhr': 3.1.3
'@ewsjs/xhr': 3.1.3(undici@7.28.0)
'@xmldom/xmldom': 0.8.13
base64-js: 1.5.1
moment: 2.30.1
@@ -8987,10 +8990,12 @@ snapshots:
entities: 4.5.0
optional: true
http-cookie-agent@5.0.4(tough-cookie@4.1.4):
http-cookie-agent@5.0.4(tough-cookie@4.1.4)(undici@7.28.0):
dependencies:
agent-base: 7.1.4
tough-cookie: 4.1.4
optionalDependencies:
undici: 7.28.0
http-errors@2.0.1:
dependencies: