Skip to main content

app_facade_api/
plugin.rs

1use serde::{Deserialize, Serialize};
2
3pub const TARGET_PREFIX: &str = "/app/plugin";
4pub const EXTENSION_VERSION: &str = "v1";
5pub const INSTALLED_LIST_TARGET: &str = "/app/plugin/installed/list";
6pub const DETAIL_GET_TARGET: &str = "/app/plugin/detail/get";
7pub const CANDIDATE_LIST_TARGET: &str = "/app/plugin/candidate/list";
8pub const ADD_START_TARGET: &str = "/app/plugin/add/start";
9pub const ADD_STATUS_TARGET: &str = "/app/plugin/add/status";
10pub const ADD_CANCEL_TARGET: &str = "/app/plugin/add/cancel";
11pub const REMOVE_TARGET: &str = "/app/plugin/remove";
12pub const PROFILE_UPDATE_TARGET: &str = "/app/plugin/profile/update";
13pub const SETTINGS_CHANGED_TARGET: &str = "/app/plugin/settings/changed";
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase", deny_unknown_fields)]
17pub struct PluginNodeRequest<T> {
18    pub node_id: String,
19    pub version: String,
20    pub payload: T,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct PluginNodeResponse<T> {
26    pub node_id: String,
27    pub node_type: String,
28    pub version: String,
29    pub data: T,
30}
31
32#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
33#[serde(rename_all = "camelCase")]
34pub struct SettingsChangedEvent {
35    pub version: String,
36    pub node_id: String,
37    pub node_type: String,
38    pub event_seq: u64,
39    pub section: String,
40    pub revision: u64,
41}