Ver código fonte

add edit profile api and limit user_profile

ming 3 anos atrás
pai
commit
50a1301586
2 arquivos alterados com 12 adições e 1 exclusões
  1. 10 1
      api/main.py
  2. 2 0
      api/models.py

+ 10 - 1
api/main.py

@@ -147,13 +147,22 @@ async def user_profile(token: str = Depends(oauth2_scheme)):
     left_sec = user_obj['left_time']
 
     video_info_list = []
-    statement = 'SELECT * FROM history_input WHERE user_id='+str(user_obj['id'])
+    statement = 'SELECT * FROM history_input WHERE user_id='+str(user_obj['id']+' ORDER BY timestamp DESC LIMIT 50')
     for row in db.query(statement):
         video_info_list.append({'id':row['id'],'title':row['name'],'duration':row['duration'],'url':row['link'],'time_stamp':row['timestamp'].strftime("%m/%d/%Y, %H:%M:%S")})
     dic_return = {'user_info':{'id':user_id,'userName':user_obj['username'],'email':user_obj['email'],'video_num':video_num,'total_sec':total_sec,'left_sec':user_obj['left_time']},'video_info':video_info_list}
     str_return = json.dumps(dic_return)
     return str_return
 
+@app.post('/edit_profile', response_class=HTMLResponse)
+async def edit_profile(userModel : models.UserProfile ,token: str = Depends(oauth2_scheme)):
+    db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/AI_anchor?charset=utf8mb4')
+    user_id = get_user_id(token)
+    user_obj = first(db.query('SELECT * FROM users where id ="'+str(user_id)+'"'))
+    data = {'username':user_obj['username'],'email':userModel.username}
+    db['users'].update(data, ['username'])
+    return {'msg':'ok'}
+
 # login & register page
 @app.get("/login", response_class=HTMLResponse)
 async def get_login_and_register_page(request: Request):

+ 2 - 0
api/models.py

@@ -66,3 +66,5 @@ class reset_pwd(BaseModel):
     code: str
     password: str
 
+class UserProfile(BaseModel):
+    email:str