diff --git a/token-validator/grades.go b/token-validator/grades.go index 5c2fa78..ef3c9c5 100644 --- a/token-validator/grades.go +++ b/token-validator/grades.go @@ -20,31 +20,43 @@ func computeGrades(_ httprouter.Params, _ []byte) (interface{}, error) { res[std.Login] = map[string]float32{ "TP1": 0, "TP2": 0, + "TP3": 0, } if states, err := std.GetStatesByChallenge(); err != nil { return nil, err } else { for _, st := range states { - if st.Challenge >= 100 { + if st.Challenge >= 200 { + switch st.Challenge { + case 200: + res[std.Login]["TP3"] += 5 + case 201: + res[std.Login]["TP3"] += 5 + case 202: + res[std.Login]["TP3"] += 6 + case 203: + res[std.Login]["TP3"] += 4 + } + } else if st.Challenge >= 100 { switch st.Challenge { case 100: - res[std.Login]["TP2"] += 5 + res[std.Login]["TP2"] += 4 case 101: - res[std.Login]["TP2"] += 5 + res[std.Login]["TP2"] += 6 case 102: - res[std.Login]["TP2"] += 5 + res[std.Login]["TP2"] += 6 case 103: - res[std.Login]["TP2"] += 5 + res[std.Login]["TP2"] += 4 } } else { switch st.Challenge { case 1: - res[std.Login]["TP1"] += 4 + res[std.Login]["TP1"] += 3 case 2: - res[std.Login]["TP1"] += 4 + res[std.Login]["TP1"] += 3 case 3: - res[std.Login]["TP1"] += 5 + res[std.Login]["TP1"] += 4 case 4: res[std.Login]["TP1"] += 2 case 5: @@ -53,6 +65,12 @@ func computeGrades(_ httprouter.Params, _ []byte) (interface{}, error) { res[std.Login]["TP1"] += 1 case 7: res[std.Login]["TP1"] += 2 + case 8: + res[std.Login]["TP1"] += 1 + case 9: + res[std.Login]["TP1"] += 1 + case 10: + res[std.Login]["TP1"] += 1 } } }