完成资产隔离

This commit is contained in:
dushixiang
2021-01-17 23:54:05 +08:00
parent a0610b8ce0
commit 28d17accd2
16 changed files with 1072 additions and 63 deletions

View File

@ -33,9 +33,11 @@ func AssetPagingEndpoint(c echo.Context) error {
name := c.QueryParam("name")
protocol := c.QueryParam("protocol")
tags := c.QueryParam("tags")
owner := c.QueryParam("owner")
sharer := c.QueryParam("sharer")
account, _ := GetCurrentAccount(c)
items, total, _ := model.FindPageAsset(pageIndex, pageSize, name, protocol, tags, account)
items, total, _ := model.FindPageAsset(pageIndex, pageSize, name, protocol, tags, account, owner, sharer)
return Success(c, H{
"total": total,

View File

@ -6,6 +6,12 @@ import (
"strings"
)
type RU struct {
UserId string `json:"userId"`
ResourceType string `json:"resourceType"`
ResourceIds []string `json:"resourceIds"`
}
func ResourceGetAssignEndPoint(c echo.Context) error {
resourceId := c.Param("id")
userIds, err := model.FindUserIdsByResourceId(resourceId)
@ -25,3 +31,29 @@ func ResourceOverwriteAssignEndPoint(c echo.Context) error {
return Success(c, "")
}
func ResourceRemoveByUserIdAssignEndPoint(c echo.Context) error {
var ru RU
if err := c.Bind(&ru); err != nil {
return err
}
if err := model.DeleteByUserIdAndResourceTypeAndResourceIdIn(ru.UserId, ru.ResourceType, ru.ResourceIds); err != nil {
return err
}
return Success(c, "")
}
func ResourceAddByUserIdAssignEndPoint(c echo.Context) error {
var ru RU
if err := c.Bind(&ru); err != nil {
return err
}
if err := model.AddSharerResources(ru.UserId, ru.ResourceType, ru.ResourceIds); err != nil {
return err
}
return Success(c, "")
}

View File

@ -58,8 +58,8 @@ func SetupRoutes() *echo.Echo {
userGroups.PUT("/:id", UserGroupUpdateEndpoint)
userGroups.DELETE("/:id", UserGroupDeleteEndpoint)
userGroups.GET("/:id", UserGroupGetEndpoint)
userGroups.POST("/:id/members", UserGroupAddMembersEndpoint)
userGroups.DELETE("/:id/members/:memberId", UserGroupDelMembersEndpoint)
//userGroups.POST("/:id/members", UserGroupAddMembersEndpoint)
//userGroups.DELETE("/:id/members/:memberId", UserGroupDelMembersEndpoint)
}
assets := e.Group("/assets", Auth)
@ -119,6 +119,8 @@ func SetupRoutes() *echo.Echo {
{
resources.GET("/:id/assign", ResourceGetAssignEndPoint)
resources.POST("/:id/assign", ResourceOverwriteAssignEndPoint)
resources.POST("/remove", ResourceRemoveByUserIdAssignEndPoint)
resources.POST("/add", ResourceAddByUserIdAssignEndPoint)
}
e.GET("/properties", PropertyGetEndpoint)

View File

@ -10,6 +10,7 @@ import (
)
type UserGroup struct {
Id string `json:"id"`
Name string `json:"name"`
Members []string `json:"members"`
}
@ -52,12 +53,17 @@ func UserGroupPagingEndpoint(c echo.Context) error {
func UserGroupUpdateEndpoint(c echo.Context) error {
id := c.Param("id")
var item model.UserGroup
var item UserGroup
if err := c.Bind(&item); err != nil {
return err
}
userGroup := model.UserGroup{
Name: item.Name,
}
model.UpdateUserGroupById(&item, id)
if err := model.UpdateUserGroupById(&userGroup, item.Members, id); err != nil {
return err
}
return Success(c, nil)
}
@ -81,7 +87,18 @@ func UserGroupGetEndpoint(c echo.Context) error {
return err
}
return Success(c, item)
members, err := model.FindUserGroupMembersByUserGroupId(id)
if err != nil {
return err
}
userGroup := UserGroup{
Id: item.ID,
Name: item.Name,
Members: members,
}
return Success(c, userGroup)
}
func UserGroupAddMembersEndpoint(c echo.Context) error {