syntax = "proto3"; package smartflow.schedule; option go_package = "github.com/LoveLosita/smartflow/backend/services/schedule/rpc/pb"; service Schedule { rpc Ping(StatusResponse) returns (StatusResponse); rpc GetToday(UserRequest) returns (JSONResponse); rpc GetWeek(WeekRequest) returns (JSONResponse); rpc DeleteEvents(DeleteEventsRequest) returns (StatusResponse); rpc GetRecentCompleted(RecentCompletedRequest) returns (JSONResponse); rpc GetCurrent(UserRequest) returns (JSONResponse); rpc RevokeTaskItem(RevokeTaskItemRequest) returns (StatusResponse); rpc SmartPlanning(SmartPlanningRequest) returns (JSONResponse); rpc SmartPlanningMulti(SmartPlanningMultiRequest) returns (JSONResponse); rpc GetAgentWeekSchedule(JSONRequest) returns (JSONResponse); rpc GetScheduleFactsByWindow(JSONRequest) returns (JSONResponse); rpc GetFeedbackSignal(JSONRequest) returns (JSONResponse); rpc ApplyActiveScheduleChanges(JSONRequest) returns (JSONResponse); } message UserRequest { int64 user_id = 1; } message WeekRequest { int64 user_id = 1; int64 week = 2; } message DeleteEventsRequest { int64 user_id = 1; bytes events_json = 2; } message RecentCompletedRequest { int64 user_id = 1; int64 index = 2; int64 limit = 3; } message RevokeTaskItemRequest { int64 user_id = 1; int64 event_id = 2; } message SmartPlanningRequest { int64 user_id = 1; int64 task_class_id = 2; } message SmartPlanningMultiRequest { int64 user_id = 1; repeated int64 task_class_ids = 2; } message JSONRequest { bytes payload_json = 1; } message JSONResponse { bytes data_json = 1; } message StatusResponse { }