admin: Import from cyberrange handles UUID

This commit is contained in:
nemunaire 2025-03-30 15:44:48 +02:00
parent f6713c768b
commit 21752d1ca2
2 changed files with 10 additions and 2 deletions

View File

@ -339,7 +339,7 @@ func importTeamsFromCyberrange(c *gin.Context) {
}
defer src.Close()
var ut []fic.CyberrangeTeam
var ut []fic.CyberrangeTeamBase
err = json.NewDecoder(src).Decode(&fic.CyberrangeAPIResponse{Data: &ut})
if err != nil {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"errmsg": err.Error()})
@ -355,7 +355,7 @@ func importTeamsFromCyberrange(c *gin.Context) {
for _, crteam := range ut {
var exist_team *fic.Team
for _, team := range teams {
if team.Name == crteam.Name && team.ExternalId == crteam.UUID {
if team.Name == crteam.Name || team.ExternalId == crteam.UUID {
exist_team = team
break
}

View File

@ -10,6 +10,14 @@ type CyberrangeAPIResponse struct {
Total int `json:"total"`
}
type CyberrangeTeamBase struct {
UUID string `json:"uuid"`
Members []CyberrangeTeamMember `json:"members"`
Name string `json:"name"`
Score int64 `json:"score"`
Rank int `json:"rank"`
}
type CyberrangeTeam struct {
UUID string `json:"session_uuid"`
Members []CyberrangeTeamMember `json:"members"`