fluentci_graphql/schema/
nix.rs

1use std::sync::{Arc, Mutex};
2
3use crate::schema::objects::nix::NixArgs;
4
5use super::objects::nix::Nix;
6use async_graphql::{Context, Error, Object};
7use fluentci_common::nix::nix as common_nix;
8use fluentci_core::deps::Graph;
9
10#[derive(Default, Clone)]
11pub struct NixQuery;
12
13#[Object]
14impl NixQuery {
15    async fn nix(&self, ctx: &Context<'_>, args: Option<NixArgs>) -> Result<Nix, Error> {
16        let graph = ctx.data::<Arc<Mutex<Graph>>>().unwrap();
17        let args = args.unwrap_or_default().into();
18        let nix = common_nix(graph.clone(), true, args)?;
19        Ok(Nix::from(nix))
20    }
21}