backend: treat file found in directory discovered + handle multiple keys + generate my.json
This commit is contained in:
parent
a01f463ee9
commit
70b6b30067
3 changed files with 63 additions and 26 deletions
|
|
@ -150,7 +150,7 @@ func (e Exercice) SolvedCount() int64 {
|
|||
}
|
||||
}
|
||||
|
||||
func (e Exercice) CheckResponse(response string, t Team) (bool, error) {
|
||||
func (e Exercice) CheckResponse(resps map[string]string, t Team) (bool, error) {
|
||||
s, _, _ := t.HasSolved(e)
|
||||
if s {
|
||||
return true, nil
|
||||
|
|
@ -165,12 +165,18 @@ func (e Exercice) CheckResponse(response string, t Team) (bool, error) {
|
|||
return true, errors.New("Exercice with no key registered")
|
||||
}
|
||||
|
||||
for _, k := range keys {
|
||||
if !k.Check(response) {
|
||||
return false, nil
|
||||
valid := true
|
||||
for _, key := range keys {
|
||||
if _, ok := resps[key.Type]; !ok {
|
||||
valid = false
|
||||
break
|
||||
}
|
||||
if !key.Check(resps[key.Type]) {
|
||||
valid = false
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return true, nil
|
||||
return valid, nil
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue