99 lines
2.2 KiB
Protocol Buffer
99 lines
2.2 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package pbvisionCareerpub;
|
||
|
||
option go_package = "./;pbvisionCareerpub";
|
||
|
||
// ----------------------------------------
|
||
// SERVICES
|
||
// ----------------------------------------
|
||
|
||
// Сервис API Vision Career v1
|
||
service VisionCareerApiServiceV1 {
|
||
|
||
// Отправить данные о пользователе, чтобы начать генерацию цифрового портрета
|
||
rpc UpsertUserData(UpsertUserDataRequest) returns (UpsertUserDataResponse);
|
||
|
||
// Получить список актуальных вакансий, для текущего пользователя
|
||
rpc GetUserVacancies(GetUserVacanciesRequest) returns (GetUserVacanciesResponse);
|
||
|
||
}
|
||
|
||
// ----------------------------------------
|
||
// USER
|
||
// ----------------------------------------
|
||
|
||
message User {
|
||
int64 id = 1; // required
|
||
string targetRole = 2; // required
|
||
string resumePath = 3;
|
||
string workExperience = 4; // required
|
||
string workFormat = 5; // required
|
||
string salaryRange = 6; // required
|
||
}
|
||
|
||
// ----------------------------------------
|
||
// PAGINATION
|
||
// ----------------------------------------
|
||
|
||
message Pagination {
|
||
int32 pageSize = 1;
|
||
int32 page = 2;
|
||
}
|
||
|
||
message PaginationMeta {
|
||
int32 pageSize = 1;
|
||
int32 page = 2;
|
||
int32 totalPages = 3;
|
||
}
|
||
|
||
// ----------------------------------------
|
||
// COMMON
|
||
// ----------------------------------------
|
||
|
||
message FilterValue {
|
||
string from = 1;
|
||
string to = 2;
|
||
string equal = 3;
|
||
}
|
||
|
||
message Sort {
|
||
string field = 1;
|
||
string direction = 2; // "ASC" or "DESC"
|
||
}
|
||
|
||
message FieldValue {
|
||
string field = 1;
|
||
string value = 2;
|
||
}
|
||
|
||
message IdName {
|
||
string id = 1;
|
||
string name = 2;
|
||
}
|
||
|
||
// ----------------------------------------
|
||
// REQUESTS
|
||
// ----------------------------------------
|
||
|
||
message UpsertUserDataRequest {
|
||
User data = 1;
|
||
}
|
||
|
||
message GetUserVacanciesRequest {
|
||
int64 userID = 1; // required
|
||
}
|
||
|
||
// ----------------------------------------
|
||
// RESPONSES
|
||
// ----------------------------------------
|
||
|
||
message UpsertUserDataResponse {
|
||
string status = 1; // "success" | "error"
|
||
}
|
||
|
||
message GetUserVacanciesResponse {
|
||
string status = 1; // "success" | "error"
|
||
repeated string items = 2;
|
||
}
|