Saving token to DB
This commit is contained in:
@ -2,10 +2,12 @@ package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"myapp/internal/cards"
|
||||
"myapp/internal/models"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/stripe/stripe-go/v79"
|
||||
@ -266,16 +268,32 @@ func (app *application) CreateAuthToken(w http.ResponseWriter, r *http.Request)
|
||||
}
|
||||
|
||||
// generate the token
|
||||
token, err := models.GenerateToken(user.ID, 24*time.Hour, models.ScopeAuthentication)
|
||||
if err != nil {
|
||||
app.errorLog.Println(err)
|
||||
app.badRequest(w, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
// save to DB
|
||||
err = app.DB.InsertToken(token, user)
|
||||
if err != nil {
|
||||
app.errorLog.Println(err)
|
||||
app.badRequest(w, r, err)
|
||||
return
|
||||
}
|
||||
|
||||
// send response
|
||||
|
||||
var payload struct {
|
||||
Error bool `json:"error"`
|
||||
Message string `json:"message"`
|
||||
Error bool `json:"error"`
|
||||
Message string `json:"message"`
|
||||
Token *models.Token `json:"authentication_token"`
|
||||
}
|
||||
|
||||
payload.Error = false
|
||||
payload.Message = "Success!"
|
||||
payload.Message = fmt.Sprintf("token for %s created", userInput.Email)
|
||||
payload.Token = token
|
||||
|
||||
_ = app.writeJSON(w, http.StatusOK, payload)
|
||||
}
|
||||
|
Reference in New Issue
Block a user