1
This commit is contained in:
parent
b2ffc0a8b4
commit
25a47dc586
@ -47,10 +47,10 @@ async def get_permissions_for_user_in_domain(
|
||||
"""
|
||||
|
||||
data = casbin_enforcer.get_permissions_for_user_in_domain(data_in.role_id, data_in.game)
|
||||
path_ids = {i[2] for i in data}
|
||||
paths = {i[2] for i in data}
|
||||
all_api = await crud.api_list.all_api(db)
|
||||
for item in all_api:
|
||||
if item['_id'] in path_ids:
|
||||
if item['path'] in paths:
|
||||
item['is_authz'] = True
|
||||
else:
|
||||
item['is_authz'] = False
|
||||
|
@ -66,10 +66,13 @@ async def read_project(request: Request,
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||
):
|
||||
"""查看自己拥有的项目"""
|
||||
if request.user.username == 'root':
|
||||
resp = await crud.project.all_game(db)
|
||||
else:
|
||||
game_list = casbin_enforcer.get_domains_for_user(request.user.username)
|
||||
resp = await crud.project.get_my_game(db, game_list)
|
||||
|
||||
res = await crud.project.read_project(db, username=request.user.username)
|
||||
|
||||
return schemas.Msg(code=0, msg='ok', data=res)
|
||||
return schemas.Msg(code=0, msg='ok', data=resp)
|
||||
|
||||
|
||||
@router.get("/detail")
|
||||
@ -170,7 +173,7 @@ async def members(request: Request,
|
||||
names.append(item['username'])
|
||||
role_ids.append(item['role_id'])
|
||||
users = await crud.user.get_by_users(db, {'name': {'$in': names}})
|
||||
roles = await crud.role.find_ids(db,role_ids)
|
||||
roles = await crud.role.find_ids(db, role_ids)
|
||||
users = {item.name: item.dict() for item in users.data}
|
||||
roles = {item['_id']: item['name'] for item in roles}
|
||||
res = []
|
||||
|
@ -119,7 +119,8 @@ async def event_model(
|
||||
'sum': [],
|
||||
'avg': [],
|
||||
'event_name': item['event_name'],
|
||||
'format': item['format']
|
||||
'format': item['format'],
|
||||
'last_value': 0
|
||||
}
|
||||
sql = item['sql']
|
||||
groupby = item['groupby']
|
||||
@ -135,8 +136,12 @@ async def event_model(
|
||||
# df_group.reset_index(drop=True, inplace=True)
|
||||
q['groups'].append(groupby)
|
||||
q['values'].append(df['values'].to_list())
|
||||
q['sum'].append(int(df['values'].sum()))
|
||||
q['sum'].append(round(df['values'].sum(),2))
|
||||
q['avg'].append(round(df['values'].mean(), 2))
|
||||
for last_value in df['values'].values[::-1]:
|
||||
if last_value > 0:
|
||||
q['last_value'] = int(last_value)
|
||||
break
|
||||
if groupby:
|
||||
q['date_range'] = [f'{i}' for i in df.set_index(groupby).index]
|
||||
else:
|
||||
@ -162,6 +167,10 @@ async def event_model(
|
||||
q['values'].append(df_group['values'].to_list())
|
||||
q['sum'].append(int(df_group['values'].sum()))
|
||||
q['avg'].append(int(df_group['values'].mean()))
|
||||
for last_value in df['values'].values[::-1]:
|
||||
if last_value > 0:
|
||||
q['last_value'] = last_value
|
||||
break
|
||||
|
||||
else:
|
||||
# 无分组
|
||||
@ -175,7 +184,11 @@ async def event_model(
|
||||
if len(df) >= 8:
|
||||
q['wow'] = division((df.iloc[-1, 1] - df.iloc[-8, 1]) * 100 / df.iloc[-8, 1], 2) or 0
|
||||
q['values'].append(df['values'].to_list())
|
||||
q['sum'].append(int(df['values'].sum()))
|
||||
for last_value in df['values'].values[::-1]:
|
||||
if last_value > 0:
|
||||
q['last_value'] = last_value
|
||||
break
|
||||
q['sum'].append(round(df['values'].sum(),2))
|
||||
q['avg'].append(round(df['values'].mean(), 2))
|
||||
if item['time_particle'] in ('P1D', 'P1W'):
|
||||
q['date_range'] = [d.strftime('%Y-%m-%d') for d in q['date_range']]
|
||||
@ -543,7 +556,7 @@ async def scatter_model(
|
||||
if interval_type == 'def' and analysis == 'number_of_days':
|
||||
resp = {'list': {}}
|
||||
for key, tmp_df in df.groupby('date'):
|
||||
total = int(tmp_df['values'].sum())
|
||||
total = round(tmp_df['values'].sum(),2)
|
||||
resp['list'][key.strftime('%Y-%m-%d')] = {'n': total, 'total': total, 'p': 100}
|
||||
return schemas.Msg(code=0, msg='ok', data=resp)
|
||||
|
||||
|
@ -17,8 +17,11 @@ class CRUDProject(CRUDBase):
|
||||
)
|
||||
return await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
|
||||
|
||||
async def get_my_game(self, db, game_names: list):
|
||||
return await self.find_many(db, {'game': {'$in': game_names}})
|
||||
|
||||
async def all_game(self, db: AsyncIOMotorDatabase):
|
||||
return await self.find_many(db, {}, {'game': True, 'name': True, '_id': False})
|
||||
return await self.find_many(db, {})
|
||||
|
||||
async def read_project(self, db: AsyncIOMotorDatabase, username: str, **kwargs):
|
||||
return await self.read_have(db, username, **kwargs)
|
||||
|
Loading…
Reference in New Issue
Block a user