mirror of
https://github.com/project-gauntlet/gauntlet.git
synced 2025-12-23 10:35:53 +00:00
Move plugin_preference_from_grpc to convert file, leftover after previous refactor
This commit is contained in:
parent
450ff7e971
commit
db2ce484ba
2 changed files with 143 additions and 144 deletions
|
|
@ -3,11 +3,10 @@ use std::collections::HashMap;
|
|||
use tonic::Request;
|
||||
use tonic::transport::Channel;
|
||||
|
||||
use crate::model::{ActionShortcut, ActionShortcutKind, EntrypointId, PluginId, PluginPreference, PluginPreferenceUserData, PreferenceEnumValue, SettingsEntrypoint, SettingsEntrypointType, SettingsPlugin, UiPropertyValue, UiSearchResult, UiSearchResultEntrypointType, UiWidgetId};
|
||||
use crate::rpc::convert::{plugin_preference_user_data_from_rpc, plugin_preference_user_data_to_rpc, ui_property_value_to_rpc};
|
||||
use crate::model::{ActionShortcut, ActionShortcutKind, EntrypointId, PluginId, PluginPreferenceUserData, SettingsEntrypoint, SettingsEntrypointType, SettingsPlugin, UiPropertyValue, UiSearchResult, UiSearchResultEntrypointType, UiWidgetId};
|
||||
use crate::rpc::convert::{plugin_preference_from_rpc, plugin_preference_user_data_from_rpc, plugin_preference_user_data_to_rpc, ui_property_value_to_rpc};
|
||||
use crate::rpc::grpc::{RpcDownloadPluginRequest, RpcDownloadStatus, RpcDownloadStatusRequest, RpcEntrypointTypeSearchResult, RpcEntrypointTypeSettings, RpcEventKeyboardEvent, RpcEventRenderView, RpcEventRunCommand, RpcEventRunGeneratedCommand, RpcEventViewEvent, RpcOpenSettingsWindowPreferencesRequest, RpcOpenSettingsWindowRequest, RpcPluginsRequest, RpcRemovePluginRequest, RpcRequestRunCommandRequest, RpcRequestRunGeneratedCommandRequest, RpcRequestViewRenderRequest, RpcRequestViewRenderResponseActionKind, RpcSaveLocalPluginRequest, RpcSearchRequest, RpcSendKeyboardEventRequest, RpcSendOpenEventRequest, RpcSendViewEventRequest, RpcSetEntrypointStateRequest, RpcSetPluginStateRequest, RpcSetPreferenceValueRequest, RpcUiWidgetId};
|
||||
use crate::rpc::grpc::rpc_backend_client::RpcBackendClient;
|
||||
use crate::rpc::grpc::{RpcDownloadPluginRequest, RpcDownloadStatus, RpcDownloadStatusRequest, RpcEntrypointTypeSearchResult, RpcEntrypointTypeSettings, RpcEventKeyboardEvent, RpcEventRenderView, RpcEventRunCommand, RpcEventRunGeneratedCommand, RpcEventViewEvent, RpcOpenSettingsWindowPreferencesRequest, RpcOpenSettingsWindowRequest, RpcPluginPreference, RpcPluginPreferenceValueType, RpcPluginsRequest, RpcRemovePluginRequest, RpcRequestRunCommandRequest, RpcRequestRunGeneratedCommandRequest, RpcRequestViewRenderRequest, RpcRequestViewRenderResponseActionKind, RpcSaveLocalPluginRequest, RpcSearchRequest, RpcSendKeyboardEventRequest, RpcSendOpenEventRequest, RpcSendViewEventRequest, RpcSetEntrypointStateRequest, RpcSetPluginStateRequest, RpcSetPreferenceValueRequest, RpcUiWidgetId};
|
||||
use crate::rpc::grpc::rpc_ui_property_value::Value;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct BackendApi {
|
||||
|
|
@ -217,7 +216,7 @@ impl BackendApi {
|
|||
entrypoint_description: entrypoint.entrypoint_description,
|
||||
entrypoint_type,
|
||||
preferences: entrypoint.preferences.into_iter()
|
||||
.map(|(key, value)| (key, plugin_preference_from_grpc(value)))
|
||||
.map(|(key, value)| (key, plugin_preference_from_rpc(value)))
|
||||
.collect(),
|
||||
preferences_user_data: entrypoint.preferences_user_data.into_iter()
|
||||
.map(|(key, value)| (key, plugin_preference_user_data_from_rpc(value)))
|
||||
|
|
@ -235,7 +234,7 @@ impl BackendApi {
|
|||
enabled: plugin.enabled,
|
||||
entrypoints,
|
||||
preferences: plugin.preferences.into_iter()
|
||||
.map(|(key, value)| (key, plugin_preference_from_grpc(value)))
|
||||
.map(|(key, value)| (key, plugin_preference_from_rpc(value)))
|
||||
.collect(),
|
||||
preferences_user_data: plugin.preferences_user_data.into_iter()
|
||||
.map(|(key, value)| (key, plugin_preference_user_data_from_rpc(value)))
|
||||
|
|
@ -358,140 +357,3 @@ impl BackendApi {
|
|||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
fn plugin_preference_from_grpc(value: RpcPluginPreference) -> PluginPreference {
|
||||
let value_type: RpcPluginPreferenceValueType = value.r#type.try_into().unwrap();
|
||||
match value_type {
|
||||
RpcPluginPreferenceValueType::Number => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::Number(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Number {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::String => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::String {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::Enum => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Enum {
|
||||
default,
|
||||
description: value.description,
|
||||
enum_values: value.enum_values.into_iter()
|
||||
.map(|value| PreferenceEnumValue { label: value.label, value: value.value })
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::Bool => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::Bool(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Bool {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfStrings => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfStrings {
|
||||
default: default_list,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfNumbers => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::Number(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfNumbers {
|
||||
default: default_list,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfEnums => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfEnums {
|
||||
default: default_list,
|
||||
enum_values: value.enum_values.into_iter()
|
||||
.map(|value| PreferenceEnumValue { label: value.label, value: value.value })
|
||||
.collect(),
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use anyhow::anyhow;
|
||||
use crate::model::{PluginPreference, PluginPreferenceUserData, UiPropertyValue, UiWidget};
|
||||
use crate::model::{PluginPreference, PluginPreferenceUserData, PreferenceEnumValue, UiPropertyValue, UiWidget};
|
||||
|
||||
use crate::rpc::grpc::{rpc_ui_property_value, RpcEnumValue, RpcPluginPreference, RpcPluginPreferenceUserData, RpcPluginPreferenceValueType, RpcUiPropertyValue, RpcUiPropertyValueObject, RpcUiWidget, RpcUiWidgetId};
|
||||
use crate::rpc::grpc::rpc_ui_property_value::Value;
|
||||
|
|
@ -339,4 +339,141 @@ pub fn plugin_preference_to_rpc(value: PluginPreference) -> RpcPluginPreference
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn plugin_preference_from_rpc(value: RpcPluginPreference) -> PluginPreference {
|
||||
let value_type: RpcPluginPreferenceValueType = value.r#type.try_into().unwrap();
|
||||
match value_type {
|
||||
RpcPluginPreferenceValueType::Number => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::Number(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Number {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::String => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::String {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::Enum => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Enum {
|
||||
default,
|
||||
description: value.description,
|
||||
enum_values: value.enum_values.into_iter()
|
||||
.map(|value| PreferenceEnumValue { label: value.label, value: value.value })
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::Bool => {
|
||||
let default = value.default
|
||||
.map(|value| {
|
||||
match value.value.unwrap() {
|
||||
Value::Bool(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
});
|
||||
|
||||
PluginPreference::Bool {
|
||||
default,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfStrings => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfStrings {
|
||||
default: default_list,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfNumbers => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::Number(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfNumbers {
|
||||
default: default_list,
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
RpcPluginPreferenceValueType::ListOfEnums => {
|
||||
let default_list = match value.default_list_exists {
|
||||
true => {
|
||||
let default_list = value.default_list
|
||||
.into_iter()
|
||||
.flat_map(|value| value.value.map(|value| {
|
||||
match value {
|
||||
Value::String(value) => value,
|
||||
_ => unreachable!()
|
||||
}
|
||||
}))
|
||||
.collect();
|
||||
|
||||
Some(default_list)
|
||||
},
|
||||
false => None
|
||||
};
|
||||
|
||||
PluginPreference::ListOfEnums {
|
||||
default: default_list,
|
||||
enum_values: value.enum_values.into_iter()
|
||||
.map(|value| PreferenceEnumValue { label: value.label, value: value.value })
|
||||
.collect(),
|
||||
description: value.description,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue