7b045a9f20
Web a portal Automia v jednom containeru. Express obsluhuje API i zbuildovanou React aplikaci z dist/public. Obsah: - verejny web: homepage, sluzby, o nas, kontakt, 404 - prihlaseni pres JWT, demo ucty - portal: prehled s grafem, tickety, incidenty, automatizace, konektory - builder automatizaci: strom akci, vetveni podminkou - katalog 25 konektoru v 8 kategoriich - webhook s registrovanou adresou, token generuje server - zivy dashboard pres SSE vcetne simulace provozu - Swagger UI na /docs a OpenAPI na /openapi.json Soulad s AGENTS.md: - ROOT_PATH z prostredi, prefix proxy nikde nehardcodovan - mount na koren i na prefix, funguje s handle_path i bez nej - base tag a window.__BASE_PATH__ vkladane do index.html za behu - OpenAPI servers obsahuje prefix, Try it out vola spravnou adresu - povinne /health a /docs, port 3000, naslouchani na 0.0.0.0 - secrets jen z environment variables, nikdy v logu Dokumentace ve slozce documentation/.
32 lines
615 B
TypeScript
32 lines
615 B
TypeScript
export type UserRole = 'admin' | 'client';
|
|
|
|
export interface User {
|
|
id: string;
|
|
email: string;
|
|
/** bcrypt hash - nikdy neposilat na klienta */
|
|
passwordHash: string;
|
|
name: string;
|
|
role: UserRole;
|
|
company: string;
|
|
}
|
|
|
|
/** Verze uzivatele bezpecna pro odeslani na klienta. */
|
|
export interface PublicUser {
|
|
id: string;
|
|
email: string;
|
|
name: string;
|
|
role: UserRole;
|
|
company: string;
|
|
}
|
|
|
|
export interface JwtPayload {
|
|
sub: string;
|
|
email: string;
|
|
role: UserRole;
|
|
}
|
|
|
|
export function toPublicUser(user: User): PublicUser {
|
|
const { passwordHash: _passwordHash, ...rest } = user;
|
|
return rest;
|
|
}
|