vyvoj-dash

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í.