[Feature] 添加功能:数据库应用 (#3551)

* [Update] 添加数据库应用Model

* [Update] 添加数据库应用ViewSet

* [Update] 添加数据库应用HTML

* [Update] 更新数据库应用迁移文件

* [Update] 添加数据库应用授权Model

* [Update] 添加数据库应用授权ViewSet(待续)

* [Update] 添加数据库应用授权ViewSet(完结)

* [Update] 添加数据库应用授权View(待续)

* [Update] 添加数据库应用授权View(待续2)

* [Update] 修改远程应用授权View(小问题)

* [Update] 添加数据库应用授权View(待续3)

* [Update] 添加数据库应用授权View(完结)

* [Update] 添加数据库应用授权相关API

* [Update] 添加数据库应用View(用户页面)

* [Update] 修改数据库应用授权Model/View/API(系统用户)

* [Update] 修改系统用户Model/View(添加mysql协议)

* [Update] 修改用户页面(我的应用)

* [Update] 添加迁移文件

* [Update] 添加迁移文件2

* [Update] 续添加迁移文件2(Model更改)

* [Update] 修改系统用户序列类(mysql协议自动生成密码问题)

* [Update] 修改数据库应用/资产等授权序列类

* [Update] 修改命令列表/会话详情命令溢出

* [Update] 修改授权详情中添加系统用户的过滤

* [Update] 修改列表动作的宽度
This commit is contained in:
BaiJiangJie
2019-12-19 15:28:17 +08:00
committed by GitHub
parent ac2ba63856
commit 16f727c60d
63 changed files with 2470 additions and 47 deletions

View File

@@ -3,7 +3,8 @@
from django.urls import re_path
from common import api as capi
from .asset_permission import asset_permission_urlpatterns
from .application_permission import remote_app_permission_urlpatterns
from .remote_app_permission import remote_app_permission_urlpatterns
from .database_app_permission import database_app_permission_urlpatterns
app_name = 'perms'
@@ -13,6 +14,7 @@ old_version_urlpatterns = [
]
urlpatterns = asset_permission_urlpatterns + \
remote_app_permission_urlpatterns \
+ old_version_urlpatterns
remote_app_permission_urlpatterns + \
database_app_permission_urlpatterns + \
old_version_urlpatterns

View File

@@ -0,0 +1,47 @@
# coding: utf-8
#
from django.urls import path, include
from rest_framework_bulk.routes import BulkRouter
from .. import api
router = BulkRouter()
router.register('database-app-permissions', api.DatabaseAppPermissionViewSet, 'database-app-permission')
router.register('database-app-permissions-users-relations', api.DatabaseAppPermissionUserRelationViewSet, 'database-app-permissions-users-relation')
router.register('database-app-permissions-user-groups-relations', api.DatabaseAppPermissionUserGroupRelationViewSet, 'database-app-permissions-user-groups-relation')
router.register('database-app-permissions-database-apps-relations', api.DatabaseAppPermissionDatabaseAppRelationViewSet, 'database-app-permissions-database-apps-relation')
router.register('database-app-permissions-system-users-relations', api.DatabaseAppPermissionSystemUserRelationViewSet, 'database-app-permissions-system-users-relation')
user_permission_urlpatterns = [
path('<uuid:pk>/database-apps/', api.UserGrantedDatabaseAppsApi.as_view(), name='user-database-apps'),
path('database-apps/', api.UserGrantedDatabaseAppsApi.as_view(), name='my-database-apps'),
# DatabaseApps as tree
path('<uuid:pk>/database-apps/tree/', api.UserGrantedDatabaseAppsAsTreeApi.as_view(), name='user-databases-apps-tree'),
path('database-apps/tree/', api.UserGrantedDatabaseAppsAsTreeApi.as_view(), name='my-databases-apps-tree'),
path('<uuid:pk>/database-apps/<uuid:database_app_id>/system-users/', api.UserGrantedDatabaseAppSystemUsersApi.as_view(), name='user-database-app-system-users'),
path('database-apps/<uuid:database_app_id>/system-users/', api.UserGrantedDatabaseAppSystemUsersApi.as_view(), name='user-database-app-system-users'),
]
user_group_permission_urlpatterns = [
path('<uuid:pk>/database-apps/', api.UserGroupGrantedDatabaseAppsApi.as_view(), name='user-group-database-apps'),
]
permission_urlpatterns = [
# 授权规则中授权的用户和数据库应用
path('<uuid:pk>/users/all/', api.DatabaseAppPermissionAllUserListApi.as_view(), name='database-app-permission-all-users'),
path('<uuid:pk>/database-apps/all/', api.DatabaseAppPermissionAllDatabaseAppListApi.as_view(), name='database-app-permission-all-database-apps'),
# 验证用户是否有某个数据库应用的权限
path('user/validate/', api.ValidateUserDatabaseAppPermissionApi.as_view(), name='validate-user-database-app-permission'),
]
database_app_permission_urlpatterns = [
path('users/', include(user_permission_urlpatterns)),
path('user-groups/', include(user_group_permission_urlpatterns)),
path('database-app-permissions/', include(permission_urlpatterns))
]
database_app_permission_urlpatterns += router.urls

View File

@@ -23,4 +23,12 @@ urlpatterns = [
path('remote-app-permission/<uuid:pk>/', views.RemoteAppPermissionDetailView.as_view(), name='remote-app-permission-detail'),
path('remote-app-permission/<uuid:pk>/user/', views.RemoteAppPermissionUserView.as_view(), name='remote-app-permission-user-list'),
path('remote-app-permission/<uuid:pk>/remote-app/', views.RemoteAppPermissionRemoteAppView.as_view(), name='remote-app-permission-remote-app-list'),
# database-app-permission
path('database-app-permission/', views.DatabaseAppPermissionListView.as_view(), name='database-app-permission-list'),
path('database-app-permission/create/', views.DatabaseAppPermissionCreateView.as_view(), name='database-app-permission-create'),
path('database-app-permission/<uuid:pk>/update/', views.DatabaseAppPermissionUpdateView.as_view(), name='database-app-permission-update'),
path('database-app-permission/<uuid:pk>/', views.DatabaseAppPermissionDetailView.as_view(), name='database-app-permission-detail'),
path('database-app-permission/<uuid:pk>/user/', views.DatabaseAppPermissionUserView.as_view(), name='database-app-permission-user-list'),
path('database-app-permission/<uuid:pk>/database-app/', views.DatabaseAppPermissionDatabaseAppView.as_view(), name='database-app-permission-database-app-list'),
]