2024-08-02 00:53:19 +01:00
|
|
|
package admin
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"time"
|
2024-08-31 02:56:06 +01:00
|
|
|
|
2025-01-20 15:08:01 +00:00
|
|
|
"arimelody-web/controller"
|
2024-09-03 08:07:45 +01:00
|
|
|
"arimelody-web/global"
|
2025-01-20 15:08:01 +00:00
|
|
|
"arimelody-web/model"
|
2024-08-02 00:53:19 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
type (
|
|
|
|
Session struct {
|
2024-08-02 22:48:26 +01:00
|
|
|
Token string
|
2025-01-20 15:08:01 +00:00
|
|
|
Account *model.Account
|
2024-08-02 22:48:26 +01:00
|
|
|
Expires time.Time
|
2024-08-02 00:53:19 +01:00
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
const TOKEN_LENGTH = 64
|
|
|
|
|
2024-08-05 16:49:49 +01:00
|
|
|
var ADMIN_BYPASS = func() bool {
|
2024-08-31 02:56:06 +01:00
|
|
|
if global.Args["adminBypass"] == "true" {
|
|
|
|
fmt.Println("WARN: Admin login is currently BYPASSED. (-adminBypass)")
|
2024-08-05 16:49:49 +01:00
|
|
|
return true
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}()
|
|
|
|
|
2024-08-02 00:53:19 +01:00
|
|
|
var sessions []*Session
|
|
|
|
|
2025-01-20 15:08:01 +00:00
|
|
|
func createSession(account *model.Account, expires time.Time) Session {
|
2024-08-02 00:53:19 +01:00
|
|
|
return Session{
|
2025-01-20 15:08:01 +00:00
|
|
|
Token: string(controller.GenerateAlnumString(TOKEN_LENGTH)),
|
|
|
|
Account: account,
|
2024-08-02 22:48:26 +01:00
|
|
|
Expires: expires,
|
2024-08-02 00:53:19 +01:00
|
|
|
}
|
|
|
|
}
|