From 1def9ef024f69d291d7ec0b1c627b8da44e37ce0 Mon Sep 17 00:00:00 2001 From: wuaho Date: Mon, 23 Aug 2021 11:27:02 +0800 Subject: [PATCH] 1 --- api/api_v1/endpoints/test.py | 23 +- update_api_list.py | 408 +++++++++++++++++++++++++++++++++++ 2 files changed, 424 insertions(+), 7 deletions(-) create mode 100644 update_api_list.py diff --git a/api/api_v1/endpoints/test.py b/api/api_v1/endpoints/test.py index b73300f..dd5f770 100644 --- a/api/api_v1/endpoints/test.py +++ b/api/api_v1/endpoints/test.py @@ -17,14 +17,23 @@ router = APIRouter() @router.post("/test") async def test( request: Request, - game: str, - ckdb: CKDrive = Depends(get_ck_db), rdb: RedisDrive = Depends(get_redis_pool), db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user), - analysis: BehaviorAnalysis = Depends(BehaviorAnalysis)): + ): - aaa=await crud.space.create(db, - schemas.SpaceCreate(name='默认空间', project_id='1b238814be9811ebb7a0d5bd867f57d6'), - user=current_user) - return 'aa' + """api 列表""" + app = request.app + data = {} + for r in app.routes: + title = r.tags[0] if hasattr(r, 'description') else None + if not title: + continue + data.setdefault(title, {'list': []}) + path = r.path + name = r.description if hasattr(r, 'description') else r.name + data[title]['list'].append({'api': path, 'title': name}) + + res = [{'title': k, 'list': v['list']} for k, v in data.items()] + + return schemas.Msg(code=0, msg='ok', data=res) diff --git a/update_api_list.py b/update_api_list.py new file mode 100644 index 0000000..40832b5 --- /dev/null +++ b/update_api_list.py @@ -0,0 +1,408 @@ +data = { + "code": 0, + "msg": "ok", + "data": [ + { + "title": "test", + "list": [ + { + "api": "/api/v1/test/test", + "title": "api 列表" + } + ] + }, + { + "title": "用户接口", + "list": [ + { + "api": "/api/v1/user/login", + "title": "OAuth2兼容令牌登录,获取将来令牌的访问令牌" + }, + { + "api": "/api/v1/user/me", + "title": "Test access token" + }, + { + "api": "/api/v1/user/reset_password", + "title": "修改其他人密码" + }, + { + "api": "/api/v1/user/reset_my_password", + "title": "修改自己的密码" + }, + { + "api": "/api/v1/user/edit_profile", + "title": "编辑用户资料" + }, + { + "api": "/api/v1/user/all_account", + "title": "获取所有用户" + }, + { + "api": "/api/v1/user/add_account", + "title": "创建新账号" + } + ] + }, + { + "title": "项目接口", + "list": [ + { + "api": "/api/v1/project/create", + "title": "创建项目" + }, + { + "api": "/api/v1/project/", + "title": "查看自己拥有的项目" + }, + { + "api": "/api/v1/project/detail", + "title": "查看项目信息" + }, + { + "api": "/api/v1/project/rename", + "title": "修改项目名" + }, + { + "api": "/api/v1/project/add_members", + "title": "项目添加成员" + }, + { + "api": "/api/v1/project/edit_member", + "title": "编辑成员权限 角色和数据" + }, + { + "api": "/api/v1/project/members", + "title": "查看项目成员" + }, + { + "api": "/api/v1/project/kanban", + "title": "获取自己的看板" + } + ] + }, + { + "title": "文件夹接口", + "list": [ + { + "api": "/api/v1/folder/create", + "title": "创建文件夹" + }, + { + "api": "/api/v1/folder/delete", + "title": "删除文件夹" + } + ] + }, + { + "title": "空间接口", + "list": [ + { + "api": "/api/v1/space/create", + "title": "创建空间" + }, + { + "api": "/api/v1/space/delete", + "title": "删除空间" + }, + { + "api": "/api/v1/space/rename", + "title": "重命名空间" + }, + { + "api": "/api/v1/space/set_members", + "title": "设置空间成员" + }, + { + "api": "/api/v1/space/detail", + "title": "空间详细" + } + ] + }, + { + "title": "看板接口", + "list": [ + { + "api": "/api/v1/dashboard/create", + "title": "创建看板" + }, + { + "api": "/api/v1/dashboard/edit_show_report", + "title": "" + }, + { + "api": "/api/v1/dashboard/delete", + "title": "删除看板" + }, + { + "api": "/api/v1/dashboard/move", + "title": "移动看板" + }, + { + "api": "/api/v1/dashboard/copy", + "title": "复制到其他项目" + }, + { + "api": "/api/v1/dashboard/add_report", + "title": "添加报表" + }, + { + "api": "/api/v1/dashboard/del_report", + "title": "删除报表" + }, + { + "api": "/api/v1/dashboard/edit", + "title": "编辑看板名" + }, + { + "api": "/api/v1/dashboard/", + "title": "获取一个看板" + } + ] + }, + { + "title": "报表接口", + "list": [ + { + "api": "/api/v1/report/create", + "title": "新建报表" + }, + { + "api": "/api/v1/report/edit", + "title": "编辑报表" + }, + { + "api": "/api/v1/report/copy", + "title": "复制报表到其他项目" + }, + { + "api": "/api/v1/report/read_report", + "title": "获取已建报表" + }, + { + "api": "/api/v1/report/delete", + "title": "删除报表" + } + ] + }, + { + "title": "数据权限", + "list": [ + { + "api": "/api/v1/data_auth/add_data_auth", + "title": "创建数据权限" + }, + { + "api": "/api/v1/data_auth/edit_data_auth", + "title": "修改数据权限" + }, + { + "api": "/api/v1/data_auth/quotas_map", + "title": "" + }, + { + "api": "/api/v1/data_auth/filter_map", + "title": "" + }, + { + "api": "/api/v1/data_auth/all_event", + "title": "获取所有事件" + }, + { + "api": "/api/v1/data_auth/list", + "title": "获取前项目数据权限" + }, + { + "api": "/api/v1/data_auth/my_event", + "title": "获取自己的事件权限" + }, + { + "api": "/api/v1/data_auth/user_property", + "title": "获取用户属性" + }, + { + "api": "/api/v1/data_auth/load_prop_quotas", + "title": "事件属性 聚合条件" + }, + { + "api": "/api/v1/data_auth/load_filter_props", + "title": "事件属性 过滤条件" + } + ] + }, + { + "title": "数据管理", + "list": [ + { + "api": "/api/v1/data_mana/attr_list", + "title": "事件属性列表" + }, + { + "api": "/api/v1/data_mana/attr_edit", + "title": "编辑事件属性" + }, + { + "api": "/api/v1/data_mana/event_list", + "title": "事件列表" + }, + { + "api": "/api/v1/data_mana/event_edit", + "title": "编辑事件" + } + ] + }, + { + "title": "ck", + "list": [ + { + "api": "/api/v1/ck/sql", + "title": "原 sql 查询 " + }, + { + "api": "/api/v1/ck/event_model_sql", + "title": "事件分析模型 sql" + }, + { + "api": "/api/v1/ck/event_model", + "title": "事件分析" + }, + { + "api": "/api/v1/ck/retention_model_sql", + "title": "留存查询 sql" + }, + { + "api": "/api/v1/ck/retention_model", + "title": "留存数据模型" + }, + { + "api": "/api/v1/ck/funnel_model_sql", + "title": "漏斗数据模型 sql" + }, + { + "api": "/api/v1/ck/funnel_model", + "title": "漏斗数据模型" + }, + { + "api": "/api/v1/ck/scatter_model_sql", + "title": "分布分析 sql" + }, + { + "api": "/api/v1/ck/scatter_model", + "title": "分布分析 模型" + }, + { + "api": "/api/v1/ck/trace_model_sql", + "title": "路径分析 sql" + }, + { + "api": "/api/v1/ck/trace_model", + "title": "路径分析" + }, + { + "api": "/api/v1/ck/user_property_model_sql", + "title": "用户属性sql" + }, + { + "api": "/api/v1/ck/user_property_model", + "title": "用户属性分析" + } + ] + }, + { + "title": "xck", + "list": [ + { + "api": "/api/v1/ck/ltv_model_sql", + "title": "ltv模型sql " + }, + { + "api": "/api/v1/ck/ltv_model", + "title": "ltv模型sql " + } + ] + }, + { + "title": "api接口管理", + "list": [ + { + "api": "/api/v1/authz/add_role_domain", + "title": "在域内为用户添加角色" + }, + { + "api": "/api/v1/authz/get_permissions_for_user_in_domain", + "title": "获取域内用户或角色的权限" + }, + { + "api": "/api/v1/authz/del_role_user_domain", + "title": "删除用户角色域" + }, + { + "api": "/api/v1/authz/add_policy", + "title": "向当前策略添加授权规则" + }, + { + "api": "/api/v1/authz/del_policy", + "title": "删除角色api权限" + }, + { + "api": "/api/v1/authz/api_list", + "title": "GetPermissionsForUserInDomain\n所有的api" + }, + { + "api": "/api/v1/authz/add_api", + "title": "添加api" + }, + { + "api": "/api/v1/authz/del_api", + "title": "删除api" + }, + { + "api": "/api/v1/authz/edit_api", + "title": "编辑api" + }, + { + "api": "/api/v1/authz/domain", + "title": "可选择域 游戏代号" + }, + { + "api": "/api/v1/authz/add_roles", + "title": "新建角色" + }, + { + "api": "/api/v1/authz/roles", + "title": "域内所有角色" + }, + { + "api": "/api/v1/authz/edit_role", + "title": "修改角色名" + } + ] + } + ] +} + +import crud +import schemas +from core.config import settings + +# 创建一个超级用户、、 +from db import connect_to_mongo, get_database +import asyncio + +connect_to_mongo() +db = get_database() + + +async def main(): + await crud.api_list.delete(db,{}) + for item in data['data']: + title = item['title'] + for l in item['list']: + api = l['api'] + name = l['title'] + add_data = schemas.AddApi(path=api, name=name, desc='') + await crud.api_list.add_api(db, add_data) + + +loop = asyncio.get_event_loop() +loop.run_until_complete(main())