Run 01-02: User service + password hashing + signup endpoint
Dokončeno
Password service (PBKDF2), User service, Schema validation, signup endpoint + form, runtime wiring
Od: 2026-05-18 Do: 2026-05-18 Vytvořeno 18. 5. 2026
7/7
100%
Tasky v runu
Otevřít kanban →| ID | Název | Status | Priorita | Vytvořeno |
|---|---|---|---|---|
| 156 | Password service s PBKDF2 hash/verify PBKDF2 přes WebCrypto SubtleCrypto — 600k iter SHA-256, 16B salt, format pbkdf2$<iter>$<salt-b64>$<hash-b64>. Constant-time compare ve verify, žádný WASM payload. | Hotovo | Střední | 18. 5. 2026 |
| 157 | Schema validace pro signup Effect Schema validace pro signup body (email pattern, password 8-200, name optional). decodeUnknownEffect → ValidationError s message z SchemaError. | Hotovo | Střední | 18. 5. 2026 |
| 158 | User service s create/find User service nad Db: create/findByEmail/findById. UNIQUE constraint violation detekuji přes substring v error.message a remapuji DbError → UserAlreadyExists (409 místo 500). Email lowercase normalize. | Hotovo | Střední | 18. 5. 2026 |
| 159 | Propojení Password + User do runtime Layer.mergeAll(Session+User+Password) přes DbLive. runAuthToResponse přidán optional onFailure handler — umožní per-endpoint content negotiation (form redirect vs JSON). | Hotovo | Střední | 18. 5. 2026 |
| 160 | Signup POST endpoint POST /api/auth/signup — handluje JSON i form. Browser: cookie + 303 redirect na /account, error 303 na /signup?error=&email=. JSON klient: 201 nebo errored JSON. | Hotovo | Střední | 18. 5. 2026 |
| 161 | Signup form stránka Pure Astro form bez Svelte/JS hydration. prerender=false (čte query). Error banner s czech texty mapuje tag z URL. | Hotovo | Střední | 18. 5. 2026 |
| 162 | Typecheck a uzavření runu Typecheck pnpm tsc --noEmit a pnpm astro check oba 0 errors / 0 warnings. Hlavní typing landmine: TS 5.9 Uint8Array default ArrayBufferLike nesedí na BufferSource — explicit cast. | Hotovo | Střední | 18. 5. 2026 |
Screenshoty
0
Žádné screenshoty. Nahraj první.