48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package dashboard
|
|
|
|
import (
|
|
"agent-desk/internal/pkg/dto/request"
|
|
"agent-desk/internal/pkg/httpx"
|
|
"agent-desk/internal/pkg/httpx/params"
|
|
"agent-desk/internal/services"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func OrganizationUserList(ctx *gin.Context) {
|
|
principal := services.AuthService.GetAuthPrincipal(ctx)
|
|
if principal == nil {
|
|
httpx.WriteJSON(ctx, nil)
|
|
return
|
|
}
|
|
|
|
ret, err := services.OrganizationService.GetUserOrganizations(principal.UserID)
|
|
if err != nil {
|
|
httpx.WriteJSON(ctx, err)
|
|
return
|
|
}
|
|
httpx.WriteJSON(ctx, ret)
|
|
}
|
|
|
|
func OrganizationSwitch(ctx *gin.Context) {
|
|
principal := services.AuthService.GetAuthPrincipal(ctx)
|
|
if principal == nil {
|
|
httpx.WriteJSON(ctx, nil)
|
|
return
|
|
}
|
|
|
|
req := request.OrganizationSwitchRequest{}
|
|
if err := params.ReadJSON(ctx, &req); err != nil {
|
|
httpx.WriteJSON(ctx, err)
|
|
return
|
|
}
|
|
|
|
org, err := services.OrganizationService.SwitchActiveOrganization(principal.UserID, req.OrganizationID)
|
|
if err != nil {
|
|
httpx.WriteJSON(ctx, err)
|
|
return
|
|
}
|
|
|
|
httpx.WriteJSON(ctx, org)
|
|
}
|