aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/pseudomuto/protoc-gen-doc/examples/proto/Booking.proto
diff options
context:
space:
mode:
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.proto66
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);
+}