- JWT authentication with Supabase integration - Role-based access control (Admin, Owner, Staff, Auditor) - Universal database adapter (Prisma/Supabase/MongoDB support) - User management with hierarchical permissions - Redis caching service (configured but optional) - Comprehensive API documentation - Production-ready NestJS architecture - Migration scripts for provider switching - Swagger/OpenAPI documentation
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# Universal Adapter Test
|
|
|
|
## Current Issue
|
|
- Auth Service using SupabaseDatabaseService (direct Supabase client)
|
|
- Database Provider set to "prisma"
|
|
- User creation failing with "Failed to create admin user"
|
|
|
|
## Possible Solutions
|
|
|
|
### Option 1: Test Universal Adapter User Creation
|
|
Test if the Universal Adapter (Prisma) can create users successfully:
|
|
|
|
```bash
|
|
# Test Users endpoint (uses Universal Adapter)
|
|
curl -X 'GET' \
|
|
'http://localhost:3000/api/v1/users' \
|
|
-H 'Authorization: Bearer YOUR_TOKEN'
|
|
```
|
|
|
|
### Option 2: Switch Auth Service to Universal Adapter
|
|
Update AuthService to use UniversalDatabaseAdapter instead of SupabaseDatabaseService.
|
|
|
|
### Option 3: Switch Database Provider Back to Supabase
|
|
Change `.env` back to `DATABASE_PROVIDER="supabase"` if network issues are resolved.
|
|
|
|
### Option 4: Create User via Universal Adapter
|
|
Use the Users module (which uses Universal Adapter) to create admin users.
|
|
|
|
## Test Login First
|
|
```bash
|
|
curl -X 'POST' \
|
|
'http://localhost:3000/api/v1/auth/login' \
|
|
-H 'accept: application/json' \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"email": "admin@example.com",
|
|
"password": "secret123"
|
|
}'
|
|
```
|
|
|
|
If login works, the issue is only with user creation, not user lookup.
|
|
|
|
## Architecture Status
|
|
- ✅ Universal Adapter: Working (Users module)
|
|
- ✅ Database Schema: Compatible (snake_case columns)
|
|
- ✅ Provider Switching: Functional (Prisma active)
|
|
- ❌ Auth Service: Still using old SupabaseDatabaseService
|
|
- ❌ User Creation: Failing (network or compatibility issue)
|
|
|
|
## Next Steps
|
|
1. Test login to confirm user lookup works
|
|
2. If login works, switch Auth Service to Universal Adapter
|
|
3. If login fails, investigate network connectivity
|
|
4. Test Users module endpoints to confirm Universal Adapter works |