diff --git a/oab/src/api/app.rs b/oab/src/api/app.rs index a4f5b1e..2d9526a 100644 --- a/oab/src/api/app.rs +++ b/oab/src/api/app.rs @@ -13,7 +13,7 @@ use tracing::info; use crate::{ libs, - models::{access, app, rand_str, AccessLevel, Token}, + models::{self, access, app, rand_str, AccessLevel, Token}, AppState, Error, Result, }; @@ -29,6 +29,24 @@ pub async fn get(id: web::Path, stat: web::Data) -> Result, stat: web::Data) -> Result { + let n = id.into_inner(); + let obj = models::app::Entity::find_by_id(&n).one(stat.db()).await?; + if let Some(obj) = obj { + // Into ActiveModel + let mut obj: models::app::ActiveModel = obj.into(); + + let key = rand_str(32); + obj.key = sea_orm::ActiveValue::Set(key.clone()); + obj.update(stat.db()).await?; + Ok(key) + } else { + Err(Error::NotFound(n)) + } +} + #[get("/app/")] #[access_read("app")] pub async fn list(stat: web::Data) -> Result { diff --git a/oab/src/api/mod.rs b/oab/src/api/mod.rs index 6d55b58..56f12a5 100644 --- a/oab/src/api/mod.rs +++ b/oab/src/api/mod.rs @@ -25,6 +25,7 @@ pub fn routes(cfg: &mut web::ServiceConfig) { .service(user::update) .service(user::delete); cfg.service(app::get) + .service(app::get_key) .service(app::list) .service(app::create) .service(app::update) diff --git a/oaweb/src/boot/api/app.ts b/oaweb/src/boot/api/app.ts index 1f7e77a..128097b 100644 --- a/oaweb/src/boot/api/app.ts +++ b/oaweb/src/boot/api/app.ts @@ -14,7 +14,7 @@ export default { return ajax.get(this.local, { option: 'oa' }) }, getKey(uuid: string) { - return ajax.get(this.local + uuid, { option: 'key' }) + return ajax.get(this.local + uuid + '/key') }, create(name: string, icon: string) { return ajax.post(this.local, { name, icon }) diff --git a/oaweb/src/boot/oaer.ts b/oaweb/src/boot/oaer.ts index 36bb289..7e7fbcd 100644 --- a/oaweb/src/boot/oaer.ts +++ b/oaweb/src/boot/oaer.ts @@ -8,6 +8,7 @@ // import '@veypi/oaer' import oaer from '@veypi/oaer' +import '@veypi/oaer/dist/index.css' import bus from 'src/libs/bus' import util from 'src/libs/util' diff --git a/oaweb/src/pages/AppCfg.vue b/oaweb/src/pages/AppCfg.vue index be96a44..9f4885e 100644 --- a/oaweb/src/pages/AppCfg.vue +++ b/oaweb/src/pages/AppCfg.vue @@ -20,7 +20,8 @@