-
Notifications
You must be signed in to change notification settings - Fork 0
/
addressbook.proto
52 lines (42 loc) · 1.51 KB
/
addressbook.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package tutorial;
import "google/protobuf/timestamp.proto";
import "github.com/mwitkow/go-proto-validators/validator.proto";
// [END declaration]
// [START java_declaration]
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
// [END java_declaration]
// [START csharp_declaration]
option csharp_namespace = "Google.Protobuf.Examples.AddressBook";
// [END csharp_declaration]
// [START messages]
message Person {
string name = 1 [(validator.field) = {regex: "^[a-z]{2,5}$", string_not_empty: true}];
int32 id = 2 [(validator.field) = {int_gt: 0, int_lt: 100}]; // Unique ID number for this person.
string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
string number = 1 [(validator.field) = {regex: "^[a-z]{2,5}$"}];
PhoneType type = 2;
}
repeated PhoneNumber phones = 4;
google.protobuf.Timestamp last_updated = 5 [(validator.field) = {msg_exists : true}];
}
// Our address book file is just one of these.
message AddressBook {
repeated Person people = 1 [(validator.field) = {msg_exists : true}];
}
// [END messages]