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; }