diff options
Diffstat (limited to 'vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto')
-rw-r--r-- | vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto b/vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto new file mode 100644 index 0000000000..5221977aa4 --- /dev/null +++ b/vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto @@ -0,0 +1,66 @@ +/** + * Booking related messages. + * + * This file is really just an example. The data model is completely + * fictional. + */ +syntax = "proto3"; + +import "google/api/annotations.proto"; +import "github.com/mwitkow/go-proto-validators/validator.proto"; + +package com.example; + +/** + * Represents the booking status ID. + */ +message BookingStatusID { + int32 id = 1; /// Unique booking status ID. +} + +/** + * Represents the status of a vehicle booking. + */ +message BookingStatus { + int32 id = 1; /// Unique booking status ID. + string description = 2 [(validator.field) = {string_not_empty: true, length_lt: 255}]; /// Booking status description. E.g. "Active". +} + +/** + * Represents the booking of a vehicle. + * + * Vehicles are some cool shit. But drive carefully! + */ +message Booking { + int32 vehicle_id = 1; /// ID of booked vehicle. + int32 customer_id = 2; /// Customer that booked the vehicle. + BookingStatus status = 3; /// Status of the booking. + + /** Has booking confirmation been sent? */ + bool confirmation_sent = 4; + + /** Has payment been received? */ + bool payment_received = 5; + + string color_preference = 6 [deprecated=true]; // Color preference of the customer. +} + +// An empty message for testing +message EmptyBookingMessage { +} + +/** + * Service for handling vehicle bookings. + */ +service BookingService { + /// Used to book a vehicle. Pass in a Booking and a BookingStatus will be returned. + rpc BookVehicle (Booking) returns (BookingStatus) { + option (google.api.http) = { + post: "/api/bookings/vehicle/{vehicle_id}" + body: "*" + }; + } + + /// Used to subscribe to updates of the BookingStatus. + rpc BookingUpdates (BookingStatusID) returns (stream BookingStatus); +} |