Commit Graph

53 Commits

Author SHA1 Message Date
8632e651bf Add Gitea integration + ESLint setup
Phase 3: Gitea Integration
- Migration 012: app_settings table + gitea_commit_sha on endpoint_versions
- SettingsService: encrypted token storage (AES-256-GCM from JWT_SECRET)
- GiteaService: full REST API client — repo management, file CRUD,
  branches, commit history, diff/compare, pull requests, sync all
- giteaController + routes: 15 API endpoints for settings, branches,
  commits, PRs, endpoint info, sync
- VersionService hooks: auto-sync to Gitea on publish/draft (non-blocking)
- Frontend: Gitea tab in Settings (connection, sync status, branch mgmt),
  Gitea panel in EndpointEditor (file link, last commit SHA)
- docker-compose.gitea.yml: optional companion Gitea container
- Cache fix: index.html served with no-cache for instant deploys

ESLint Setup
- Backend: eslint 8 + @typescript-eslint configured
- Frontend: eslint 8 + @typescript-eslint + react-hooks + react-refresh
- Fixed 15 lint issues: unused imports, require statements, escapes,
  Function type, empty catch blocks
- Added npm run lint / lint:fix scripts

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 22:45:45 +03:00
801d0cce5f Add test/prod environments and endpoint versioning
Phase 1: Test/Prod Database Configurations
- Migration 010: test_* columns on databases table, environment column on request_logs
- DatabasePoolManager: dual-pool strategy (prod + test), getPool(id, env) with fallback
- SqlExecutor, ScriptExecutor, IsolatedScriptExecutor, AqlExecutor: environment param threaded through all execution paths
- dynamicApiController: X-Environment header detection, environment in logging
- databaseManagementController: CRUD for test credentials, testConnection with ?env=test
- Frontend: test env form in DatabaseModal, env toggle in EndpointEditor test panel

Phase 2: Endpoint Versioning
- Migration 011: endpoint_versions table with full snapshots, backfill v1 for existing endpoints
- VersionService: createVersion, saveDraft, publishVersion, rollbackToVersion, getHistory
- endpointController: auto-versioning on update, 6 new version management handlers
- dynamicApiController: draft serving when environment=test and draft exists
- Frontend: Save Draft button, version history panel with publish/rollback actions

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 21:04:11 +03:00
f0cbe99cb0 modified: frontend/src/pages/EndpointEditor.tsx
modified:   frontend/src/pages/Folders.tsx
2026-03-13 18:23:21 +03:00
727c6765f8 modified: backend/src/config/dynamicSwagger.ts
modified:   backend/src/controllers/endpointController.ts
	new file:   backend/src/migrations/009_add_response_schema.sql
	modified:   backend/src/types/index.ts
	modified:   frontend/src/pages/EndpointEditor.tsx
	modified:   frontend/src/types/index.ts
2026-03-13 15:22:32 +03:00
659ebf71ea modified: backend/src/types/index.ts
modified:   frontend/src/App.tsx
	deleted:    frontend/src/components/EndpointModal.tsx
	new file:   frontend/src/pages/EndpointEditor.tsx
	modified:   frontend/src/pages/Endpoints.tsx
	modified:   frontend/src/pages/Folders.tsx
	modified:   frontend/src/types/index.ts
2026-03-01 19:32:23 +03:00
6766cd81a1 Переработано окно эндпоинта, добавлены элементы дебага, добавлена возможность сохранять и загружать конфигурацию эндпоинта, добавлено отображение ошибок при загрузке конфигурации. Исправлены мелкие баги. 2026-03-01 16:00:26 +03:00
fd08e2c3e6 modified: frontend/src/components/SqlEditor.tsx 2026-01-28 01:08:53 +03:00
fba8069b13 modified: frontend/src/components/SqlEditor.tsx 2026-01-28 01:04:22 +03:00
a306477d5d modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:58:12 +03:00
4e1044a808 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:55:05 +03:00
47e998fc52 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:54:45 +03:00
49938815fe modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:47:55 +03:00
553202c1b2 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:39:58 +03:00
981b958c41 modified: frontend/src/pages/DatabaseSchema.tsx
modified:   frontend/src/pages/DatabaseSchema.tsx
2026-01-28 00:39:49 +03:00
9293199d28 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:33:18 +03:00
e9e8081882 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:32:28 +03:00
27c5eceaf1 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:26:05 +03:00
c438c4fc83 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:21:09 +03:00
39b1b0ed5e modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-28 00:17:44 +03:00
c5b4799dcb modified: backend/src/controllers/schemaController.ts
modified:   frontend/src/pages/DatabaseSchema.tsx
2026-01-28 00:04:01 +03:00
4fb92470ce modified: backend/src/controllers/databaseManagementController.ts
modified:   backend/src/controllers/schemaController.ts
	modified:   frontend/src/pages/DatabaseSchema.tsx
2026-01-28 00:00:15 +03:00
c780979b57 modified: backend/src/controllers/schemaController.ts
modified:   frontend/package.json
	modified:   frontend/src/pages/DatabaseSchema.tsx
