60 lines
1.3 KiB
Go
60 lines
1.3 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/labstack/echo/v4"
|
|
"next-terminal/pkg/model"
|
|
"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)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return Success(c, userIds)
|
|
}
|
|
|
|
func ResourceOverwriteAssignEndPoint(c echo.Context) error {
|
|
resourceId := c.Param("id")
|
|
userIds := c.QueryParam("userIds")
|
|
resourceType := c.QueryParam("type")
|
|
uIds := strings.Split(userIds, ",")
|
|
|
|
model.OverwriteUserIdsByResourceId(resourceId, resourceType, uIds)
|
|
|
|
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, "")
|
|
}
|