Refactor
This commit is contained in:
parent
7269bbbaca
commit
b5d2cc0465
3
main.go
3
main.go
@ -26,7 +26,6 @@ import (
|
||||
"github.com/animenotifier/notify.moe/pages/user"
|
||||
"github.com/animenotifier/notify.moe/pages/users"
|
||||
"github.com/animenotifier/notify.moe/pages/webdev"
|
||||
"github.com/animenotifier/notify.moe/utils"
|
||||
)
|
||||
|
||||
var app = aero.New()
|
||||
@ -84,7 +83,7 @@ func configure(app *aero.Application) *aero.Application {
|
||||
api.Install(app)
|
||||
|
||||
// Domain
|
||||
if utils.IsDevelopment() {
|
||||
if arn.IsDevelopment() {
|
||||
app.Config.Domain = "beta.notify.moe"
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,14 @@ func UserInfo() aero.Middleware {
|
||||
next()
|
||||
|
||||
// Ignore non-HTML requests
|
||||
if strings.Index(ctx.GetRequestHeader("Accept"), "text/html") == -1 {
|
||||
if ctx.IsMediaResponse() {
|
||||
return
|
||||
}
|
||||
|
||||
// Ignore API requests
|
||||
// Note that API requests can filter data (privacy) and we might accidentally save the filtered data.
|
||||
// That's why it's very important to ignore all API requests and not call user.Save() in this context.
|
||||
if strings.HasPrefix(ctx.URI(), "/api/") {
|
||||
return
|
||||
}
|
||||
|
||||
@ -43,6 +50,11 @@ func UserInfo() aero.Middleware {
|
||||
return
|
||||
}
|
||||
|
||||
// Let's be 100% sure we really do not accidentally save filtered data.
|
||||
if user.Email == "" && user.IP == "" && user.FirstName == "" {
|
||||
return
|
||||
}
|
||||
|
||||
// This works asynchronously so it doesn't block the response
|
||||
go updateUserInfo(ctx, user)
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// IsProduction returns true if the hostname contains "arn".
|
||||
func IsProduction() bool {
|
||||
host, _ := os.Hostname()
|
||||
return strings.Contains(host, "arn")
|
||||
}
|
||||
|
||||
// IsDevelopment returns true if the hostname does not contain "arn".
|
||||
func IsDevelopment() bool {
|
||||
return !IsProduction()
|
||||
}
|
@ -5,23 +5,7 @@ import (
|
||||
"github.com/animenotifier/arn"
|
||||
)
|
||||
|
||||
// GetUser ...
|
||||
// GetUser returns the logged in user for the given context.
|
||||
func GetUser(ctx *aero.Context) *arn.User {
|
||||
if !ctx.HasSession() {
|
||||
return nil
|
||||
}
|
||||
|
||||
userID := ctx.Session().GetString("userId")
|
||||
|
||||
if userID == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
user, err := arn.GetUser(userID)
|
||||
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return user
|
||||
return arn.GetUserFromContext(ctx)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user