mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 18:17:35 +00:00
fix(sessions): add an expiration date filter to list sessions api (#10384)
# Which Problems Are Solved The deletion of expired sessions does not go through even though a success response is returned to the user. These expired and supposedly deleted (to the user) sessions are then returned when the `ListSessions` API is called. This PR fixes this issue by: 1. Allowing deletion of expired sessions 2. Providing an `expiration_date` filter in `ListSession` API to filter sessions by expiration date # How the Problems Are Solved 1. Remove expired session check during deletion 2. Add an `expiration_date` filter to the `ListSession` API # Additional Changes N/A # Additional Context - Closes #10045 --------- Co-authored-by: Marco A. <marco@zitadel.com>
This commit is contained in:
@@ -675,6 +675,9 @@ type TimestampQuery struct {
|
||||
}
|
||||
|
||||
func NewTimestampQuery(c Column, value time.Time, compare TimestampComparison) (*TimestampQuery, error) {
|
||||
if c.isZero() {
|
||||
return nil, ErrMissingColumn
|
||||
}
|
||||
return &TimestampQuery{
|
||||
Column: c,
|
||||
Compare: compare,
|
||||
|
@@ -362,6 +362,10 @@ func NewCreationDateQuery(datetime time.Time, compare TimestampComparison) (Sear
|
||||
return NewTimestampQuery(SessionColumnCreationDate, datetime, compare)
|
||||
}
|
||||
|
||||
func NewExpirationDateQuery(datetime time.Time, compare TimestampComparison) (SearchQuery, error) {
|
||||
return NewTimestampQuery(SessionColumnExpiration, datetime, compare)
|
||||
}
|
||||
|
||||
func prepareSessionQuery() (sq.SelectBuilder, func(*sql.Row) (*Session, string, error)) {
|
||||
return sq.Select(
|
||||
SessionColumnID.identifier(),
|
||||
|
Reference in New Issue
Block a user