Session Table
Overview
Login/session records for end users and admins (token material, identity, audit).
Table Definition
| Logical Name | Physical Name | Column Name | Data Type | Primary Key | Relation | Unique | Nullable | Default Value | Remarks |
|---|---|---|---|---|---|---|---|---|---|
| Session | session | id | string | โฏ | varchar(255) | ||||
| jti | string | โฏ | |||||||
| token_hash | string | โฏ | varchar(64), NOT NULL | ||||||
| user_type | enum | session_user_type ('user', 'admin') |
|||||||
| cognito_sub | string | ||||||||
| user_id | number | user:id | โฏ | ||||||
| admin_id | number | admin:id | โฏ | ||||||
| login_at | datetime | ||||||||
| logout_at | datetime | โฏ | |||||||
| ip_address | string | โฏ | |||||||
| user_agent | string | โฏ | |||||||
| expires_at | datetime | โฏ | |||||||
| revoked_at | datetime | โฏ | |||||||
| created_at | datetime | ||||||||
| updated_at | datetime | ||||||||
| deleted_at | datetime | โฏ | |||||||
| created_by | string | ||||||||
| updated_by | string | ||||||||
| deleted_by | string | โฏ |
Relations
user_idโuser.id(nullable)admin_idโadmin.id(nullable)created_by/updated_by/deleted_bystorecognito_subwhere applicable (standard audit)
Indexes
- PRIMARY KEY (id)
- UNIQUE INDEX
session_token_hash_unique(token_hash) - INDEX
session_user_id_idx(user_id) - INDEX
session_admin_id_idx(admin_id) - INDEX
session_cognito_sub_user_type_idx(cognito_sub, user_type) - INDEX
session_user_type_logout_at_idx(user_type, logout_at) - INDEX
session_user_id_login_at_idx(user_id, login_at) - INDEX
session_admin_id_login_at_idx(admin_id, login_at) - INDEX
session_expires_at_idx(expires_at) - INDEX
session_jti_idx(jti) - INDEX
session_revoked_at_logout_at_idx(revoked_at, logout_at) - INDEX
session_deleted_at_idx(deleted_at)
Notes
- Typically exactly one of
user_idoradmin_idis set, matchinguser_type