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