How sleepyworkshop/generic_sql_api_framework works
Generic SQL API Framework is a PHP backend for validated JSON access to SQL Server, with separate admin and non-executing SQL-parser surfaces. The main workflow validates and normalizes API requests, dispatches them through controllers and services, and builds parameterized database operations. Distinct branches support structured queries, reviewed SQL resources, allow-listed writes, routines, metadata, and authentication/authorization. Admin capabilities include setup, configuration, health, lifecycle controls, and verified application backups. The map follows the README’s architecture; several capability links use documented paths because their implementation was not sampled.
Main entry points: Services Application Services · QueryRepository.php Query Repository · AdminService.php Admin Services · QueryEngine.php Query Engine
Components 27
Application API
- API Entry
api/index.php - Request Middleware
app/Middleware - Request Validators
app/Requests - Query Normalizer
app/Requests/QueryRequestNormalizer.php - API Controllers
app/Controllers - Application Services
app/Services - HTTP Response
core/Response.php
Data Access
- Query Repository
app/Repositories/QueryRepository.php - Query Builders
app/Repositories/Query - Reviewed SQL Resources
app/Resources/SqlResourceRegistry.php - Write Repository
app/Repositories/WriteRepository.php - Metadata Repository
app/Repositories/MetadataRepository.php - Query Engine
core/QueryEngine.php - Database Driver
database/drivers/DatabaseDriverInterface.php
Identity and Access
- Authentication Services
app/Services/AuthService.php - User Repository
app/Repositories/AuthRepository.php - Auth Configuration
app/Configuration/RuntimeConfiguration.php
Administration
- Admin Surface
admin/index.php - Admin API Surface
admin/api.php - Admin Services
app/Services/AdminService.php - Runtime Controls
app/Runtime/ApiProcessManager.php - Backup Manager
app/Backup/ApplicationBackupManager.php
SQL Parser
- Parser Entry
sqlparser/index.php - Parser Handler
sqlparser/src/SqlParserRequestHandler.php - SQL Generator
sqlparser/src/SqlGenerator.php
Other components
- API Client
- SQL Server
Connections 31
- API Client → API Entry: submits JSON
- API Entry → Request Middleware: runs through
- Request Middleware → Request Validators: passes request
- Request Validators → Query Normalizer: validates input
- Query Normalizer → API Controllers: normalizes for
- API Controllers → Application Services: dispatches actions
- Application Services → Query Repository: requests queries
- Query Repository → Query Builders: builds statements
- Query Builders → Query Repository: returns SQL
- Query Repository → Query Engine: executes prepared
- Application Services → Reviewed SQL Resources: resolves resources
- Application Services → Write Repository: requests writes
- Write Repository → Query Engine: executes writes
- Application Services → Metadata Repository: requests metadata
- Metadata Repository → Query Engine: queries schema
- Query Engine → Database Driver: uses ODBC
- Database Driver → SQL Server: executes SQL
- API Controllers → Authentication Services: handles auth actions
- Request Middleware → Authentication Services: checks identity
- Authentication Services → User Repository: loads users
- User Repository → Auth Configuration: reads and writes
- API Client → Admin Surface: opens console
- API Client → Admin API Surface: calls admin API
- Admin Surface → Admin Services: dispatches admin
- Admin API Surface → Admin Services: dispatches actions
- Admin Services → Runtime Controls: controls services
- Admin Services → Backup Manager: manages backups
- API Client → Parser Entry: submits SQL
- Parser Entry → Parser Handler: handles request
- Parser Handler → SQL Generator: generates JSON
- Parser Handler → HTTP Response: formats errors