package permission import ( domusecase "haixun-backend/internal/model/permission/domain/usecase" "haixun-backend/internal/types" ) func toPermissionNode(node domusecase.PermissionNode) types.PermissionNode { out := types.PermissionNode{ ID: node.ID, Parent: node.Parent, Name: node.Name, HTTPMethods: node.HTTPMethods, HTTPPath: node.HTTPPath, Status: node.Status, Type: node.Type, } if len(node.Children) > 0 { out.Children = make([]types.PermissionNode, 0, len(node.Children)) for _, child := range node.Children { out.Children = append(out.Children, toPermissionNode(child)) } } return out } func toPermissionNodes(nodes []domusecase.PermissionNode) []types.PermissionNode { out := make([]types.PermissionNode, 0, len(nodes)) for _, node := range nodes { out = append(out, toPermissionNode(node)) } return out }