Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions plugins/OpenF1/v1/configValidation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"steps": [
{
"displayName": "Connect to OpenF1",
"dataStream": { "name": "connectionCheck" },
"required": true,
"error": "Could not reach the OpenF1 API (https://api.openf1.org). Check your network connection or agent egress.",
"success": "Connected to OpenF1 successfully."
}
]
}
23 changes: 23 additions & 0 deletions plugins/OpenF1/v1/custom_types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[
{
"name": "F1 Meeting",
"sourceType": "F1 Meeting",
"icon": "flag-checkered",
"singular": "Meeting",
"plural": "Meetings"
},
{
"name": "F1 Session",
"sourceType": "F1 Session",
"icon": "stopwatch",
"singular": "Session",
"plural": "Sessions"
},
{
"name": "F1 Driver",
"sourceType": "F1 Driver",
"icon": "helmet-safety",
"singular": "Driver",
"plural": "Drivers"
}
]
76 changes: 76 additions & 0 deletions plugins/OpenF1/v1/dataStreams/championshipDrivers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"name": "championshipDrivers",
"displayName": "Championship Drivers",
"description": "Current drivers' championship standings",
"tags": [
"Championship",
"Driver"
],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/championship_drivers",
"getArgs": [
{
"key": "session_key",
"value": "latest"
}
]
},
"matches": "none",
"timeframes": false,
"defaultShaping": {
"sort": {
"by": [
[
"position_current",
"asc"
]
]
}
},
"metadata": [
{
"name": "position_current",
"displayName": "Position",
"shape": "number",
"role": "value"
},
{
"name": "driver_number",
"displayName": "Driver #",
"shape": "number",
"role": "label",
"sourceId": "driver_number",
"sourceType": "F1 Driver"
Comment thread
coderabbitai[bot] marked this conversation as resolved.
},
{
"name": "driverName",
"displayName": "Driver",
"sourceId": "driver_number",
"sourceType": "F1 Driver",
"objectPropertyPath": "name"
},
Comment thread
coderabbitai[bot] marked this conversation as resolved.
{
"name": "driverTeam",
"displayName": "Team",
"sourceId": "driver_number",
"objectPropertyPath": "team_name"
},
{
"name": "points_current",
"displayName": "Points",
"shape": "number"
},
{
"name": "position_start",
"displayName": "Prev Position",
"shape": "number"
},
{
"name": "points_start",
"displayName": "Prev Points",
"shape": "number"
}
]
}
22 changes: 22 additions & 0 deletions plugins/OpenF1/v1/dataStreams/championshipTeams.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "championshipTeams",
"displayName": "Championship Teams",
"description": "Current constructors' championship standings, one row per team",
"tags": ["Championship", "Results"],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/championship_teams",
"getArgs": [{ "key": "session_key", "value": "latest" }]
},
"matches": "none",
"timeframes": false,
"defaultShaping": { "sort": { "by": [["position_current", "asc"]] } },
"metadata": [
{ "name": "position_current", "displayName": "Position", "shape": "number", "role": "value" },
{ "name": "team_name", "displayName": "Team", "shape": "string", "role": "label" },
{ "name": "points_current", "displayName": "Points", "shape": "number" },
{ "name": "position_start", "displayName": "Prev Position", "shape": "number" },
{ "name": "points_start", "displayName": "Prev Points", "shape": "number" }
]
}
48 changes: 48 additions & 0 deletions plugins/OpenF1/v1/dataStreams/connectionCheck.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"name": "connectionCheck",
"displayName": "Connection Check",
"description": "Most recent session, used to confirm the OpenF1 API is reachable",
"tags": [
"Session"
],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/sessions",
"getArgs": [
{
"key": "session_key",
"value": "latest"
}
]
},
"matches": "none",
"timeframes": false,
"visibility": {
"type": "hidden"
},
"metadata": [
{
"name": "session_key",
"displayName": "Session Key",
"shape": "number",
"role": "id"
},
{
"name": "session_name",
"displayName": "Session",
"shape": "string",
"role": "label"
},
{
"name": "country_name",
"displayName": "Country",
"shape": "string"
},
{
"name": "year",
"displayName": "Year",
"shape": "number"
}
]
}
24 changes: 24 additions & 0 deletions plugins/OpenF1/v1/dataStreams/drivers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "drivers",
"displayName": "Drivers",
"description": "Current Formula 1 drivers with car number, team, nationality and headshot, from the latest session",
"tags": ["Driver"],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/drivers",
"getArgs": [{ "key": "session_key", "value": "latest" }]
},
"matches": "none",
"timeframes": false,
"visibility": { "type": "hidden" },
"metadata": [
{ "name": "driver_number", "displayName": "Number", "shape": "number", "role": "id" },
{ "name": "full_name", "displayName": "Driver", "shape": "string", "role": "label" },
{ "name": "name_acronym", "displayName": "Code", "shape": "string" },
{ "name": "team_name", "displayName": "Team", "shape": "string" },
{ "name": "team_colour", "displayName": "Team Colour", "shape": "string" },
{ "name": "country_code", "displayName": "Country", "shape": "string" },
{ "name": "headshot_url", "displayName": "Headshot", "shape": "url" }
]
}
106 changes: 106 additions & 0 deletions plugins/OpenF1/v1/dataStreams/laps.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"name": "laps",
"displayName": "Laps",
"description": "Lap-by-lap timing for each driver in a session",
"tags": [
"Session",
"Laps"
],
"baseDataSourceName": "httpRequestScopedSingle",
"config": {
"httpMethod": "get",
"endpointPath": "/laps",
"getArgs": [
{
"key": "session_key",
"value": "{{object.rawId}}"
}
]
},
"matches": {
"sourceType": {
"type": "oneOf",
"values": [
"F1 Session"
]
}
},
"timeframes": false,
"defaultShaping": {
"sort": {
"by": [
[
"lap_number",
"asc"
]
]
}
},
"metadata": [
{
"name": "date_start",
"displayName": "Lap Start",
"shape": "date",
"role": "timestamp"
},
{
"name": "driver_number",
"displayName": "Driver Number",
"shape": "number",
"role": "label"
},
{
"name": "driverName",
"displayName": "Driver",
"sourceId": "driver_number",
"sourceType": "F1 Driver",
"objectPropertyPath": "name"
},
{
"name": "lap_number",
"displayName": "Lap",
"shape": "number"
},
{
"name": "lap_duration",
"displayName": "Lap Time",
"shape": "seconds",
"role": "value"
},
{
"name": "duration_sector_1",
"displayName": "Sector 1",
"shape": "seconds"
},
{
"name": "duration_sector_2",
"displayName": "Sector 2",
"shape": "seconds"
},
{
"name": "duration_sector_3",
"displayName": "Sector 3",
"shape": "seconds"
},
{
"name": "i1_speed",
"displayName": "Speed I1 (km/h)",
"shape": "number"
},
{
"name": "i2_speed",
"displayName": "Speed I2 (km/h)",
"shape": "number"
},
{
"name": "st_speed",
"displayName": "Speed Trap (km/h)",
"shape": "number"
},
{
"name": "is_pit_out_lap",
"displayName": "Pit Out Lap",
"shape": "boolean"
}
]
}
29 changes: 29 additions & 0 deletions plugins/OpenF1/v1/dataStreams/meetingSessions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "meetingSessions",
"displayName": "Meeting Sessions",
"description": "Sessions that make up a race weekend",
"tags": ["Session"],
"baseDataSourceName": "httpRequestScopedSingle",
"config": {
"httpMethod": "get",
"endpointPath": "/sessions",
"getArgs": [{ "key": "meeting_key", "value": "{{object.rawId}}" }]
},
"matches": { "sourceType": { "type": "oneOf", "values": ["F1 Meeting"] } },
"timeframes": false,
"defaultShaping": { "sort": { "by": [["date_start", "asc"]] } },
"metadata": [
{
"name": "session_name",
"displayName": "Session",
"shape": "string",
"role": "label",
"sourceId": "session_key",
"sourceType": "F1 Session"
},
{ "name": "session_type", "displayName": "Type", "shape": "string" },
{ "name": "date_start", "displayName": "Start", "shape": "date", "role": "timestamp" },
{ "name": "date_end", "displayName": "End", "shape": "date" },
{ "name": "session_key", "displayName": "Session Key", "shape": "number", "visible": false }
]
}
28 changes: 28 additions & 0 deletions plugins/OpenF1/v1/dataStreams/meetings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "meetings",
"displayName": "Meetings",
"description": "Formula 1 race weekends with circuit, country and dates",
"tags": ["Meeting"],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/meetings"
},
"matches": "none",
"timeframes": false,
"visibility": { "type": "hidden" },
"metadata": [
{ "name": "meeting_key", "displayName": "Meeting Key", "shape": "string", "role": "id" },
{ "name": "meeting_name", "displayName": "Meeting", "shape": "string" },
{ "name": "objectName", "displayName": "Name", "shape": "string", "role": "label", "computed": true, "valueExpression": "{{ $['meeting_name'] }} {{ $['year'] }}" },
{ "name": "meeting_official_name", "displayName": "Official Name", "shape": "string" },
{ "name": "year", "displayName": "Year", "shape": "number" },
{ "name": "country_name", "displayName": "Country", "shape": "string" },
{ "name": "country_code", "displayName": "Country Code", "shape": "string" },
{ "name": "location", "displayName": "Location", "shape": "string" },
{ "name": "circuit_short_name", "displayName": "Circuit", "shape": "string" },
{ "name": "circuit_type", "displayName": "Circuit Type", "shape": "string" },
{ "name": "date_start", "displayName": "Start", "shape": "date" },
{ "name": "date_end", "displayName": "End", "shape": "date" }
]
}
Loading
Loading