diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2024-08-24 19:42:01 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2024-08-24 19:42:01 +0000 |
| commit | 8d36b0b75904812ba8f6b9e38b50660dfbe78d0d (patch) | |
| tree | 2b9a3b4e0df111b4a6ff94b7d1b7be43c9efdaf8 /src/graphql/types | |
| parent | d1160f2aa59db4489aad506aaa063be4966609ce (diff) | |
Add new position
```
curl -X POST http://localhost:8000/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TOKEN" \
-d '{
"query": "mutation NewPosition($input: PositionInput!) { newPosition(input: $input) { id userId createdAt latitude longitude movingActivity } }",
"variables": {
"input": {
"latitude": 44.502952,
"longitude": 11.3114988,
"movingActivity": "IN_VEHICLE"
}
}
}'
```
Diffstat (limited to 'src/graphql/types')
| -rw-r--r-- | src/graphql/types/position.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/graphql/types/position.rs b/src/graphql/types/position.rs index 5807534..8610fcb 100644 --- a/src/graphql/types/position.rs +++ b/src/graphql/types/position.rs @@ -1,5 +1,5 @@ use crate::{dates::GraphQLDate, graphql::types::jwt::Authentication, state::AppState}; -use async_graphql::{Context, Enum, Object}; +use async_graphql::{Context, Enum, InputObject, Object}; use chrono::Utc; use serde::{Deserialize, Serialize}; use std::error::Error; @@ -78,6 +78,14 @@ pub struct Position { pub moving_activity: MovingActivity, } +#[derive(InputObject)] +/// Position input struct +pub struct PositionInput { + pub latitude: f64, + pub longitude: f64, + pub moving_activity: MovingActivity, +} + #[Object] impl Position { async fn id(&self) -> i32 { |
