debug(f'{params_kw=}') db = DBPools() env = request._run_ns orgid = await get_userorgid() userid = await get_user() if not userid: return { "status": "error", "data": { "message": "you need login to do this" } } try: async with get_sor_context(env, 'dapi') as sor: dappid = uuid() ns = { "id": dappid, "name": params_kw.appname, "description": params_kw.description, "secretkey": password_encode(uuid()), "allowedips": params_kw.allowedips, "orgid": orgid } await sor.C('downapp', ns.copy()) apikey = password_encode(uuid()) ns1 = { "id": uuid(), "dappid": dappid, "userid": userid, "apikey": password_encode(apikey), "enabled_date": curDateString(), "expired_date": '9999-12-31' } await sor.C('downapikey', ns1) ns['apikey'] = apikey return { "status": "ok", "data": ns } except Exception as e: return { "status": "error", "data": { "message": f'{e}' } }