1
This commit is contained in:
parent
39faa3322c
commit
b30df136f3
@ -260,3 +260,64 @@ async def update_api_list(
|
||||
await crud.api_list.update_api(db, add_data)
|
||||
|
||||
return schemas.Msg(code=0, msg='ok', data=1)
|
||||
|
||||
|
||||
@router.get("/account_owner_list")
|
||||
async def account_owner_list(request: Request,
|
||||
game: str,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)) -> schemas.Msg:
|
||||
"""获取账号owner权限"""
|
||||
account_infos = await crud.user.find_many(db, {},
|
||||
{'_id': False, 'name': True, 'nickname': True,
|
||||
f'data_where.{game}': True})
|
||||
resp = []
|
||||
for account_info in account_infos:
|
||||
resp.append(
|
||||
{
|
||||
'name': account_info.get('name'),
|
||||
'nickname': account_info.get('nickname'),
|
||||
'owner_list': ''
|
||||
}
|
||||
)
|
||||
for item in account_info.get('data_where', {}).get(game, []):
|
||||
if item.get('columnName') == 'owner_name':
|
||||
resp[-1]['owner_list'] = ','.join(item.get('ftv', []))
|
||||
break
|
||||
return schemas.Msg(code=0, msg='ok', data=resp)
|
||||
|
||||
|
||||
@router.post("/update_account_owner")
|
||||
async def account_owner_list(request: Request,
|
||||
game: str,
|
||||
data_in: schemas.OwnerList,
|
||||
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||
current_user: schemas.UserDB = Depends(deps.get_current_user)) -> schemas.Msg:
|
||||
"""设置账号owner权限"""
|
||||
set_data = {
|
||||
"columnName": "owner_name",
|
||||
"tableType": "event",
|
||||
"comparator": "in",
|
||||
"ftv": data_in.owners
|
||||
}
|
||||
is_exists = await crud.user.find_one(db, {'name': data_in.account_name,
|
||||
f'data_where.{game}': {'$exists': True},
|
||||
})
|
||||
if is_exists:
|
||||
if await crud.user.find_one(db, {'name': data_in.account_name,
|
||||
f'data_where.{game}': {'$exists': True},
|
||||
f'data_where.{game}.columnName': 'owner_name'
|
||||
}):
|
||||
await crud.user.update_one(db, {'name': data_in.account_name,
|
||||
f'data_where.{game}': {'$exists': True},
|
||||
f'data_where.{game}.columnName': 'owner_name'
|
||||
}, {'$set': {f'data_where.{game}.$': set_data}})
|
||||
else:
|
||||
await crud.user.update_one(db, {'name': data_in.account_name,
|
||||
f'data_where.{game}': {'$exists': True},
|
||||
}, {'$push': {f'data_where.{game}': set_data}})
|
||||
else:
|
||||
await crud.user.update_one(db, {'name': data_in.account_name,
|
||||
}, {'$set': {f'data_where.{game}': [set_data]}})
|
||||
|
||||
return schemas.Msg(code=0, msg='ok')
|
||||
|
@ -150,6 +150,8 @@ class XAnalysis:
|
||||
sa.Column('date') >= self.event_view['startTime'].split(' ')[0],
|
||||
sa.Column('date') <= self.event_view['endTime'].split(' ')[0]
|
||||
]
|
||||
if quota == '#distinct_id':
|
||||
where.append(sa.Column('role_idx') == 1)
|
||||
qry = sa.select().where(*where)
|
||||
sql = str(qry.compile(compile_kwargs={"literal_binds": True}))
|
||||
where_str = sql.split('WHERE ')[1]
|
||||
@ -164,6 +166,7 @@ class XAnalysis:
|
||||
where_account = self.handler_filts((self.account_filters, 'and'), self.ext_filters)
|
||||
where_account_str = 1
|
||||
if where_account:
|
||||
|
||||
qry = sa.select().where(*where_account)
|
||||
sql = str(qry.compile(compile_kwargs={"literal_binds": True}))
|
||||
where_account_str = sql.split('WHERE ')[1]
|
||||
|
@ -30,3 +30,8 @@ class EditRole(BaseModel):
|
||||
role_id: str = Field(..., description='要编辑的id')
|
||||
name: str = None
|
||||
desc: str = None
|
||||
|
||||
|
||||
class OwnerList(BaseModel):
|
||||
owners: list
|
||||
account_name: str
|
||||
|
Loading…
Reference in New Issue
Block a user