Skip to content

Commit c25e81c

Browse files
committed
Set default start/end date
1 parent aea0066 commit c25e81c

3 files changed

Lines changed: 151 additions & 289 deletions

File tree

packages/api/src/openapi.ts

Lines changed: 96 additions & 226 deletions
Original file line numberDiff line numberDiff line change
@@ -17,69 +17,12 @@ export default {
1717
description:
1818
"Returns high and low tide predictions for the nearest station to the given coordinates",
1919
parameters: [
20-
{
21-
name: "latitude",
22-
in: "query",
23-
description: "Latitude",
24-
required: true,
25-
schema: {
26-
type: "number",
27-
minimum: -90,
28-
maximum: 90,
29-
},
30-
},
31-
{
32-
name: "longitude",
33-
in: "query",
34-
description: "Longitude",
35-
required: true,
36-
schema: {
37-
type: "number",
38-
minimum: -180,
39-
maximum: 180,
40-
},
41-
},
42-
{
43-
name: "start",
44-
in: "query",
45-
required: true,
46-
description: "Start date/time (ISO 8601 format)",
47-
schema: {
48-
type: "string",
49-
format: "date-time",
50-
},
51-
},
52-
{
53-
name: "end",
54-
in: "query",
55-
required: true,
56-
description: "End date/time (ISO 8601 format)",
57-
schema: {
58-
type: "string",
59-
format: "date-time",
60-
},
61-
},
62-
{
63-
name: "datum",
64-
in: "query",
65-
required: false,
66-
description: "Vertical datum (defaults to MLLW if available)",
67-
schema: {
68-
type: "string",
69-
enum: ["MLLW", "MLW", "MTL", "MSL", "MHW", "MHHW"],
70-
},
71-
},
72-
{
73-
name: "units",
74-
in: "query",
75-
required: false,
76-
description: "Units for water levels (defaults to meters)",
77-
schema: {
78-
type: "string",
79-
enum: ["meters", "feet"],
80-
default: "meters",
81-
},
82-
},
20+
{ $ref: "#/components/parameters/latitude" },
21+
{ $ref: "#/components/parameters/longitude" },
22+
{ $ref: "#/components/parameters/start" },
23+
{ $ref: "#/components/parameters/end" },
24+
{ $ref: "#/components/parameters/datum" },
25+
{ $ref: "#/components/parameters/units" },
8326
],
8427
responses: {
8528
"200": {
@@ -110,69 +53,12 @@ export default {
11053
summary: "Get timeline prediction for a location",
11154
description: "Returns water level predictions at regular intervals for the nearest station",
11255
parameters: [
113-
{
114-
name: "latitude",
115-
in: "query",
116-
description: "Latitude",
117-
required: true,
118-
schema: {
119-
type: "number",
120-
minimum: -90,
121-
maximum: 90,
122-
},
123-
},
124-
{
125-
name: "longitude",
126-
in: "query",
127-
description: "Longitude",
128-
required: true,
129-
schema: {
130-
type: "number",
131-
minimum: -180,
132-
maximum: 180,
133-
},
134-
},
135-
{
136-
name: "start",
137-
in: "query",
138-
required: true,
139-
description: "Start date/time (ISO 8601 format)",
140-
schema: {
141-
type: "string",
142-
format: "date-time",
143-
},
144-
},
145-
{
146-
name: "end",
147-
in: "query",
148-
required: true,
149-
description: "End date/time (ISO 8601 format)",
150-
schema: {
151-
type: "string",
152-
format: "date-time",
153-
},
154-
},
155-
{
156-
name: "datum",
157-
in: "query",
158-
required: false,
159-
description: "Vertical datum (defaults to MLLW if available)",
160-
schema: {
161-
type: "string",
162-
enum: ["MLLW", "MLW", "MTL", "MSL", "MHW", "MHHW"],
163-
},
164-
},
165-
{
166-
name: "units",
167-
in: "query",
168-
required: false,
169-
description: "Units for water levels (defaults to meters)",
170-
schema: {
171-
type: "string",
172-
enum: ["meters", "feet"],
173-
default: "meters",
174-
},
175-
},
56+
{ $ref: "#/components/parameters/latitude" },
57+
{ $ref: "#/components/parameters/longitude" },
58+
{ $ref: "#/components/parameters/start" },
59+
{ $ref: "#/components/parameters/end" },
60+
{ $ref: "#/components/parameters/datum" },
61+
{ $ref: "#/components/parameters/units" },
17662
],
17763
responses: {
17864
"200": {
@@ -295,56 +181,11 @@ export default {
295181
get: {
296182
summary: "Get extremes prediction for a specific station",
297183
parameters: [
298-
{
299-
name: "id",
300-
in: "path",
301-
required: true,
302-
description: "Station ID or source ID",
303-
schema: {
304-
type: "string",
305-
},
306-
},
307-
{
308-
name: "start",
309-
in: "query",
310-
required: true,
311-
description: "Start date/time (ISO 8601 format)",
312-
schema: {
313-
type: "string",
314-
format: "date-time",
315-
},
316-
},
317-
{
318-
name: "end",
319-
in: "query",
320-
required: true,
321-
description: "End date/time (ISO 8601 format)",
322-
schema: {
323-
type: "string",
324-
format: "date-time",
325-
},
326-
},
327-
{
328-
name: "datum",
329-
in: "query",
330-
required: false,
331-
description: "Vertical datum (defaults to MLLW if available)",
332-
schema: {
333-
type: "string",
334-
enum: ["MLLW", "MLW", "MTL", "MSL", "MHW", "MHHW"],
335-
},
336-
},
337-
{
338-
name: "units",
339-
in: "query",
340-
required: false,
341-
description: "Units for water levels (defaults to meters)",
342-
schema: {
343-
type: "string",
344-
enum: ["meters", "feet"],
345-
default: "meters",
346-
},
347-
},
184+
{ $ref: "#/components/parameters/stationId" },
185+
{ $ref: "#/components/parameters/start" },
186+
{ $ref: "#/components/parameters/end" },
187+
{ $ref: "#/components/parameters/datum" },
188+
{ $ref: "#/components/parameters/units" },
348189
],
349190
responses: {
350191
"200": {
@@ -384,56 +225,11 @@ export default {
384225
get: {
385226
summary: "Get timeline prediction for a specific station",
386227
parameters: [
387-
{
388-
name: "id",
389-
in: "path",
390-
required: true,
391-
description: "Station ID or source ID",
392-
schema: {
393-
type: "string",
394-
},
395-
},
396-
{
397-
name: "start",
398-
in: "query",
399-
required: true,
400-
description: "Start date/time (ISO 8601 format)",
401-
schema: {
402-
type: "string",
403-
format: "date-time",
404-
},
405-
},
406-
{
407-
name: "end",
408-
in: "query",
409-
required: true,
410-
description: "End date/time (ISO 8601 format)",
411-
schema: {
412-
type: "string",
413-
format: "date-time",
414-
},
415-
},
416-
{
417-
name: "datum",
418-
in: "query",
419-
required: false,
420-
description: "Vertical datum (defaults to MLLW if available)",
421-
schema: {
422-
type: "string",
423-
enum: ["MLLW", "MLW", "MTL", "MSL", "MHW", "MHHW"],
424-
},
425-
},
426-
{
427-
name: "units",
428-
in: "query",
429-
required: false,
430-
description: "Units for water levels (defaults to meters)",
431-
schema: {
432-
type: "string",
433-
enum: ["meters", "feet"],
434-
default: "meters",
435-
},
436-
},
228+
{ $ref: "#/components/parameters/stationId" },
229+
{ $ref: "#/components/parameters/start" },
230+
{ $ref: "#/components/parameters/end" },
231+
{ $ref: "#/components/parameters/datum" },
232+
{ $ref: "#/components/parameters/units" },
437233
],
438234
responses: {
439235
"200": {
@@ -488,6 +284,80 @@ export default {
488284
},
489285
},
490286
components: {
287+
parameters: {
288+
latitude: {
289+
name: "latitude",
290+
in: "query",
291+
description: "Latitude",
292+
required: true,
293+
schema: {
294+
type: "number",
295+
minimum: -90,
296+
maximum: 90,
297+
},
298+
},
299+
longitude: {
300+
name: "longitude",
301+
in: "query",
302+
description: "Longitude",
303+
required: true,
304+
schema: {
305+
type: "number",
306+
minimum: -180,
307+
maximum: 180,
308+
},
309+
},
310+
start: {
311+
name: "start",
312+
in: "query",
313+
required: false,
314+
description: "Start date/time (ISO 8601 format, defaults to now)",
315+
schema: {
316+
type: "string",
317+
format: "date-time",
318+
},
319+
},
320+
end: {
321+
name: "end",
322+
in: "query",
323+
required: false,
324+
description: "End date/time (ISO 8601 format, defaults to 7 days from start)",
325+
schema: {
326+
type: "string",
327+
format: "date-time",
328+
},
329+
},
330+
datum: {
331+
name: "datum",
332+
in: "query",
333+
required: false,
334+
description: "Vertical datum (defaults to MLLW if available)",
335+
schema: {
336+
type: "string",
337+
enum: ["MLLW", "MLW", "MTL", "MSL", "MHW", "MHHW"],
338+
},
339+
},
340+
units: {
341+
name: "units",
342+
in: "query",
343+
required: false,
344+
description: "Units for water levels (defaults to meters)",
345+
schema: {
346+
type: "string",
347+
enum: ["meters", "feet"],
348+
default: "meters",
349+
},
350+
},
351+
stationId: {
352+
name: "id",
353+
in: "path",
354+
required: true,
355+
description: "Station ID or source ID",
356+
schema: {
357+
type: "string",
358+
},
359+
},
360+
},
491361
schemas: {
492362
Station: {
493363
type: "object",

0 commit comments

Comments
 (0)