bitwarden_ipc/discover/
mod.rs

1use serde::{Deserialize, Serialize};
2#[cfg(feature = "wasm")]
3use {tsify_next::Tsify, wasm_bindgen::prelude::*};
4
5use crate::{rpc::request::RpcRequest, RpcHandler};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct DiscoverRequest;
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[cfg_attr(feature = "wasm", derive(Tsify), tsify(into_wasm_abi, from_wasm_abi))]
12pub struct DiscoverResponse {
13    pub version: String,
14}
15
16impl RpcRequest for DiscoverRequest {
17    type Response = DiscoverResponse;
18
19    const NAME: &str = "DiscoverRequest";
20}
21
22pub struct DiscoverHandler {
23    response: DiscoverResponse,
24}
25
26impl DiscoverHandler {
27    pub fn new(response: DiscoverResponse) -> Self {
28        Self { response }
29    }
30}
31
32impl RpcHandler for DiscoverHandler {
33    type Request = DiscoverRequest;
34
35    async fn handle(&self, _request: Self::Request) -> DiscoverResponse {
36        self.response.clone()
37    }
38}