修复普通用户不能接入自己添加的资产的bug

This commit is contained in:
dushixiang 2021-02-21 17:00:22 +08:00
parent f9455578f1
commit 0761c40c7a
2 changed files with 45 additions and 7 deletions

View File

@ -151,19 +151,39 @@ func AddSharerResources(userGroupId, userId, resourceType string, resourceIds []
} }
func FindAssetIdsByUserId(userId string) (assetIds []string, err error) { func FindAssetIdsByUserId(userId string) (assetIds []string, err error) {
// 查询当前用户创建的资产
var ownerAssetIds, sharerAssetIds []string
asset := Asset{}
err = global.DB.Table(asset.TableName()).Select("id").Where("owner = ?", userId).Find(&ownerAssetIds).Error
if err != nil {
return nil, err
}
// 查询其他用户授权给该用户的资产
groupIds, err := FindUserGroupIdsByUserId(userId) groupIds, err := FindUserGroupIdsByUserId(userId)
if err != nil { if err != nil {
return nil, err return nil, err
} }
db := global.DB db := global.DB.Table("resource_sharers").Select("resource_id").Where("user_id = ?", userId)
db = db.Table("resource_sharers").Select("resource_id").Where("user_id = ?", userId)
if groupIds != nil && len(groupIds) > 0 { if groupIds != nil && len(groupIds) > 0 {
db = db.Or("user_group_id in ?", groupIds) db = db.Or("user_group_id in ?", groupIds)
} }
err = db.Find(&assetIds).Error err = db.Find(&sharerAssetIds).Error
if assetIds == nil { if err != nil {
assetIds = make([]string, 0) return nil, err
} }
// 合并查询到的资产ID
assetIds = make([]string, 0)
if ownerAssetIds != nil {
assetIds = append(assetIds, ownerAssetIds...)
}
if sharerAssetIds != nil {
assetIds = append(assetIds, sharerAssetIds...)
}
return return
} }

View File

@ -7,8 +7,8 @@ import {getToken, isEmpty} from "../../utils/utils";
import {FitAddon} from 'xterm-addon-fit'; import {FitAddon} from 'xterm-addon-fit';
import "./Access.css" import "./Access.css"
import request from "../../common/request"; import request from "../../common/request";
import {Affix, Button, Col, Drawer, message, Row} from "antd"; import {Affix, Button, Col, Drawer, message, Modal, Row} from "antd";
import {AppstoreTwoTone} from "@ant-design/icons"; import {AppstoreTwoTone, ExclamationCircleOutlined} from "@ant-design/icons";
import Draggable from "react-draggable"; import Draggable from "react-draggable";
import FileSystem from "./FileSystem"; import FileSystem from "./FileSystem";
@ -141,6 +141,24 @@ class Term extends Component {
} }
} }
showMessage(msg) {
message.destroy();
Modal.confirm({
title: '提示',
icon: <ExclamationCircleOutlined/>,
content: msg,
centered: true,
okText: '重新连接',
cancelText: '关闭页面',
onOk() {
window.location.reload();
},
onCancel() {
window.close();
},
});
}
async createSession(assetsId) { async createSession(assetsId) {
let result = await request.post(`/sessions?assetId=${assetsId}&mode=naive`); let result = await request.post(`/sessions?assetId=${assetsId}&mode=naive`);
if (result['code'] !== 1) { if (result['code'] !== 1) {