|
@@ -8,22 +8,22 @@
|
|
|
:author: wushuiyong@walle-web.io
|
|
|
"""
|
|
|
|
|
|
-import os
|
|
|
-from flask import request, abort, session, current_app
|
|
|
-from flask_login import current_user, login_required
|
|
|
+import platform
|
|
|
+
|
|
|
+from flask import abort
|
|
|
+from git import Repo
|
|
|
from walle.api.api import SecurityResource
|
|
|
-from walle.model.record import RecordModel
|
|
|
from walle.model.menu import MenuModel
|
|
|
+from walle.model.record import RecordModel
|
|
|
from walle.model.user import UserModel
|
|
|
from walle.service import emails
|
|
|
from walle.service.deployer import Deployer
|
|
|
-from walle.service.rbac.role import *
|
|
|
-from werkzeug.utils import secure_filename
|
|
|
from walle.service.extensions import permission
|
|
|
+from walle.service.rbac.role import *
|
|
|
|
|
|
|
|
|
class GeneralAPI(SecurityResource):
|
|
|
- actions = ['menu', 'websocket']
|
|
|
+ actions = ['menu', 'websocket', 'info']
|
|
|
|
|
|
# TODO 更细致的检查
|
|
|
@permission.upper_reporter
|
|
@@ -87,3 +87,19 @@ class GeneralAPI(SecurityResource):
|
|
|
'command': ret,
|
|
|
'record': record,
|
|
|
})
|
|
|
+
|
|
|
+ def info(self):
|
|
|
+ try:
|
|
|
+ repo = Repo(current_app.config.get('PROJECT_ROOT'))
|
|
|
+ branch = str(repo.active_branch)
|
|
|
+ commit = 'ba4ca13d'
|
|
|
+ except Exception as e:
|
|
|
+ branch, commit = ''
|
|
|
+
|
|
|
+ return self.render_json(data={
|
|
|
+ 'version': current_app.config.get('VERSION'),
|
|
|
+ 'branch': branch,
|
|
|
+ 'commit': commit,
|
|
|
+ 'server': platform.platform(),
|
|
|
+ 'python': platform.python_version(),
|
|
|
+ })
|