Architecture: Session 124: How to implement user registration with user ty...

Documentation for Sessions

πŸ—οΈ Architecture: Session 124: How to implement user registration with user ty...

Date: 2026-02-19
Time: 18:07:55 UTC
Session: gspace1-124.2
Agent: angular
Confidence: 92%
Status: βœ… Documented


πŸ“‹ Decision Context

Question:

Session 124: How to implement user registration with user types, returnUrl, guest conversion, and embedded auth panel

Task: Not specified


🎯 Decision Made

Chosen:

Dual-layer approach: extended UserHierarchyType (added platform_admin), RegisterDto with optional userType validated by @IsIn, hierarchy entry created on register, frontend RegisterComponent with user type selector + returnUrl + guestUserId via UserContextService signal, new AuthPanelComponent + AuthPanelService for embedded modal auth

Options Considered:


πŸ’­ Reasoning

Kept space_builder naming for backward compat (user's choice). Used existing UserHierarchy system rather than adding userType to User schema (avoids data duplication). Self-service registration restricted to space_builder/platform_admin/platform_user (developer/admin internal-only for security). Used UserContextService.userId() signal for synchronous guest detection (GuestAuthService methods are all async/Promise-based). AuthPanelService wraps existing ModalService from @libs-ux/ux-utils-lib. ReturnUrl preserved across login↔register navigation via query params.


πŸ“ Files Involved


πŸ”— Related


Auto-generated by MCP Smart Consolidation