Files
challenge/ex1/Records.proto
2024-04-30 00:53:02 +02:00

114 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "proto/";
enum Gender {
MALE = 0;
FEMALE = 1;
}
enum Quarter {
Q1 = 0;
Q2 = 1;
Q3 = 2;
Q4 = 3;
}
enum Half {
FIRST_HALF = 0;
SECOND_HALF = 1;
}
enum Month {
JANUARY = 0;
FEBRUARY = 1;
MARCH = 2;
APRIL = 3;
MAY = 4;
JUNE = 5;
JULY = 6;
AUGUST = 7;
SEPTEMBER = 8;
OCTOBER = 9;
NOVEMBER = 10;
DECEMBER = 11;
}
enum MonthShort {
JAN = 0;
FEB = 1;
MAR = 2;
APR = 3;
MAY_SHORT = 4;
JUN = 5;
JUL = 6;
AUG = 7;
SEP = 8;
OCT = 9;
NOV = 10;
DEC = 11;
}
enum WeekDay {
SUNDAY = 0;
MONDAY = 1;
TUESDAY = 2;
WEDNESDAY = 3;
THURSDAY = 4;
FRIDAY = 5;
SATURDAY = 6;
}
enum WeekDayShort {
SUN = 0;
MON = 1;
TUE = 2;
WED = 3;
THU = 4;
FRI = 5;
SAT = 6;
}
message Employee {
uint32 emp_id = 1;
string name_prefix = 2;
string first_name = 3;
string middle_initial = 4;
string last_name = 5;
Gender gender = 6;
string email = 7;
string fathers_name = 8;
string mothers_name = 9;
string mothers_maiden_name = 10;
string birthdate = 11;
string birth_time = 12;
uint32 weight_kg = 13;
string joining_date = 14;
Quarter joining_quarter = 15;
Half joining_half = 16;
uint32 joining_year = 17;
uint32 joining_month = 18;
Month joining_month_name = 19;
MonthShort joining_month_name_short = 20;
uint32 joining_month_day = 21;
WeekDay joining_week_day = 22;
WeekDayShort joining_week_day_short = 23;
float years_of_service = 24;
uint32 salary = 25;
string latest_hike_percentage = 26;
string ssn = 27;
string phone_number = 28;
string place_name = 29;
string county = 30;
string city = 31;
string state = 32;
uint32 zip = 33;
string region = 34;
string username = 35;
string password = 36;
}
message EmployeeList {
repeated Employee employees = 1;
}