合并JWL,WZY,TRM代码
Change-Id: Ifb4fcad3c06733e1e005e7d8d9403e3561010fb4
diff --git a/TRM/back/app/__pycache__/routes.cpython-310.pyc b/TRM/back/app/__pycache__/routes.cpython-310.pyc
index e1c6837..5166bf4 100644
--- a/TRM/back/app/__pycache__/routes.cpython-310.pyc
+++ b/TRM/back/app/__pycache__/routes.cpython-310.pyc
Binary files differ
diff --git a/TRM/back/app/functions/Fpost.py b/TRM/back/app/functions/Fpost.py
index 2f07b4a..7d6ccd2 100644
--- a/TRM/back/app/functions/Fpost.py
+++ b/TRM/back/app/functions/Fpost.py
@@ -13,14 +13,44 @@
def getlist(self):
results = self.session.query(post.id, post.title,post.status)
return results
+
+ def getuserlist(self):
+ results= self.session.query(users.id, users.username, users.role)
+ return results
+
+ def giveadmin(self,userid):
+ res=self.session.query(users).filter(users.id==userid).first()
+ if not res:
+ return False
+ res.role='admin'
+ self.session.commit()
+ return True
+
+ def giveuser(self,userid):
+ res=self.session.query(users).filter(users.id==userid).first()
+ if not res:
+ return False
+ res.role='user'
+ self.session.commit()
+ return True
+
+ def givesuperadmin(self,userid):
+ res=self.session.query(users).filter(users.id==userid).first()
+ if not res:
+ return False
+ res.role='superadmin'
+ self.session.commit()
+ return True
+
+
def getpost(self,postid):
res=self.session.query(post).filter(post.id==postid).first()
return res
- def checkid(self,userid):
+ def checkid(self,userid,status=''):
res=self.session.query(users).filter(users.id==userid).first()
if(not res):
return False
- if res.role !='superadmin':
+ if res.role !=status:
return False
return True
diff --git a/TRM/back/app/functions/__pycache__/Fpost.cpython-310.pyc b/TRM/back/app/functions/__pycache__/Fpost.cpython-310.pyc
index 13abb35..f9b1bc6 100644
--- a/TRM/back/app/functions/__pycache__/Fpost.cpython-310.pyc
+++ b/TRM/back/app/functions/__pycache__/Fpost.cpython-310.pyc
Binary files differ
diff --git a/TRM/back/app/routes.py b/TRM/back/app/routes.py
index 19ff870..41b022b 100644
--- a/TRM/back/app/routes.py
+++ b/TRM/back/app/routes.py
@@ -7,6 +7,81 @@
main = Blueprint('main', __name__)
+@main.route('/sgiveadmin',methods=['POST','GET'])
+def giveadmin():
+ data=request.get_json()
+ print(data)
+ engine=create_engine(Config.SQLURL)
+ SessionLocal = sessionmaker(bind=engine)
+ session = SessionLocal()
+ f=Fpost(session)
+ checres=f.checkid(data['userid'],'superadmin')
+ if(not checres):
+ return jsonify({'status': 'error', 'message': 'Unauthorized'})
+
+ res=f.giveadmin(data['targetid'])
+ if not res:
+ return jsonify({'status': 'error', 'message': 'User not found'})
+
+ return jsonify({'status': 'success', 'message': 'User role updated to admin'})
+
+@main.route('/sgiveuser',methods=['POST','GET'])
+def giveuser():
+ data=request.get_json()
+ print(data)
+ engine=create_engine(Config.SQLURL)
+ SessionLocal = sessionmaker(bind=engine)
+ session = SessionLocal()
+ f=Fpost(session)
+ checres=f.checkid(data['userid'],'superadmin')
+ if(not checres):
+ return jsonify({'status': 'error', 'message': 'Unauthorized'})
+
+ res=f.giveuser(data['targetid'])
+ if not res:
+ return jsonify({'status': 'error', 'message': 'User not found'})
+
+ return jsonify({'status': 'success', 'message': 'User role updated to user'})
+
+
+@main.route('/sgivesuperadmin',methods=['POST','GET'])
+def givesuperadmin():
+ data=request.get_json()
+ print(data)
+ engine=create_engine(Config.SQLURL)
+ SessionLocal = sessionmaker(bind=engine)
+ session = SessionLocal()
+ f=Fpost(session)
+ checres=f.checkid(data['userid'],'superadmin')
+ if(not checres):
+ return jsonify({'status': 'error', 'message': 'Unauthorized'})
+
+ res=f.givesuperadmin(data['targetid'])
+ if not res:
+ return jsonify({'status': 'error', 'message': 'User not found'})
+
+ return jsonify({'status': 'success', 'message': 'User role updated to superadmin'})
+
+@main.route('/sgetuserlist',methods=['POST','GET'])
+def userlist():
+ data=request.get_json()
+ print(data)
+ engine=create_engine(Config.SQLURL)
+ SessionLocal = sessionmaker(bind=engine)
+ session = SessionLocal()
+ f=Fpost(session)
+ checres=f.checkid(data['userid'],'superadmin')
+ if(not checres):
+ return jsonify({'status': 'error', 'message': 'Unauthorized'})
+ res=f.getuserlist()
+ respons=[]
+ for datai in res:
+ respons.append({
+ 'id': datai[0],
+ 'username': datai[1],
+ 'role': datai[2]
+ })
+ return jsonify(respons)
@main.route('/apostlist',methods=['POST','GET'])
def postlist():
@@ -16,7 +91,7 @@
SessionLocal = sessionmaker(bind=engine)
session = SessionLocal()
f=Fpost(session)
- checres=f.checkid(data['userid'])
+ checres=f.checkid(data['userid'],'admin')
if(not checres):
return jsonify({'status': 'error', 'message': 'Unauthorized'})
res=f.getlist()
@@ -36,7 +111,7 @@
SessionLocal = sessionmaker(bind=engine)
session = SessionLocal()
f=Fpost(session)
- checres=f.checkid(data['userid'])
+ checres=f.checkid(data['userid'],'admin')
if(not checres):
return jsonify({'status': 'error', 'message': 'Unauthorized'})
res=f.getpost(data['postid'])
@@ -50,7 +125,7 @@
SessionLocal = sessionmaker(bind=engine)
session = SessionLocal()
f=Fpost(session)
- checres=f.checkid(data['userid'])
+ checres=f.checkid(data['userid'],'admin')
if(not checres):
return jsonify({'status': 'error', 'message': 'Unauthorized'})
@@ -69,7 +144,7 @@
SessionLocal = sessionmaker(bind=engine)
session = SessionLocal()
f=Fpost(session)
- checres=f.checkid(data['userid'])
+ checres=f.checkid(data['userid'],'admin')
if(not checres):
return jsonify({'status': 'error', 'message': 'Unauthorized'})