From 8df5f49c52864d09ba33e2707e108fe8b0302b56 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 6 Jan 2020 12:18:20 +1000 Subject: [PATCH] add some more protobuf messages --- proto/backend.proto | 39 ++++++++++++++++++++++++++++++++++++++- rslib/src/backend.rs | 3 +++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/proto/backend.proto b/proto/backend.proto index ff8391b9e..fa93ddcb0 100644 --- a/proto/backend.proto +++ b/proto/backend.proto @@ -11,9 +11,11 @@ message BackendInput { oneof value { TemplateRequirementsIn template_requirements = 16; SchedTimingTodayIn sched_timing_today = 17; + Empty deck_tree = 18; + FindCardsIn find_cards = 19; + BrowserRowsIn browser_rows = 20; PlusOneIn plus_one = 2046; // temporary, for testing - } } @@ -21,6 +23,9 @@ message BackendOutput { oneof value { TemplateRequirementsOut template_requirements = 16; SchedTimingTodayOut sched_timing_today = 17; + DeckTreeOut deck_tree = 18; + FindCardsOut find_cards = 19; + BrowserRowsOut browser_rows = 20; PlusOneOut plus_one = 2046; // temporary, for testing @@ -87,3 +92,35 @@ message SchedTimingTodayOut { uint32 days_elapsed = 1; int64 next_day_at = 2; } + +message DeckTreeOut { + DeckTreeNode top = 1; +} + +message DeckTreeNode { + // the components of a deck, split on :: + repeated string names = 1; + int64 deck_id = 2; + uint32 review_count = 3; + uint32 learn_count = 4; + uint32 new_count = 5; + repeated DeckTreeNode children = 6; + bool collapsed = 7; +} + +message FindCardsIn { + string search = 1; +} + +message FindCardsOut { + repeated int64 card_ids = 1; +} + +message BrowserRowsIn { + repeated int64 card_ids = 1; +} + +message BrowserRowsOut { + // just sort fields for proof of concept + repeated string sort_fields = 1; +} diff --git a/rslib/src/backend.rs b/rslib/src/backend.rs index 65f7bf38e..7f13d3ad0 100644 --- a/rslib/src/backend.rs +++ b/rslib/src/backend.rs @@ -89,6 +89,9 @@ impl Backend { Value::SchedTimingToday(input) => { OValue::SchedTimingToday(self.sched_timing_today(input)) } + Value::DeckTree(_) => todo!(), + Value::FindCards(_) => todo!(), + Value::BrowserRows(_) => todo!(), }) }