Files
sonr/app/gateway/internal/session/session.go
T

169 lines
4.4 KiB
Go
Raw Normal View History

package session
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/app/gateway/internal/database"
)
2024-12-06 21:31:20 -05:00
// ╭───────────────────────────────────────────────────────╮
// │ DB Setter Functions │
// ╰───────────────────────────────────────────────────────╯
2024-12-06 21:31:20 -05:00
// SetUserHandle sets the user handle in the session
func SetUserHandle(c echo.Context, handle string) error {
sess, err := Get(c)
if err != nil {
return err
}
sess.Session().UserHandle = handle
return sess.db.Save(sess.Session()).Error
2024-12-05 20:36:58 -05:00
}
2024-12-06 21:31:20 -05:00
// SetFirstName sets the first name in the session
func SetFirstName(c echo.Context, name string) error {
sess, err := Get(c)
if err != nil {
return err
}
2024-12-06 21:31:20 -05:00
sess.Session().FirstName = name
return sess.db.Save(sess.Session()).Error
}
2024-12-06 21:31:20 -05:00
// SetLastInitial sets the last initial in the session
func SetLastInitial(c echo.Context, initial string) error {
sess, err := Get(c)
if err != nil {
return err
}
2024-12-06 21:31:20 -05:00
sess.Session().LastInitial = initial
return sess.db.Save(sess.Session()).Error
}
2024-12-06 21:31:20 -05:00
// SetVaultAddress sets the vault address in the session
func SetVaultAddress(c echo.Context, address string) error {
sess, err := Get(c)
if err != nil {
return err
}
sess.Session().VaultAddress = address
return sess.db.Save(sess.Session()).Error
2024-12-05 20:36:58 -05:00
}
2024-12-06 21:31:20 -05:00
// ╭───────────────────────────────────────────────────────╮
// │ DB Getter Functions │
// ╰───────────────────────────────────────────────────────╯
2024-12-05 20:36:58 -05:00
2024-12-06 21:31:20 -05:00
// GetID returns the session ID
func GetID(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
return sess.Session().ID, nil
2024-12-05 20:36:58 -05:00
}
2024-12-06 21:31:20 -05:00
// GetBrowserName returns the browser name
func GetBrowserName(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().BrowserName, nil
}
2024-12-06 21:31:20 -05:00
// GetBrowserVersion returns the browser version
func GetBrowserVersion(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().BrowserVersion, nil
}
2024-12-06 21:31:20 -05:00
// GetUserArchitecture returns the user architecture
func GetUserArchitecture(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
return sess.Session().UserArchitecture, nil
}
2024-12-06 21:31:20 -05:00
// GetPlatform returns the platform
func GetPlatform(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().Platform, nil
}
2024-12-06 21:31:20 -05:00
// GetPlatformVersion returns the platform version
func GetPlatformVersion(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
return sess.Session().PlatformVersion, nil
}
2024-12-06 21:31:20 -05:00
// GetDeviceModel returns the device model
func GetDeviceModel(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().DeviceModel, nil
}
2024-12-06 21:31:20 -05:00
// GetUserHandle returns the user handle
func GetUserHandle(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
return sess.Session().UserHandle, nil
}
2024-12-06 21:31:20 -05:00
// GetFirstName returns the first name
func GetFirstName(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
return sess.Session().FirstName, nil
}
2024-12-06 21:31:20 -05:00
// GetLastInitial returns the last initial
func GetLastInitial(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().LastInitial, nil
}
2024-12-06 21:31:20 -05:00
// GetVaultAddress returns the vault address
func GetVaultAddress(c echo.Context) (string, error) {
sess, err := Get(c)
if err != nil {
return "", err
}
2024-12-06 21:31:20 -05:00
return sess.Session().VaultAddress, nil
}
2024-12-06 21:31:20 -05:00
// HandleExists checks if a handle already exists in any session
func HandleExists(c echo.Context, handle string) (bool, error) {
sess, err := Get(c)
if err != nil {
return false, err
}
var count int64
if err := sess.db.Model(&database.Session{}).Where("user_handle = ?", handle).Count(&count).Error; err != nil {
return false, err
}
return count > 0, nil
}