omni_orchestrator/schemas/v1/api/permissions/
create.rs1use crate::schemas::v1::db::queries::{self as db};
2use rocket::{post, serde::json::Json, State};
3use sqlx::MySql;
4
5use libomni::types::db::v1 as types;
6use types::permission::Permission;
7
8#[post("/permissions", format = "json", data = "<permission>")]
9pub async fn create_permission(
10 pool: &State<sqlx::Pool<MySql>>,
11 permission: Json<Permission>,
12) -> Json<Permission> {
13 let permission = db::permission::create_permission(
14 pool,
15 &permission.name,
16 permission.description.clone(),
17 permission.resource_type.clone().unwrap(),
18 )
19 .await
20 .unwrap();
21 Json(permission)
22}