mirror of
https://github.com/hanzoui/registry-backend.git
synced 2026-10-30 20:30:45 +00:00
54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package mapper
|
|
|
|
import (
|
|
"registry-backend/ent"
|
|
"registry-backend/entity"
|
|
)
|
|
|
|
func AlgoliaNodeFromEntNode(node *ent.Node) entity.AlgoliaNode {
|
|
n := entity.AlgoliaNode{
|
|
ObjectID: node.ID,
|
|
ID: node.ID,
|
|
CreateTime: node.CreateTime,
|
|
UpdateTime: node.UpdateTime,
|
|
PublisherID: node.PublisherID,
|
|
Name: node.Name,
|
|
Description: node.Description,
|
|
Category: node.Category,
|
|
Author: node.Author,
|
|
License: node.License,
|
|
RepositoryURL: node.RepositoryURL,
|
|
IconURL: node.IconURL,
|
|
Tags: node.Tags,
|
|
TotalInstall: node.TotalInstall,
|
|
TotalStar: node.TotalStar,
|
|
TotalReview: node.TotalReview,
|
|
Status: node.Status,
|
|
StatusDetail: node.StatusDetail,
|
|
|
|
LatestVersion: "",
|
|
LatestVersionStatus: "",
|
|
}
|
|
|
|
if node.Edges.Versions == nil {
|
|
return n
|
|
}
|
|
|
|
var lv *ent.NodeVersion
|
|
for _, v := range node.Edges.Versions {
|
|
if lv == nil {
|
|
lv = v
|
|
} else if v.CreateTime.After(lv.CreateTime) {
|
|
lv = v
|
|
}
|
|
}
|
|
n.LatestVersion = lv.Version
|
|
n.LatestVersionStatus = lv.Status
|
|
n.ComfyNodeNames = make([]string, 0, len(lv.Edges.ComfyNodes))
|
|
for _, v := range lv.Edges.ComfyNodes {
|
|
n.ComfyNodeNames = append(n.ComfyNodeNames, v.Name)
|
|
}
|
|
|
|
return n
|
|
}
|