Complete operational map result workflow
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 12:35:50 +02:00
parent 8266929b2e
commit a29c787238
33 changed files with 1121 additions and 107 deletions
+4
View File
@@ -4,6 +4,7 @@ import type {
ExportCreateResponse,
ExportKind,
ExportListResponse,
MapResultExportRequest,
ExportRead,
VectorSelectionBBox,
} from '../../types'
@@ -14,6 +15,7 @@ export const exportsApi = {
| {
dataset_id?: string
analysis_run_id?: string
area_id?: string
export_kind?: ExportKind
name?: string
bbox?: VectorSelectionBBox
@@ -28,6 +30,8 @@ export const exportsApi = {
apiPost<ExportCreateResponse>(`/api/v1/exports/metadata`, { project_id: projectId, name }),
exportProjectReport: (projectId: string, name?: string): Promise<ExportCreateResponse> =>
apiPost<ExportCreateResponse>(`/api/v1/exports/report`, { project_id: projectId, name }),
exportMapResult: (payload: MapResultExportRequest): Promise<ExportCreateResponse> =>
apiPost<ExportCreateResponse>(`/api/v1/exports/map-result`, payload),
listProjectExports: (projectId: string): Promise<ExportListResponse> =>
apiGet<ExportListResponse>(`/api/v1/exports/projects/${projectId}/exports`),
getExport: (exportId: string): Promise<ExportRead> => apiGet<ExportRead>(`/api/v1/exports/${exportId}`),
+7 -1
View File
@@ -2,7 +2,13 @@ import { apiDelete, apiGet, apiPatch, apiPost } from './client'
import type { ProjectCreate, ProjectListResponse, ProjectRead } from '../../types'
export const projectsApi = {
list: (): Promise<ProjectListResponse> => apiGet<ProjectListResponse>('/api/v1/projects'),
list: (options?: { name?: string; limit?: number }): Promise<ProjectListResponse> => {
const search = new URLSearchParams()
if (options?.name) search.set('name', options.name)
if (options?.limit) search.set('limit', String(options.limit))
const query = search.toString()
return apiGet<ProjectListResponse>(`/api/v1/projects${query ? `?${query}` : ''}`)
},
create: (payload: ProjectCreate): Promise<ProjectRead> => apiPost<ProjectRead>('/api/v1/projects', payload),
get: (id: string): Promise<ProjectRead> => apiGet<ProjectRead>(`/api/v1/projects/${id}`),
update: (id: string, payload: Partial<ProjectCreate>): Promise<ProjectRead> =>