feat: 重构CNB管理模块,添加清理记录功能,更新中间件为统一认证方式,优化工作空间相关路由
This commit is contained in:
42
agent/app.ts
42
agent/app.ts
@@ -1,17 +1,35 @@
|
||||
import { QueryRouterServer as App } from '@kevisual/router'
|
||||
import { useContextKey } from '@kevisual/context'
|
||||
import { useConfig, useKey } from '@kevisual/use-config'
|
||||
import { useKey } from '@kevisual/use-config'
|
||||
import { CNB } from '../src/index.ts';
|
||||
import { CNBManager } from './modules/cnb-manager.ts'
|
||||
export const cnbManager = new CNBManager()
|
||||
|
||||
export const config = useConfig()
|
||||
export const cnb = useContextKey<CNB>('cnb', () => {
|
||||
// CNB_TOKEN是降级兼容变量,推荐使用CNB_API_KEY
|
||||
// CNB_TOKEN 是流水线自己就有的变量,但是权限比较小
|
||||
const token = useKey('CNB_API_KEY') as string || useKey('CNB_TOKEN') as string
|
||||
// cookie 变量是可选的
|
||||
const cookie = useKey('CNB_COOKIE') as string
|
||||
return new CNB({ token: token, cookie: cookie });
|
||||
})
|
||||
export const app = useContextKey<App>('app', () => {
|
||||
// CNB_TOKEN是降级兼容变量,推荐使用CNB_API_KEY
|
||||
// CNB_TOKEN 是流水线自己就有的变量,但是权限比较小
|
||||
const token = useKey('CNB_API_KEY') as string || useKey('CNB_TOKEN') as string
|
||||
// cookie 变量是可选的
|
||||
const cookie = useKey('CNB_COOKIE') as string
|
||||
try {
|
||||
cnbManager.addCNB({
|
||||
username: 'default',
|
||||
token: token,
|
||||
cookie: cookie,
|
||||
cnb: new CNB({ token: token, cookie: cookie })
|
||||
})
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
export const cnb = (await cnbManager.getCNB({ username: 'default' })).cnb
|
||||
export const app = await useContextKey<App>('app', () => {
|
||||
return new App({})
|
||||
})
|
||||
})
|
||||
|
||||
export const notCNBCheck = (ctx: any) => {
|
||||
const isCNB = useKey('CNB');
|
||||
if (!isCNB) {
|
||||
ctx.throw(400, '当前环境非 cnb-board 环境,无法获取 live 内容');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user