From d64fcd1d73ac46685d26ce57331c5624993c4c98 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 16 Apr 2026 11:13:26 +0800 Subject: [PATCH] bugfix --- wwwroot/apply_apikey.dspy | 36 ++++++++++++++++++++++++++++++++++++ wwwroot/downapps.dspy | 36 ++++++++++++++++++++++++++++++++++++ wwwroot/get_apikey.dspy | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 wwwroot/apply_apikey.dspy create mode 100644 wwwroot/downapps.dspy create mode 100644 wwwroot/get_apikey.dspy diff --git a/wwwroot/apply_apikey.dspy b/wwwroot/apply_apikey.dspy new file mode 100644 index 0000000..483b5c6 --- /dev/null +++ b/wwwroot/apply_apikey.dspy @@ -0,0 +1,36 @@ +debug(f'{params_kw=}') +db = DBPools() +env = request._run_ns +try: + async with get_sor_context(env, 'dapi') as sor: + orgid = await get_userorgid() + userid = await get_user() + ns = { + "id": params_kw.id, + "name": params_kw.appname, + "description": params_kw.description, + "secretkey": password_encode(uuid()), + "allowedips": params_kw.allowedips, + "orgid": orgid + } + await sor.C('downapp', ns) + ns1 = { + "id": uuid(), + "dappid": ns['id'], + "userid": userid, + "apikey": password_encode(uuid()), + "enabled_date": curDateString(), + "expired_date": '9999-12-31' + } + await sor.C('downapikey', ns1) + return { + "status": "ok" + } +except Exception as e: + return { + "status": "error", + "data": { + "message": f'{e}' + } + } + return UiError(title='create apikey', message='add apikey error') diff --git a/wwwroot/downapps.dspy b/wwwroot/downapps.dspy new file mode 100644 index 0000000..118451b --- /dev/null +++ b/wwwroot/downapps.dspy @@ -0,0 +1,36 @@ +env = request._run_ns +userid = await get_user() +orgid = await get_userorgid() +if userid is None: + return { + "status": "error", + "data": { + "message": "need login" + } + } + +try: + async with get_sor_context(env, 'dapi') as sor: + today = curDateString() + sql = """select a.id, a.name,b.id as apikeyid, + from downapp a, downapikey b + where a.orgid=${orgid}$ + and b.userid=${userid}$ + and a.id = b.dappid + and b.enabled_date <= ${today}$ + and b.expired_date > ${today}$ + """ + recs = await sor.sqlExe(sql, {'orgid': orgid}) + return { + "status": "ok", + "data": { + "apikeys": recs + } + } +except Exception as e: + return { + "status": "error", + "data": { + "message": f'{e},{today=}' + } + } diff --git a/wwwroot/get_apikey.dspy b/wwwroot/get_apikey.dspy new file mode 100644 index 0000000..8c2855a --- /dev/null +++ b/wwwroot/get_apikey.dspy @@ -0,0 +1,38 @@ +debug(f'{params_kw=}') +env = request._run_ns +try: + async with get_sor_context(env, 'dapi') as sor: + orgid = await get_userorgid() + userid = await get_user() + ns = { + "id": params_kw.id, + "orgid":orgid, + "userid":userid + } + sql = """select a.*, + b.apikey + from downapp a, downapikey b + where a.id = b.dappid + and a.id = ${id}$ + and a.orgid = ${orgid}$ + and b.userid = ${userid}$""" + recs = await sor.sqlExe(sql, ns) + if len(recs): + r = recs[0] + return { + "status":"ok", + "data":r + } + return { + "status": "error", + "data": { + "message": "没有找到用户apikey" + } + } +except Exception as e: + return { + "status": "error", + "data": { + "message": f"{e}" + } + }