Skip to main content

objectiveai_cli/command/api/config/objectiveai_authorization/
set.rs

1//! `config api objectiveai-authorization set` — write `api.objectiveai_authorization` to on-disk config.
2
3use objectiveai_sdk::cli::command::api::config::objectiveai_authorization::set::{Request, Response};
4
5use crate::context::Context;
6use crate::error::Error;
7
8pub async fn execute(ctx: &Context, request: Request) -> Result<Response, Error> {
9    if !matches!(
10        request.scope,
11        objectiveai_sdk::cli::command::SetScope::Global
12    ) {
13        return Err(Error::AuthorizationGlobalOnly);
14    }
15    let mut config = ctx.filesystem.read_config_at(request.scope).await?;
16    config.api().set_objectiveai_authorization(request.value);
17    ctx.filesystem.write_config_at(request.scope, &config).await?;
18    Ok(Response::Ok)
19}
20
21pub mod request_schema {
22    use objectiveai_sdk::cli::command::api::config::objectiveai_authorization::set as sdk;
23    use objectiveai_sdk::cli::command::api::config::objectiveai_authorization::set::request_schema::{Request, Response};
24
25    use crate::context::Context;
26    use crate::error::Error;
27
28    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
29        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Request)))
30    }
31}
32
33pub mod response_schema {
34    use objectiveai_sdk::cli::command::api::config::objectiveai_authorization::set as sdk;
35    use objectiveai_sdk::cli::command::api::config::objectiveai_authorization::set::response_schema::{Request, Response};
36
37    use crate::context::Context;
38    use crate::error::Error;
39
40    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
41        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Response)))
42    }
43}