2026-01-27 23:49:47 +03:00
d8dffb5ee1 modified: frontend/src/pages/DatabaseSchema.tsx 2026-01-27 23:44:33 +03:00
89b5a86bda new file: backend/src/controllers/schemaController.ts
new file:   backend/src/migrations/008_add_database_schemas.sql
	modified:   backend/src/routes/sqlInterface.ts
	modified:   frontend/package.json
	modified:   frontend/src/App.tsx
	modified:   frontend/src/components/Sidebar.tsx
	new file:   frontend/src/pages/DatabaseSchema.tsx
	modified:   frontend/src/services/api.ts
2026-01-27 23:42:25 +03:00
a873e18d35 modified: frontend/src/pages/SqlInterface.tsx 2026-01-27 23:33:33 +03:00
971e6d3758 modified: frontend/src/components/SqlEditor.tsx 2026-01-27 23:29:03 +03:00
45f039546b modified: backend/src/server.ts
modified:   frontend/src/App.tsx
	modified:   frontend/src/components/Sidebar.tsx
	modified:   frontend/src/services/api.ts
2026-01-27 23:27:35 +03:00
dae878089d modified: frontend/src/components/SqlEditor.tsx
modified:   frontend/src/pages/SqlInterface.tsx
2026-01-27 23:25:56 +03:00
6b507425aa modified: frontend/src/pages/SqlInterface.tsx 2026-01-27 23:23:44 +03:00
eeebcdac57 modified: frontend/src/pages/SqlInterface.tsx 2026-01-27 23:14:44 +03:00
767307857e modified: backend/.env.example
new file:   backend/src/controllers/sqlInterfaceController.ts
	new file:   backend/src/routes/sqlInterface.ts
	modified:   backend/src/server.ts
	modified:   docker-compose.external-db.yml
	modified:   frontend/src/App.tsx
	modified:   frontend/src/components/Sidebar.tsx
	new file:   frontend/src/pages/SqlInterface.tsx
	modified:   frontend/src/services/api.ts
2026-01-27 23:13:44 +03:00
58a319b66c modified: backend/src/controllers/dynamicApiController.ts
modified:   backend/src/controllers/endpointController.ts
	new file:   backend/src/migrations/007_add_detailed_response.sql
	modified:   frontend/src/components/EndpointModal.tsx
	modified:   frontend/src/types/index.ts
2025-12-18 14:50:33 +03:00
GEgorov
5255e0622e modified: frontend/src/components/EndpointModal.tsx 2025-12-15 16:20:39 +03:00
GEgorov
afd79b9c2e modified: frontend/src/components/EndpointModal.tsx 2025-12-15 16:18:51 +03:00
GEgorov
d8785d86cd modified: frontend/src/components/Sidebar.tsx 2025-10-12 19:33:04 +03:00
GEgorov
8275f58496 modified: frontend/src/App.tsx
modified:   frontend/src/components/Sidebar.tsx
2025-10-12 19:28:28 +03:00
GEgorov
2d6968486d modified: frontend/src/App.tsx 2025-10-12 19:22:47 +03:00
GEgorov
56b84ecf15 modified: frontend/src/App.tsx
modified:   frontend/src/components/Sidebar.tsx
2025-10-12 19:17:22 +03:00
GEgorov
867e108f1e modified: frontend/src/components/Sidebar.tsx 2025-10-12 19:15:01 +03:00
GEgorov
09dfc25c03 modified: frontend/src/components/Sidebar.tsx 2025-10-12 19:10:25 +03:00
GEgorov
78c1024176 modified: frontend/src/pages/Login.tsx 2025-10-12 18:06:59 +03:00
GEgorov
c85fa20634 modified: backend/src/services/DatabasePoolManager.ts
modified:   backend/src/services/ScriptExecutor.ts
	modified:   backend/src/types/index.ts
	modified:   frontend/src/components/CodeEditor.tsx
	modified:   frontend/src/components/EndpointModal.tsx
	deleted:    frontend/src/pages/Databases.tsx
	modified:   frontend/src/pages/Settings.tsx
	modified:   frontend/src/types/index.ts
2025-10-07 20:16:53 +03:00
GEgorov
65e4f5b423 modified: frontend/src/pages/Databases.tsx
modified:   frontend/src/pages/Settings.tsx
2025-10-07 19:59:48 +03:00
GEgorov
713e9ba7f7 modified: backend/src/controllers/databaseManagementController.ts
modified:   backend/src/controllers/dynamicApiController.ts
	modified:   backend/src/controllers/endpointController.ts
	new file:   backend/src/migrations/005_add_aql_support.sql
	new file:   backend/src/services/AqlExecutor.ts
	modified:   backend/src/types/index.ts
	modified:   frontend/src/components/EndpointModal.tsx
	modified:   frontend/src/pages/Databases.tsx
	modified:   frontend/src/types/index.ts
2025-10-07 19:33:50 +03:00
GEgorov
ea1b3162fc modified: frontend/src/components/SqlEditor.tsx 2025-10-07 01:31:04 +03:00
GEgorov
634d220480 modified: frontend/src/components/SqlEditor.tsx 2025-10-07 01:17:42 +03:00
GEgorov
88e7d408f8 modified: frontend/src/components/EndpointModal.tsx 2025-10-07 01:15:59 +03:00
GEgorov
34b771f158 modified: frontend/src/components/EndpointModal.tsx 2025-10-07 01:08:43 +03:00
GEgorov
566f97f177 modified: frontend/src/pages/ApiKeys.tsx 2025-10-07 00:55:15 +03:00
GEgorov
755afba763 modified: frontend/index.html 2025-10-07 00:49:35 +03:00