From 47614c3102548f185fad44d5effb6ddd0dc42265 Mon Sep 17 00:00:00 2001 From: Lucien Greathouse Date: Mon, 11 Nov 2019 17:52:09 -0800 Subject: [PATCH] Update names in subscribe portion of sync protocol --- plugin/src/ServeSession.lua | 10 +--------- .../serve_test__add_folder_subscribe.snap | 6 +++--- ...ve_test__move_folder_of_stuff_subscribe.snap | 6 +++--- .../serve_test__scripts_subscribe.snap | 6 +++--- rojo-test/src/internable.rs | 4 ++-- src/web/api.rs | 17 ++++++++--------- src/web/interface.rs | 6 +++--- 7 files changed, 23 insertions(+), 32 deletions(-) diff --git a/plugin/src/ServeSession.lua b/plugin/src/ServeSession.lua index 1e1d95b3..0ce9427c 100644 --- a/plugin/src/ServeSession.lua +++ b/plugin/src/ServeSession.lua @@ -103,15 +103,7 @@ function ServeSession:__mainSyncLoop() return self.__apiContext:retrieveMessages() :andThen(function(messages) for _, message in ipairs(messages) do - -- TODO: Update server to return patches in correct format so - -- that we don't have to transform them for the reconciler. - local asPatch = { - removed = message.removedInstances, - updated = message.updatedInstances, - added = message.addedInstances, - } - - self.__reconciler:applyPatch(asPatch) + self.__reconciler:applyPatch(message) end if self.__status ~= Status.Disconnected then diff --git a/rojo-test/serve-test-snapshots/serve_test__add_folder_subscribe.snap b/rojo-test/serve-test-snapshots/serve_test__add_folder_subscribe.snap index 646fcfea..49d489dc 100644 --- a/rojo-test/serve-test-snapshots/serve_test__add_folder_subscribe.snap +++ b/rojo-test/serve-test-snapshots/serve_test__add_folder_subscribe.snap @@ -4,7 +4,7 @@ expression: "subscribe_response.intern_and_redact(&mut redactions, ())" --- messageCursor: 1 messages: - - addedInstances: + - added: id-3: Children: [] ClassName: Folder @@ -14,6 +14,6 @@ messages: Name: my-new-folder Parent: id-2 Properties: {} - removedInstances: [] - updatedInstances: [] + removed: [] + updated: [] sessionId: id-1 diff --git a/rojo-test/serve-test-snapshots/serve_test__move_folder_of_stuff_subscribe.snap b/rojo-test/serve-test-snapshots/serve_test__move_folder_of_stuff_subscribe.snap index 5ba30e26..fa026ed2 100644 --- a/rojo-test/serve-test-snapshots/serve_test__move_folder_of_stuff_subscribe.snap +++ b/rojo-test/serve-test-snapshots/serve_test__move_folder_of_stuff_subscribe.snap @@ -4,7 +4,7 @@ expression: "subscribe_response.intern_and_redact(&mut redactions, ())" --- messageCursor: 1 messages: - - addedInstances: + - added: id-10: Children: [] ClassName: StringValue @@ -144,6 +144,6 @@ messages: Value: Type: String Value: "File #5" - removedInstances: [] - updatedInstances: [] + removed: [] + updated: [] sessionId: id-1 diff --git a/rojo-test/serve-test-snapshots/serve_test__scripts_subscribe.snap b/rojo-test/serve-test-snapshots/serve_test__scripts_subscribe.snap index b3ee2237..7d52bc4d 100644 --- a/rojo-test/serve-test-snapshots/serve_test__scripts_subscribe.snap +++ b/rojo-test/serve-test-snapshots/serve_test__scripts_subscribe.snap @@ -4,9 +4,9 @@ expression: "subscribe_response.intern_and_redact(&mut redactions, ())" --- messageCursor: 1 messages: - - addedInstances: {} - removedInstances: [] - updatedInstances: + - added: {} + removed: [] + updated: - changedClassName: ~ changedMetadata: ~ changedName: ~ diff --git a/rojo-test/src/internable.rs b/rojo-test/src/internable.rs index 9c1cbb57..40abbdda 100644 --- a/rojo-test/src/internable.rs +++ b/rojo-test/src/internable.rs @@ -61,8 +61,8 @@ impl<'a> Internable<&'a HashMap>> for Instance<'a> { impl Internable<()> for SubscribeResponse<'_> { fn intern(&self, redactions: &mut RedactionMap, _extra: ()) { for message in &self.messages { - intern_instance_updates(redactions, &message.updated_instances); - intern_instance_additions(redactions, &message.added_instances); + intern_instance_updates(redactions, &message.updated); + intern_instance_additions(redactions, &message.added); } } } diff --git a/src/web/api.rs b/src/web/api.rs index fe7ad62c..9a81ef00 100644 --- a/src/web/api.rs +++ b/src/web/api.rs @@ -93,20 +93,19 @@ impl ApiService { let api_messages = messages .into_iter() .map(|message| { - let removed_instances = message.removed; + let removed = message.removed; - let mut added_instances = HashMap::new(); + let mut added = HashMap::new(); for id in message.added { let instance = tree.get_instance(id).unwrap(); - added_instances.insert(id, Instance::from_rojo_instance(instance)); + added.insert(id, Instance::from_rojo_instance(instance)); for instance in tree.descendants(id) { - added_instances - .insert(instance.id(), Instance::from_rojo_instance(instance)); + added.insert(instance.id(), Instance::from_rojo_instance(instance)); } } - let updated_instances = message + let updated = message .updated .into_iter() .map(|update| { @@ -126,9 +125,9 @@ impl ApiService { .collect(); SubscribeMessage { - removed_instances, - added_instances, - updated_instances, + removed, + added, + updated, } }) .collect(); diff --git a/src/web/interface.rs b/src/web/interface.rs index f748758c..01cb62c3 100644 --- a/src/web/interface.rs +++ b/src/web/interface.rs @@ -23,9 +23,9 @@ pub const PROTOCOL_VERSION: u64 = 3; #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct SubscribeMessage<'a> { - pub removed_instances: Vec, - pub added_instances: HashMap>, - pub updated_instances: Vec, + pub removed: Vec, + pub added: HashMap>, + pub updated: Vec, } #[derive(Debug, Serialize, Deserialize)]