feat: predictor works

This commit is contained in:
Anatoly Antonov 2025-06-26 01:15:37 +03:00
parent 11be8f351f
commit 7a9f81e527
20 changed files with 1357 additions and 1794 deletions

View file

@ -4,25 +4,77 @@ info:
version: 0.0.1
paths:
/api/v1/prediction:
post:
get:
tags:
- Prediction
summary: Perform preidction
summary: Perform prediction
operationId: performPrediction
parameters:
- in: query
name: parameters
required: false
name: launch_latitude
schema:
$ref: '#/components/schemas/PredictionParameters'
style: form
explode: true
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionParameters'
type: number
- in: query
name: launch_longitude
schema:
type: number
- in: query
name: launch_datetime
schema:
type: string
format: date-time
- in: query
name: launch_altitude
schema:
type: number
- in: query
name: profile
schema:
type: string
enum: [standard_profile, float_profile, reverse_profile, custom_profile]
- in: query
name: ascent_rate
schema:
type: number
- in: query
name: burst_altitude
schema:
type: number
- in: query
name: descent_rate
schema:
type: number
- in: query
name: float_altitude
schema:
type: number
- in: query
name: stop_datetime
schema:
type: string
format: date-time
- in: query
name: ascent_curve
schema:
type: string
- in: query
name: descent_curve
schema:
type: string
- in: query
name: interpolate
schema:
type: boolean
- in: query
name: format
schema:
type: string
enum: [json]
- in: query
name: dataset
schema:
type: string
format: date-time
responses:
"200":
description: "Prediction response"
@ -67,48 +119,6 @@ components:
type: string
details:
type: string
PredictionParameters:
type: object
properties:
launch_latitude: # TODO: altitude not required with fallback to https://github.com/priyeshpatel/ruaumoko Go analog
type: number
launch_longitude:
type: number
launch_datetime:
type: string
format: date-time
launch_altitude:
type: number
profile:
type: string
enum: ["standard_profile", "float_profile", "reverse_profile", "custom_profile"]
ascent_rate:
type: number
burst_altitude:
type: number
descent_rate:
type: number
float_altitude:
type: number
stop_datetime:
type: string
format: date-time
ascent_curve:
type: string
description: "Base64 encoded ascent curve"
descent_curve:
type: string
description: "Base64 encoded descent curve"
interpolate:
type: boolean
default: false
format: # TODO: custom output format (csv, kml) with json as default
type: string
enum: ["json"]
default: json
dataset:
type: string
format: date-time
PredictionResult:
type: object
required: