95 lines
2.0 KiB
Protocol Buffer
95 lines
2.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package timetracking;
|
|
|
|
service TimeTrackingService {
|
|
rpc RegisterUser(RegisterUserRequest) returns (RegisterUserResponse);
|
|
rpc LoginUser(LoginUserRequest) returns (LoginUserResponse);
|
|
rpc GetUser(GetUserRequest) returns (GetUserResponse);
|
|
rpc CreateProject(CreateProjectRequest) returns (CreateProjectResponse);
|
|
rpc StartWorkSession(StartWorkSessionRequest) returns (StartWorkSessionResponse);
|
|
rpc StopWorkSession(StopWorkSessionRequest) returns (StopWorkSessionResponse);
|
|
rpc GenerateReport(GenerateReportRequest) returns (GenerateReportResponse);
|
|
}
|
|
|
|
message RegisterUserRequest {
|
|
string name = 1;
|
|
string email = 2;
|
|
string password = 3;
|
|
}
|
|
|
|
message RegisterUserResponse {
|
|
string userId = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message LoginUserRequest {
|
|
string email = 1;
|
|
string password = 2;
|
|
}
|
|
|
|
message LoginUserResponse {
|
|
string token = 1;
|
|
}
|
|
|
|
message GetUserRequest {
|
|
string userId = 1;
|
|
}
|
|
|
|
message GetUserResponse {
|
|
string userId = 1;
|
|
string name = 2;
|
|
string email = 3;
|
|
}
|
|
|
|
message CreateProjectRequest {
|
|
string name = 1;
|
|
string clientId = 2;
|
|
string description = 3;
|
|
}
|
|
|
|
message CreateProjectResponse {
|
|
string projectId = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message StartWorkSessionRequest {
|
|
string userId = 1;
|
|
string projectId = 2;
|
|
string description = 3;
|
|
}
|
|
|
|
message StartWorkSessionResponse {
|
|
string sessionId = 1;
|
|
}
|
|
|
|
message StopWorkSessionRequest {
|
|
string sessionId = 1;
|
|
}
|
|
|
|
message StopWorkSessionResponse {
|
|
string message = 1;
|
|
}
|
|
|
|
message GenerateReportRequest {
|
|
repeated string userIds = 1;
|
|
string startDate = 2;
|
|
string endDate = 3;
|
|
string projectId = 4;
|
|
}
|
|
|
|
message GenerateReportResponse {
|
|
string reportId = 1;
|
|
string generatedAt = 2;
|
|
repeated WorkSession sessions = 3;
|
|
}
|
|
|
|
message WorkSession {
|
|
string sessionId = 1;
|
|
string userId = 2;
|
|
string startTime = 3;
|
|
string endTime = 4;
|
|
string projectId = 5;
|
|
string description = 6;
|
|
}
|