2.6 KiB
2.6 KiB
dbCSSessionHandler Documentation
Overview
This document describes the database relationships and interactions for the dbCSSessionHandler class. The session handler manages user login sessions, tracking account activity, character associations, and session-based authentication.
Handler Class
File: src/engine/db/handlers/dbCSSessionHandler.java
Class: dbCSSessionHandler
Extends: dbHandlerBase
Database Tables
Main Session Table
- Table Name:
dyn_cs_session - Description: Stores information about active and inactive user sessions, including account associations and character details
- Columns:
- UID (Primary Key)
- accountID
- characterID
- sessionKey
- lastLoginDate
- lastLogoutDate
Related Tables
| Table Name | Description | Relationship |
|---|---|---|
obj_account |
Accounts associated with sessions | accountID → obj_account.UID |
obj_character |
Characters associated with sessions | characterID → obj_character.UID |
Key Queries
Create Session
INSERT INTO `dyn_cs_session` (`accountID`, `characterID`, `sessionKey`, `lastLoginDate`) VALUES(?,?,?,?)
File: dbCSSessionHandler.java, Line ~35
Load Session by Account
SELECT * FROM `dyn_cs_session` WHERE `accountID` = ?
File: dbCSSessionHandler.java, Line ~50
Load Session by Character
SELECT * FROM `dyn_cs_session` WHERE `characterID` = ?
File: dbCSSessionHandler.java, Line ~65
Update Session Last Login
UPDATE `dyn_cs_session` SET `lastLoginDate`=? WHERE `UID`=?
File: dbCSSessionHandler.java, Line ~80
Update Session Last Logout
UPDATE `dyn_cs_session` SET `lastLogoutDate`=? WHERE `UID`=?
File: dbCSSessionHandler.java, Line ~95
Relationships
- Session to Account: Many-to-one relationship via accountID field referencing obj_account.UID
- Session to Character: Many-to-one relationship via characterID field referencing obj_character.UID
- Session to Login History: One-to-many relationship via session UID (via dyn_login_history table)
Java Field to Database Column Mappings
| Java Field | Database Column | Notes |
|---|---|---|
accountID |
dyn_cs_session.accountID |
Account UID associated with this session |
characterID |
dyn_cs_session.characterID |
Character UID associated with this session |
sessionKey |
dyn_cs_session.sessionKey |
Session identifier for authentication |
lastLoginDate |
dyn_cs_session.lastLoginDate |
Timestamp of last login |
lastLogoutDate |
dyn_cs_session.lastLogoutDate |
Timestamp of last logout |