(form LoginForm)
| 145 | } |
| 146 | |
| 147 | func (u *Users) login(form LoginForm) (*database.Session, error) { |
| 148 | if form.Email == "" { |
| 149 | return nil, app.ErrEmailRequired |
| 150 | } |
| 151 | if form.Password == "" { |
| 152 | return nil, app.ErrPasswordRequired |
| 153 | } |
| 154 | |
| 155 | user, err := u.app.Authenticate(form.Email, form.Password) |
| 156 | if err != nil { |
| 157 | // If the user is not found, treat it as invalid login |
| 158 | if err == app.ErrNotFound { |
| 159 | return nil, app.ErrLoginInvalid |
| 160 | } |
| 161 | |
| 162 | return nil, err |
| 163 | } |
| 164 | |
| 165 | s, err := u.app.SignIn(user) |
| 166 | if err != nil { |
| 167 | return nil, err |
| 168 | } |
| 169 | |
| 170 | return s, nil |
| 171 | } |
| 172 | |
| 173 | func getPathOrReferrer(path string, r *http.Request) string { |
| 174 | q := r.URL.Query() |
no test coverage detected