phabricator_api/phid/
query.rs

1use crate::ApiRequest;
2use serde::Deserialize;
3use serde::Serialize;
4use std::collections::HashMap;
5
6use super::Item;
7
8#[derive(Debug, Serialize)]
9pub struct Query {
10    pub phids: Vec<String>,
11}
12
13#[derive(Deserialize, Debug)]
14#[serde(untagged)]
15pub enum QueryResult {
16    Results(HashMap<String, Item>),
17    // If there are no results phabricator returns [] as the result....
18    NoData([(); 0]),
19}
20
21impl ApiRequest for Query {
22    type Reply = QueryResult;
23    const ROUTE: &'static str = "api/phid.query";
24}
25
26#[cfg(test)]
27mod test {
28    use phabricator_mock::PhabMockServer;
29
30    #[tokio::test]
31    async fn basic() {
32        let m = PhabMockServer::start().await;
33        let _client = crate::Client::new(m.uri(), "".to_string());
34    }
35}