Full configuration export/import system for Homarr with excellent DX: - Export/import boards, apps, integrations (with re-encrypted secrets), users (with bcrypt hashes), groups (with permissions and memberships), search engines, and server settings - Homepage services.yaml import with widget-type mapping - Generic resolveEntities() utility eliminates per-entity boilerplate - Declarative entity-fields.ts: adding a new user preference requires only one line change (no export/import/schema edits needed) - User schema uses .catchall(z.unknown()) for forward-compatible prefs - groupByKey() utility replaces manual Map-building - CONFIG_ENTITY_KEYS as single source of truth for entity metadata - Reuse existing entities (apps by name+icon+href, integrations by kind+name+url, users by email, groups by name, boards by name) - Skip duplicates with warnings rather than failing - Onboarding flow skips user creation step when config includes users - Reuse existing admin group during onboarding after config import
21 lines
612 B
TypeScript
21 lines
612 B
TypeScript
export * from "./board";
|
|
export * from "./integration";
|
|
export * from "./section";
|
|
export * from "./widget";
|
|
export * from "./permissions";
|
|
export * from "./docker";
|
|
export * from "./kubernetes";
|
|
export * from "./auth";
|
|
export * from "./user";
|
|
export * from "./group";
|
|
export * from "./docs";
|
|
export * from "./cookie";
|
|
export * from "./search-engine";
|
|
export * from "./onboarding";
|
|
export * from "./widget-integration-map";
|
|
export * from "./emptysuperjson";
|
|
export * from "./hotkeys";
|
|
export * from "./docker-integration-match";
|
|
export * from "./integration-url-template";
|
|
export * from "./homepage-widget-map";
|