From 3f3f9551ee36f8743a65d774f5212a34dea1affc Mon Sep 17 00:00:00 2001 From: Lorna Jane Mitchell Date: Tue, 2 Apr 2024 16:16:44 +0100 Subject: [PATCH] docs: Update API examples list to include Museum API (#2506) * feat: Update API examples list to include Museum API * updates museum.yaml with logo and replaces petstore with museum api in playground for local dev and some minor edits to redoc name * docs: update definition --------- Co-authored-by: Heather Cloward Co-authored-by: Alex Varchuk --- demo/index.html | 93 ++-- demo/index.tsx | 9 +- demo/museum-logo.png | Bin 0 -> 2601 bytes demo/museum.yaml | 772 +++++++++++++++++++++++++++++ demo/playground/hmr-playground.tsx | 2 +- demo/playground/index.html | 43 +- demo/webpack.config.ts | 2 +- 7 files changed, 856 insertions(+), 65 deletions(-) create mode 100644 demo/museum-logo.png create mode 100644 demo/museum.yaml diff --git a/demo/index.html b/demo/index.html index 8675b407..8d751a6b 100644 --- a/demo/index.html +++ b/demo/index.html @@ -1,46 +1,63 @@ + + + Redoc Interactive Demo + + - - - ReDoc Interactive Demo - - + + + + - - - - + + + - redoc { - display: block; - } - - - + +
- -
+ - - - \ No newline at end of file + if (window.location.host === 'rebilly.github.io') { + ga('create', 'UA-81703547-1', 'auto'); + ga('send', 'pageview'); + } + + + diff --git a/demo/index.tsx b/demo/index.tsx index 048aea86..2c0e3359 100644 --- a/demo/index.tsx +++ b/demo/index.tsx @@ -5,11 +5,12 @@ import { RedocStandalone } from '../src'; import ComboBox from './ComboBox'; import FileInput from './components/FileInput'; -const DEFAULT_SPEC = 'openapi.yaml'; -const NEW_VERSION_SPEC = 'openapi-3-1.yaml'; +const DEFAULT_SPEC = 'museum.yaml'; +const NEW_VERSION_PETSTORE = 'openapi-3-1.yaml'; const demos = [ - { value: NEW_VERSION_SPEC, label: 'Petstore OpenAPI 3.1' }, + { value: DEFAULT_SPEC, label: 'Museum API' }, + { value: NEW_VERSION_PETSTORE, label: 'Petstore OpenAPI 3.1' }, { value: 'https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml', label: 'Instagram' }, { value: 'https://api.apis.guru/v2/specs/googleapis.com/calendar/v3/openapi.yaml', @@ -54,7 +55,7 @@ class DemoApp extends React.Component< }; handleChange = (url: string) => { - if (url === NEW_VERSION_SPEC) { + if (url === NEW_VERSION_PETSTORE) { this.setState({ cors: false }); 0; } diff --git a/demo/museum-logo.png b/demo/museum-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c613d99183d63ad5f46e7902231c03e14e22652e GIT binary patch literal 2601 zcmV+^3fA?BP)v5fO=riOb8&?Ck85laotJON4}kJUl#JUS1&~AvQKPsi~<(Mn;B)hI)E> zARr)FSy?D3C>R(RV`F0s3=BX(K%J|>4FCWMV@X6oRCt{2U3*_5F${D?d4s$K(G&EP z)9?QQ56{PuWTq5L*}dOo{*6_#r@=PR)`Jc5AK?PM@skbj-S^?w z<2in_-0~Yc4y#(p{_jDr|I2#){PFxXcK$Ydw{MToWLG!HHVE%!*82FgC;mSE{A(Xf z`Ng=3tghX(o{D6*kRSEFK7enfyMDD;U2A6F8*iCm7s_I=`x(qEcm3X3HPD*L6{2sn`4B3m1Fshcj>=@*_VY5N#>et0)R0CO(RpA?CV$QRgE(@P^Nm=u!O} z;xzg@h}31`0-fcHz14Jf(9eJH@wM3@U#hJ@N;r%odZ$YP?1NFWS54G+MD}bgp;4*zbQ{^X>Ah z$rg**43v^@NKTV$eBCM`v0#4Ke}|GWO`OAV*#YduC^14^)>RLK{Xv9Lb^v>kEVGVB zck9<@P@0yHmzS66^haud8ogRFuHJF}hTay(cG2;lW8Ua|ps|Na#9G!nI|vcYTI!xv-w3jF$?c>>lr2IzGodUX9pYngF6;vDNU8Q`i%|L<%3iV{=VKw2aIjkQ38_J6 zYif{whtw{q0rIh^3A+uypj<@ACh*IF3`tQ^!sqJRT-XIjgj@y6woW4lavZRfs}6j& z>oP)~1*9H!xF8vcwYW{FxR&}OpY4XQ3%o&Oftqb;Sc=c9fTdit=Mkz^MV?lQ$O|Sy zK6~AOrF4kTwp@@3(4-SZD4)GWz*0KI$Ksn2CaX^j^4VK*L)je^7z-s<(mbbDkS9rD za45f<+)_Ej*P3LtQnZ+z$||A9Ck2vXg``;J5T9+ybPKxBqAqyQ^4tMXGjqo+Rhr{n z32H@&W&w4JzY^w$#N|Rc#LzV{R z_bsYEh78fllm@r9t@}sOD6Q*F80ijZj@MAa^7|QLKRCr4l)>`&4HYr3UJP ze8|$EoA0=#UUj5~s?CDtxq-Ah`f|(%)IbIz9K>3xCV>ZLw~D=B8sa02c1YRLEYOX; zU>fwy@Om}cA!SEt(j@kRY0!T2NDK5k=x&Uqr&wd?GPIaRWk5*)o z+i=B8Te8{KOqXVIZMRAcCGs|0@zR!TwoPv*%jB^`mI!?tu6V`Hw&wCI3-q*ICP`S| zhE@XS+LDch=JJdP*0fz7Nmx@Xt_NwVLbWkn6tO&4*LHaXQ{y+)gG^&Fs~Jp$gz6e* zkVj5514-pX;}8>%bv?#1xyhTf%u0fp8OoD8+LBd8x>{kG+*~lAw+6P9AX?|`li|INAjFu27x}!1elqj9LqSwX4`DFC3(&;gFKS3 z@tcZmCXq9Fe60;ho-=tfk0flj&#=}B;}Dx|v$K#yXtGM49$GE)au#VEVlA&`J2T1T zCadI;6Yb2f2(3dTLbLOa5J9{7FiV%Pof)QhS%=8;Y|aZIM9}V_%MziT877#TL{7%S zlngA-*|Q|FoYG?lk_o2PAv_kQ24RA!-6NkxFtvU&J;)xpfNKU*t*|_2kEq~!djjl0 zGCjy1Yk|dM8zG^(cE5TSInnO@XL^uz2+y{u$5xzWtvC0pbW9E+dU4rT$PFtZ^`1DY9JX(NXq-vo9rLck1i2sLPCaHS2% z7#<5?2gNq4@@47!vVt(H($J72t^zm&UUfz1HD(ZMkl(mUL&xKxu|OFX(j;^kT?QEg zo!o}2G&JOBEZ{j}=z{1#*bGJfYSh#i;oEe9C3;Hh)~*TPGz(x?fpf4Oj?<&ns1}YN zA$swZiQ`9z4x%j+9-&A0KSo$~L>kABuwF47KSGD2qUfwIs*ZIUe?tOW)sR*xdW2Pg zN9Yk&A88R@Z!W8jO}0Z69gdQ5p8hWoPL9LYOwmG9)p1xepGR0lc!VBd_2Cgpphf$t za^~9100000 LNkvXXu0mjfY$N8t literal 0 HcmV?d00001 diff --git a/demo/museum.yaml b/demo/museum.yaml new file mode 100644 index 00000000..4d6f55e0 --- /dev/null +++ b/demo/museum.yaml @@ -0,0 +1,772 @@ +openapi: 3.1.0 +info: + title: Redocly Museum API + description: An imaginary, but delightful Museum API for interacting with museum services and information. Built with love by Redocly. + version: 1.0.0 + contact: + email: team@redocly.com + url: 'https://redocly.com/docs/cli/' + x-logo: + url: 'https://redocly.github.io/redoc/museum-logo.png' + altText: Museum logo + license: + name: MIT + url: 'https://opensource.org/license/mit/ ' +servers: + - url: 'https://api.fake-museum-example.com/v1' +paths: + /museum-hours: + get: + summary: Get museum hours + description: Get upcoming museum operating hours + operationId: getMuseumHours + tags: + - Operations + parameters: + - $ref: '#/components/parameters/StartDate' + - $ref: '#/components/parameters/PaginationPage' + - $ref: '#/components/parameters/PaginationLimit' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetMuseumHoursResponse' + examples: + default: + summary: Museum opening hours + value: + - date: '2023-09-11' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-12' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-13' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-17' + timeOpen: '09:00' + timeClose: '18:00' + closed: + summary: The museum is closed + value: [] + + '400': + description: Bad request + '404': + description: Not found + /special-events: + post: + security: [] + operationId: CreateSpecialEvent + summary: Create special event + tags: + - Events + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSpecialEventRequest' + examples: + default_example: + $ref: '#/components/examples/CreateSpecialEventRequestExample' + responses: + '200': + description: success + content: + application/json: + schema: + $ref: '#/components/schemas/SpecialEventResponse' + examples: + default_example: + $ref: '#/components/examples/CreateSpecialEventResponseExample' + '400': + description: Bad request + '404': + description: Not found + get: + summary: List special events + description: Return a list of upcoming special events at the museum. + security: [] + operationId: listSpecialEvents + tags: + - Events + parameters: + - name: startDate + in: query + description: The starting date to retrieve future operating hours from. Defaults to today's date. + schema: + type: string + format: date + example: 2023-02-23 + - name: endDate + in: query + description: The end of a date range to retrieve special events for. Defaults to 7 days after `startDate`. + schema: + type: string + format: date + example: 2023-04-18 + - name: page + in: query + description: The page number to retrieve. + schema: + type: integer + default: 1 + example: 2 + - name: limit + in: query + description: The number of days per page. + schema: + type: integer + default: 10 + maximum: 30 + example: 15 + + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListSpecialEventsResponse' + examples: + default_example: + $ref: '#/components/examples/ListSpecialEventsResponseExample' + '400': + description: Bad request + '404': + description: Not found + /special-events/{eventId}: + get: + summary: Get special event + description: Get details about a special event. + operationId: getSpecialEvent + tags: + - Events + parameters: + - $ref: '#/components/parameters/EventId' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SpecialEventResponse' + examples: + default_example: + $ref: '#/components/examples/GetSpecialEventResponseExample' + '400': + description: Bad request + '404': + description: Not found + patch: + summary: Update special event + description: Update the details of a special event + operationId: updateSpecialEvent + tags: + - Events + parameters: + - $ref: '#/components/parameters/EventId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSpecialEventRequest' + examples: + default_example: + $ref: '#/components/examples/UpdateSpecialEventRequestExample' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SpecialEventResponse' + examples: + default_example: + $ref: '#/components/examples/UpdateSpecialEventResponseExample' + '400': + description: Bad request + '404': + description: Not found + delete: + summary: Delete special event + description: Delete a special event from the collection. Allows museum to cancel planned events. + operationId: deleteSpecialEvent + tags: + - Events + parameters: + - $ref: '#/components/parameters/EventId' + responses: + '204': + description: Success - no content + '400': + description: Bad request + '401': + description: Unauthorized + '404': + description: Not found + /tickets: + post: + summary: Buy museum tickets + description: Purchase museum tickets for general entry or special events. + operationId: buyMuseumTickets + tags: + - Tickets + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BuyMuseumTicketsRequest' + examples: + general_entry: + $ref: '#/components/examples/BuyGeneralTicketsRequestExample' + event_entry: + $ref: '#/components/examples/BuyEventTicketsRequestExample' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/BuyMuseumTicketsResponse' + examples: + general_entry: + $ref: '#/components/examples/BuyGeneralTicketsResponseExample' + event_entry: + $ref: '#/components/examples/BuyEventTicketsResponseExample' + '400': + description: Bad request + '404': + description: Not found + /tickets/{ticketId}/qr: + get: + summary: Get ticket QR code + description: Return an image of your ticket with scannable QR code. Used for event entry. + operationId: getTicketCode + tags: + - Tickets + parameters: + - $ref: '#/components/parameters/TicketId' + responses: + '200': + description: Scannable event ticket in image format + content: + image/png: + schema: + $ref: '#/components/schemas/GetTicketCodeResponse' + '400': + description: Bad request + '404': + description: Not found +components: + schemas: + SpecialEvent: + description: Request payload for creating new special events at the museum. + properties: + name: + description: Name of the special event + type: string + example: Fossil lecture + location: + description: Location where the special event is held + type: string + example: Lecture theatre + eventDescription: + description: Description of the special event + type: string + example: Our panel of experts will share their favorite fossils and explain why they are so great. + dates: + description: List of planned dates for the special event + type: array + items: + type: string + format: date + example: 2024-03-29 + price: + description: Price of a ticket for the special event + type: number + format: float + example: 12.50 + + TicketType: + description: Type of ticket being purchased. Use `general` for regular museum entry and `event` for tickets to special events. + type: string + enum: + - event + - general + example: event + Date: + type: string + format: date + example: 2023-10-29 + Email: + description: Email address for ticket purchaser. + type: string + format: email + example: museum-lover@example.com + Phone: + description: Phone number for the ticket purchaser (optional). + type: string + example: +1(234)-567-8910 + BuyMuseumTicketsRequest: + description: Request payload used for purchasing museum tickets. + type: object + properties: + ticketType: + $ref: '#/components/schemas/TicketType' + eventId: + description: Unique identifier for a special event. Required if purchasing tickets for the museum's special events. + $ref: '#/components/schemas/EventId' + ticketDate: + description: Date that the ticket is valid for. + $ref: '#/components/schemas/Date' + email: + $ref: '#/components/schemas/Email' + phone: + $ref: '#/components/schemas/Phone' + required: + - ticketType + - ticketDate + - email + TicketMessage: + description: Confirmation message after a ticket purchase. + type: string + example: Museum general entry ticket purchased + TicketId: + description: Unique identifier for museum ticket. Generated when purchased. + type: string + format: uuid + example: a54a57ca-36f8-421b-a6b4-2e8f26858a4c + TicketConfirmation: + description: Unique confirmation code used to verify ticket purchase. + type: string + example: ticket-event-a98c8f-7eb12 + BuyMuseumTicketsResponse: + description: Details for a museum ticket after a successful purchase. + type: object + properties: + message: + $ref: '#/components/schemas/TicketMessage' + eventName: + $ref: '#/components/schemas/EventName' + ticketId: + $ref: '#/components/schemas/TicketId' + ticketType: + $ref: '#/components/schemas/TicketType' + ticketDate: + description: Date the ticket is valid for. + $ref: '#/components/schemas/Date' + confirmationCode: + $ref: '#/components/schemas/TicketConfirmation' + required: + - message + - ticketId + - ticketType + - ticketDate + - confirmationCode + GetTicketCodeResponse: + description: An image of a ticket with a QR code used for museum or event entry. + type: string + format: binary + GetMuseumHoursResponse: + description: List of museum operating hours for consecutive days. + type: array + items: + $ref: '#/components/schemas/MuseumDailyHours' + MuseumDailyHours: + description: Daily operating hours for the museum. + type: object + properties: + date: + description: Date the operating hours apply to. + $ref: '#/components/schemas/Date' + example: 2024-12-31 + timeOpen: + type: string + pattern: '^([01]\d|2[0-3]):?([0-5]\d)$' + description: Time the museum opens on a specific date. Uses 24 hour time format (`HH:mm`). + example: 09:00 + timeClose: + description: Time the museum closes on a specific date. Uses 24 hour time format (`HH:mm`). + type: string + pattern: '^([01]\d|2[0-3]):?([0-5]\d)$' + example: 18:00 + required: + - date + - timeOpen + - timeClose + EventId: + description: Identifier for a special event. + type: string + format: uuid + example: 3be6453c-03eb-4357-ae5a-984a0e574a54 + EventName: + type: string + description: Name of the special event + example: Pirate Coding Workshop + EventLocation: + type: string + description: Location where the special event is held + example: Computer Room + EventDescription: + type: string + description: Description of the special event + example: Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang). + EventDates: + type: array + items: + $ref: '#/components/schemas/Date' + description: List of planned dates for the special event + EventPrice: + description: Price of a ticket for the special event + type: number + format: float + example: 25 + CreateSpecialEventRequest: + description: Request payload for creating new special events at the museum. + properties: + name: + $ref: '#/components/schemas/EventName' + location: + $ref: '#/components/schemas/EventLocation' + eventDescription: + $ref: '#/components/schemas/EventDescription' + dates: + $ref: '#/components/schemas/EventDates' + price: + $ref: '#/components/schemas/EventPrice' + required: + - name + - location + - eventDescription + - dates + - price + UpdateSpecialEventRequest: + description: Request payload for updating an existing special event. Only included fields are updated in the event. + properties: + name: + $ref: '#/components/schemas/EventName' + location: + $ref: '#/components/schemas/EventLocation' + eventDescription: + $ref: '#/components/schemas/EventDescription' + dates: + $ref: '#/components/schemas/EventDates' + price: + $ref: '#/components/schemas/EventPrice' + ListSpecialEventsResponse: + description: A list of upcoming special events + type: array + items: + $ref: '#/components/schemas/SpecialEventResponse' + SpecialEventResponse: + description: Information about a special event. + properties: + eventId: + $ref: '#/components/schemas/EventId' + name: + $ref: '#/components/schemas/EventName' + location: + $ref: '#/components/schemas/EventLocation' + eventDescription: + $ref: '#/components/schemas/EventDescription' + dates: + $ref: '#/components/schemas/EventDates' + price: + $ref: '#/components/schemas/EventPrice' + required: + - eventId + - name + - location + - eventDescription + - dates + - price + securitySchemes: + MuseumPlaceholderAuth: + type: http + scheme: basic + examples: + BuyGeneralTicketsRequestExample: + summary: General entry ticket + value: + ticketType: general + ticketDate: 2023-09-07 + email: todd@example.com + BuyEventTicketsRequestExample: + summary: Special event ticket + value: + ticketType: general + eventId: dad4bce8-f5cb-4078-a211-995864315e39 + ticketDate: 2023-09-05 + email: todd@example.com + BuyGeneralTicketsResponseExample: + summary: General entry ticket + value: + message: Museum general entry ticket purchased + ticketId: 382c0820-0530-4f4b-99af-13811ad0f17a + ticketType: general + ticketDate: 2023-09-07 + confirmationCode: ticket-general-e5e5c6-dce78 + BuyEventTicketsResponseExample: + summary: Special event ticket + value: + message: Museum special event ticket purchased + ticketId: b811f723-17b2-44f7-8952-24b03e43d8a9 + eventName: Mermaid Treasure Identification and Analysis + ticketType: event + ticketDate: 2023-09-05 + confirmationCode: ticket-event-9c55eg-8v82a + CreateSpecialEventRequestExample: + summary: Create special event + value: + name: Mermaid Treasure Identification and Analysis + location: Under the seaaa 🦀 🎶 🌊. + eventDescription: Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel. + dates: + - 2023-09-05 + - 2023-09-08 + price: 0 + CreateSpecialEventResponseExample: + summary: Special event created + value: + eventId: dad4bce8-f5cb-4078-a211-995864315e39 + name: Mermaid Treasure Identification and Analysis + location: Under the seaaa 🦀 🎶 🌊. + eventDescription: Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel. + dates: + - 2023-09-05 + - 2023-09-08 + price: 30 + GetSpecialEventResponseExample: + summary: Get special event + value: + eventId: 6744a0da-4121-49cd-8479-f8cc20526495 + name: Time Traveler Tea Party + location: Temporal Tearoom + eventDescription: Sip tea with important historical figures. + dates: + - 2023-11-18 + - 2023-11-25 + - 2023-12-02 + price: 60 + ListSpecialEventsResponseExample: + summary: List of special events + value: + - eventId: f3e0e76e-e4a8-466e-ab9c-ae36c15b8e97 + name: Sasquatch Ballet + location: Seattle... probably + eventDescription: They're big, they're hairy, but they're also graceful. Come learn how the biggest feet can have the lightest touch. + dates: + - 2023-12-15 + - 2023-12-22 + price: 40 + - eventId: 2f14374a-9c65-4ee5-94b7-fba66d893483 + name: Solar Telescope Demonstration + location: Far from the sun. + eventDescription: Look at the sun without going blind! + dates: + - 2023-09-07 + - 2023-09-14 + price: 50 + - eventId: 6aaa61ba-b2aa-4868-b803-603dbbf7bfdb + name: Cook like a Caveman + location: Fire Pit on East side + eventDescription: Learn to cook on an open flame. + dates: + - 2023-11-10 + - 2023-11-17 + - 2023-11-24 + price: 5 + - eventId: 602b75e1-5696-4ab8-8c7a-f9e13580f910 + name: Underwater Basket Weaving + location: Rec Center Pool next door. + eventDescription: Learn to weave baskets underwater. + dates: + - 2023-09-12 + - 2023-09-15 + price: 15 + - eventId: dad4bce8-f5cb-4078-a211-995864315e39 + name: Mermaid Treasure Identification and Analysis + location: Room Sea-12 + eventDescription: Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits — kindly donated by Ariel. + dates: + - 2023-09-05 + - 2023-09-08 + price: 30 + - eventId: 6744a0da-4121-49cd-8479-f8cc20526495 + name: Time Traveler Tea Party + location: Temporal Tearoom + eventDescription: Sip tea with important historical figures. + dates: + - 2023-11-18 + - 2023-11-25 + - 2023-12-02 + price: 60 + - eventId: 3be6453c-03eb-4357-ae5a-984a0e574a54 + name: Pirate Coding Workshop + location: Computer Room + eventDescription: Captain Blackbeard shares his love of the C...language. And possibly Arrrrr (R lang). + dates: + - 2023-10-29 + - 2023-10-30 + - 2023-10-31 + price: 45 + - eventId: 9d90d29a-2af5-4206-97d9-9ea9ceadcb78 + name: Llama Street Art Through the Ages + location: Auditorium + eventDescription: Llama street art?! Alpaca my bags -- let's go! + dates: + - 2023-10-29 + - 2023-10-30 + - 2023-10-31 + price: 45 + - eventId: a3c7b2c4-b5fb-4ef7-9322-00a919864957 + name: The Great Parrot Debate + location: Outdoor Amphitheatre + eventDescription: See leading parrot minds discuss important geopolitical issues. + dates: + - 2023-11-03 + - 2023-11-10 + price: 35 + - eventId: b92d46b7-4c5d-422b-87a5-287767e26f29 + name: Eat a Bunch of Corn + location: Cafeteria + eventDescription: We accidentally bought too much corn. Please come eat it. + dates: + - 2023-11-10 + - 2023-11-17 + - 2023-11-24 + price: 5 + UpdateSpecialEventRequestExample: + summary: Update special event request + value: + location: On the beach. + price: 15 + UpdateSpecialEventResponseExample: + summary: Update special event + value: + eventId: dad4bce8-f5cb-4078-a211-995864315e39 + name: Mermaid Treasure Identification and Analysis + location: On the beach. + eventDescription: Join us as we review and classify a rare collection of 20 thingamabobs, gadgets, gizmos, whoosits, and whatsits, kindly donated by Ariel. + dates: + - 2023-09-05 + - 2023-09-08 + price: 15 + GetMuseumHours: + summary: Museum opening hours + value: + - date: '2023-09-11' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-12' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-13' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-14' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-15' + timeOpen: '10:00' + timeClose: '16:00' + - date: '2023-09-18' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-19' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-20' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-21' + timeOpen: '09:00' + timeClose: '18:00' + - date: '2023-09-22' + timeOpen: '10:00' + timeClose: '16:00' + ClosedMuseumHours: + summary: The museum is closed + value: [] + parameters: + PaginationPage: + name: page + in: query + description: The page number to retrieve. + schema: + type: integer + default: 1 + example: 2 + PaginationLimit: + name: limit + in: query + description: The number of days per page. + schema: + type: integer + default: 10 + maximum: 30 + example: 15 + EventId: + name: eventId + in: path + description: An identifier for a special event. + required: true + schema: + type: string + format: uuid + example: dad4bce8-f5cb-4078-a211-995864315e39 + StartDate: + name: startDate + in: query + description: The starting date to retrieve future operating hours from. Defaults to today's date. + schema: + type: string + format: date + example: 2023-02-23 + EndDate: + name: endDate + in: query + description: The end of a date range to retrieve special events for. Defaults to 7 days after `startDate`. + schema: + type: string + format: date + example: 2023-04-18 + TicketId: + name: ticketId + in: path + description: An identifier for a ticket to a museum event. Used to generate ticket image. + required: true + schema: + type: string + format: uuid + example: a54a57ca-36f8-421b-a6b4-2e8f26858a4c + +tags: + - name: Operations + x-displayName: About the museum + description: Operational information about the museum. + - name: Events + x-displayName: Upcoming events + description: Special events hosted by the Museum. + - name: Tickets + x-displayName: Buy tickets + description: Museum tickets for general entrance or special events. + +x-tagGroups: + - name: Plan your visit + tags: + - Operations + - Events + - name: Purchases + tags: + - Tickets + +security: + - MuseumPlaceholderAuth: [] diff --git a/demo/playground/hmr-playground.tsx b/demo/playground/hmr-playground.tsx index efd843ab..10c417e2 100644 --- a/demo/playground/hmr-playground.tsx +++ b/demo/playground/hmr-playground.tsx @@ -9,7 +9,7 @@ const swagger = window.location.search.indexOf('swagger') > -1; const userUrl = window.location.search.match(/url=(.*)$/); const specUrl = - (userUrl && userUrl[1]) || (swagger ? 'swagger.yaml' : big ? 'big-openapi.json' : 'openapi.yaml'); + (userUrl && userUrl[1]) || (swagger ? 'museum.yaml' : big ? 'big-openapi.json' : 'museum.yaml'); const options: RedocRawOptions = { nativeScrollbars: false, maxDisplayedEnumValues: 3 }; diff --git a/demo/playground/index.html b/demo/playground/index.html index d322ee3e..bfc9589b 100644 --- a/demo/playground/index.html +++ b/demo/playground/index.html @@ -1,25 +1,26 @@ + + + + Redoc + + + - redoc { - display: block; - } - - - - - - - - - \ No newline at end of file + + + + diff --git a/demo/webpack.config.ts b/demo/webpack.config.ts index cf66c749..1f7d8408 100644 --- a/demo/webpack.config.ts +++ b/demo/webpack.config.ts @@ -121,7 +121,7 @@ export default (env: { playground?: boolean; bench?: boolean } = {}, { mode }) = webpackIgnore(/json-schema-ref-parser\/lib\/dereference\.js/), webpackIgnore(/^\.\/SearchWorker\.worker$/), new CopyWebpackPlugin({ - patterns: ['demo/openapi.yaml'], + patterns: ['demo/museum.yaml'], }), ], });