Revert "login-validator: provide latest IP"
This reverts commit 42600cecbc694903c26846c611ceb376e991c715.
This commit is contained in:
parent
cb0098317f
commit
0fd38832bf
3 changed files with 13 additions and 19 deletions
|
@ -172,7 +172,7 @@ func (l loginChecker) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l loginChecker) registerUser(username, remoteAddr string) error {
|
func (l loginChecker) registerUser(username, remoteAddr string) error {
|
||||||
bts, err := json.Marshal(map[string]interface{}{"login": username, "lastip": remoteAddr})
|
bts, err := json.Marshal(map[string]interface{}{"login": username})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,6 @@ func DBCreate() (err error) {
|
||||||
CREATE TABLE IF NOT EXISTS students(
|
CREATE TABLE IF NOT EXISTS students(
|
||||||
id_student INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
id_student INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||||
login VARCHAR(255) NOT NULL UNIQUE,
|
login VARCHAR(255) NOT NULL UNIQUE,
|
||||||
lastip VARCHAR(255) NOT NULL,
|
|
||||||
time TIMESTAMP NOT NULL
|
time TIMESTAMP NOT NULL
|
||||||
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin;
|
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin;
|
||||||
`); err != nil {
|
`); err != nil {
|
||||||
|
|
|
@ -42,21 +42,20 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Student struct {
|
type Student struct {
|
||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Login string `json:"login"`
|
Login string `json:"login"`
|
||||||
LastIP string `json:"lastip"`
|
Time time.Time `json:"time"`
|
||||||
Time time.Time `json:"time"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStudents() (students []Student, err error) {
|
func getStudents() (students []Student, err error) {
|
||||||
if rows, errr := DBQuery("SELECT id_student, login, lastip, time FROM students"); errr != nil {
|
if rows, errr := DBQuery("SELECT id_student, login, time FROM students"); errr != nil {
|
||||||
return nil, errr
|
return nil, errr
|
||||||
} else {
|
} else {
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var s Student
|
var s Student
|
||||||
if err = rows.Scan(&s.Id, &s.Login, &s.LastIP, &s.Time); err != nil {
|
if err = rows.Scan(&s.Id, &s.Login, &s.Time); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
students = append(students, s)
|
students = append(students, s)
|
||||||
|
@ -70,12 +69,12 @@ func getStudents() (students []Student, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStudent(id int) (s Student, err error) {
|
func getStudent(id int) (s Student, err error) {
|
||||||
err = DBQueryRow("SELECT id_student, login, lastip, time FROM students WHERE id_student=?", id).Scan(&s.Id, &s.Login, &s.LastIP, &s.Time)
|
err = DBQueryRow("SELECT id_student, login, time FROM students WHERE id_student=?", id).Scan(&s.Id, &s.Login, &s.Time)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getStudentByLogin(login string) (s Student, err error) {
|
func getStudentByLogin(login string) (s Student, err error) {
|
||||||
err = DBQueryRow("SELECT id_student, login, lastip, time FROM students WHERE login=?", login).Scan(&s.Id, &s.Login, &s.LastIP, &s.Time)
|
err = DBQueryRow("SELECT id_student, login, time FROM students WHERE login=?", login).Scan(&s.Id, &s.Login, &s.Time)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,13 +84,13 @@ func studentExists(login string) bool {
|
||||||
return err != nil && z == 1
|
return err != nil && z == 1
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewStudent(login string, lastip string) (Student, error) {
|
func NewStudent(login string) (Student, error) {
|
||||||
if res, err := DBExec("INSERT INTO students (login, lastip, time) VALUES (?, ?, ?)", login, lastip, time.Now()); err != nil {
|
if res, err := DBExec("INSERT INTO students (login, time) VALUES (?, ?)", login, time.Now()); err != nil {
|
||||||
return Student{}, err
|
return Student{}, err
|
||||||
} else if sid, err := res.LastInsertId(); err != nil {
|
} else if sid, err := res.LastInsertId(); err != nil {
|
||||||
return Student{}, err
|
return Student{}, err
|
||||||
} else {
|
} else {
|
||||||
return Student{sid, login, lastip, time.Now()}, nil
|
return Student{sid, login, time.Now()}, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +99,7 @@ func (s Student) GetPKey() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Student) Update() (int64, error) {
|
func (s Student) Update() (int64, error) {
|
||||||
if res, err := DBExec("UPDATE students SET login = ?, lastip = ?, time = ? WHERE id_student = ?", s.Login, s.LastIP, s.Time, s.Id); err != nil {
|
if res, err := DBExec("UPDATE students SET login = ?, time = ? WHERE id_student = ?", s.Login, s.Time, s.Id); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
} else if nb, err := res.RowsAffected(); err != nil {
|
} else if nb, err := res.RowsAffected(); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
|
@ -136,11 +135,7 @@ func createStudent(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if exist, err := getStudentByLogin(strings.TrimSpace(std.Login)); err != nil {
|
if exist, err := getStudentByLogin(strings.TrimSpace(std.Login)); err != nil {
|
||||||
return NewStudent(strings.TrimSpace(std.Login), strings.TrimSpace(std.LastIP))
|
return NewStudent(strings.TrimSpace(std.Login))
|
||||||
} else if exist.LastIP != std.LastIP {
|
|
||||||
exist.LastIP = std.LastIP
|
|
||||||
exist.Update()
|
|
||||||
return exist, nil
|
|
||||||
} else {
|
} else {
|
||||||
return exist, nil
|
return exist, nil
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue