syntax = "proto3";

// LMS recommendations gRPC — consumed by CAP (GAP_TRAINING).
// Mirror of elimi-ecosystem/packages/proto/lms/v1/recommendations.proto
// for docs sync (../proto/…).
package lms.v1;

option go_package = "github.com/C-STEMP/elimi-ecosystem/proto/lms/v1;lmsv1";

service RecommendationsService {
  rpc RecommendCourses(RecommendCoursesRequest) returns (RecommendCoursesResponse);
}

message RecommendCoursesRequest {
  string application_id = 1;
  string candidate_user_id = 2;
  string sector_id = 3;
  string trade_id = 4;
  repeated string failed_unit_ids = 5;
}

message RecommendCoursesResponse {
  repeated RecommendedCourse courses = 1;
}

message RecommendedCourse {
  string id = 1;
  string title = 2;
  string description = 3;
  string sector_id = 4;
  string trade_id = 5;
  repeated string unit_ids = 6;
  string url = 7;
}
