backend: use TEAMS dir to resolve symlinks instead of relying on duplicates symlink in submissions
This commit is contained in:
parent
2582b9e208
commit
bcbf5b35cf
2 changed files with 8 additions and 20 deletions
|
@ -153,25 +153,21 @@ func treat(raw_path string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var team fic.Team
|
var teamid int64
|
||||||
|
var err error
|
||||||
|
|
||||||
if strings.HasPrefix(spath[1], "_AUTH_ID_") {
|
if teamid, err = strconv.ParseInt(spath[1], 10, 64); err != nil {
|
||||||
if serial, err := strconv.ParseInt(strings.TrimPrefix(spath[1], "_AUTH_ID_"), 16, 64); err != nil {
|
if lnk, err := os.Readlink(path.Join(TeamsDir, spath[1])); err != nil {
|
||||||
log.Println("[ERR]", err)
|
|
||||||
return
|
|
||||||
} else if team, err = fic.GetTeamBySerial(serial); err != nil {
|
|
||||||
log.Println("[ERR]", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
} else if teamid, err := strconv.ParseInt(spath[1], 10, 64); err != nil {
|
|
||||||
if lnk, err := os.Readlink(path.Join(TeamsDir, spath[1])); err == nil {
|
|
||||||
log.Println("[ERR]", err)
|
log.Println("[ERR]", err)
|
||||||
return
|
return
|
||||||
} else if teamid, err = strconv.ParseInt(lnk, 10, 64); err != nil {
|
} else if teamid, err = strconv.ParseInt(lnk, 10, 64); err != nil {
|
||||||
log.Println("[ERR]", err)
|
log.Println("[ERR]", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else if team, err = fic.GetTeam(teamid); err != nil {
|
}
|
||||||
|
|
||||||
|
var team fic.Team
|
||||||
|
if team, err = fic.GetTeam(teamid); err != nil {
|
||||||
log.Println("[ERR]", err)
|
log.Println("[ERR]", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,14 +53,6 @@ func treatRegistration(pathname string, team_id string) {
|
||||||
log.Println("[ERR]", err)
|
log.Println("[ERR]", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create team directories into submissions
|
|
||||||
if err := os.MkdirAll(path.Join(SubmissionDir, teamDirPath), 0777); err != nil {
|
|
||||||
log.Println("[ERR]", err)
|
|
||||||
}
|
|
||||||
if err := os.Symlink(teamDirPath, path.Join(SubmissionDir, team_id)); err != nil {
|
|
||||||
log.Println("[ERR]", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
if err := genTeamMyFile(team); err != nil {
|
if err := genTeamMyFile(team); err != nil {
|
||||||
log.Println("Team generation error: ", err)
|
log.Println("Team generation error: ", err)
|
||||||
|
|
Reference in a new issue