syntax = "proto3" service Course{ rpc getCourseListForStudio (CourseListRequest) returns (CourseListReply){} rpc getCourseListForCourse (CourseListRequest) returns (CourseListReply){} rpc getCourse (CourseRequest) returns (CourseReply){} rpc setCourse (CourseRequest) returns (CourseReply){} rpc addCourse (CourseRequest) returns (CourseReply){} rpc delCourse (CourseRequest) returns (CourseReply){} } message CourseListRequest{ string Id = 1; string Search = 3; EnumAllowingSearch SearchCol = 4; int32 PageNo = 5; int32 PageSize = 6; string OrderBy = 7; bool Desc = 8; } enum EnumAllowingSearch{ EAS_TITLE = 0; } enum EnumAllowingOrderby{ EAO_START_AT = 0; EAO_TITLE = 1; } message CourseRequest{ string Id = 1; string Title = 2; string Subtitle = 3; string Summary = 4; string Cover = 5; string Content = 6; string Start = 7; string End = 8; string CreatedAt = 9; string UpdatedAt = 10; } message CourseReply{ bool ok = 1; string message = 2; CourseRequest data = 3; } message CourseListReply{ bool ok = 1; string message = 2; message data{ message rows { string Id = 1; string Title = 2; string Subtitle = 3; string Summary = 4; date Start = 5; date End = 6; string Cover = 7; int32 Children = 8; }; int32 Count = 2; int32 PageNo = 3; int32 PageSize = 4; } }