Files
foxhunt/services/api/.sqlx/query-3f7b62f1896d9d19ba56adde7119638d68a9cf64a78160e9e1ea5c9b2a0bbbb0.json
jgrusewski e50ea55064 feat: create services/api/ — unified gRPC gateway with tonic-web
Copied from api_gateway, removed REST handlers (port 8080),
added tonic-web + CORS for grpc-web browser access.
Binary renamed: api-gateway → api

Changes:
- Package name: api-gateway → api
- Deleted src/handlers/ (REST ML endpoints on port 8080)
- Added tonic-web 0.13 + tower-http CORS layer
- Server::builder().accept_http1(true) for grpc-web
- CORS_ORIGINS env var (default http://localhost:5173)
- Metrics server on port 9091 (axum) preserved
- All 95 lib tests pass, 0 clippy warnings
- Added services/api to workspace members

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 23:32:46 +01:00

59 lines
1.3 KiB
JSON

{
"db_name": "PostgreSQL",
"query": "\n SELECT\n id, code_hint as hint, is_used, used_at,\n used_from_ip::text as \"used_from_ip_str\", expires_at, created_at\n FROM mfa_backup_codes\n WHERE user_id = $1\n ORDER BY created_at DESC\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Uuid"
},
{
"ordinal": 1,
"name": "hint",
"type_info": "Varchar"
},
{
"ordinal": 2,
"name": "is_used",
"type_info": "Bool"
},
{
"ordinal": 3,
"name": "used_at",
"type_info": "Timestamptz"
},
{
"ordinal": 4,
"name": "used_from_ip_str",
"type_info": "Text"
},
{
"ordinal": 5,
"name": "expires_at",
"type_info": "Timestamptz"
},
{
"ordinal": 6,
"name": "created_at",
"type_info": "Timestamptz"
}
],
"parameters": {
"Left": [
"Uuid"
]
},
"nullable": [
false,
false,
false,
true,
null,
false,
false
]
},
"hash": "3f7b62f1896d9d19ba56adde7119638d68a9cf64a78160e9e1ea5c9b2a0bbbb0"
}