mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-09 23:55:12 +00:00
feat(relational): implement session repository (#11109)
# Which Problems Are Solved As part of going to a relation storage model, we need to implement the repository for handling sessions and their events. # How the Problems Are Solved - Adds a migration step to create the necessary tables and types in the database. - Adds the repository implementation for sessions. - Implements a projection handler for session events to handle the events written by the old command handlers. - Updates the `Session` type and `SessionRepository` interface: - added `CreatorID` - Adjusted `Delete` method to return amount of affected columns - Removed sub-repository clumns from the main interface - Added `CreatorIDCondition`, `ExpirationCondition`, `ExistsFactor` and `ExistsMetadata` - Removed `SetUserAgent` - Methods of `SessionFactor` and `SessionChallenge` have been made public - fixed enumer on `SessionFactorType` - Adds a `JSON` type to the repository package to easy can JSON columns, resp. jsonb object inside a property of a `JSONArray` object. - Adds a `NoChange` interface, which can be implemented to signal that a `Change` interface implementation is not writing any changes to the statement builder, e.g. `CTEChange` # Additional Changes - Fixes the operators enums. `TextOperations` had wrong comments and `NumberOperations` additionally also had from comparisons. - Fixes downgrade of migration step 008. # Additional Context - closes https://github.com/zitadel/zitadel/issues/10212
This commit is contained in:
@@ -60,9 +60,9 @@ const (
|
||||
|
||||
// TextOperationContainsIgnoreCase checks if the first string contains the second ignoring case
|
||||
TextOperationContainsIgnoreCase // LIKE
|
||||
// TextOperationEndsWith checks if the first string ends with the second ignoring case
|
||||
// TextOperationEndsWithIgnoreCase checks if the first string ends with the second ignoring case
|
||||
TextOperationEndsWithIgnoreCase // LIKE
|
||||
// TextOperationStartsWith checks if the first string starts with the second ignoring case
|
||||
// TextOperationStartsWithIgnoreCase checks if the first string starts with the second ignoring case
|
||||
TextOperationStartsWithIgnoreCase // LIKE
|
||||
// TextOperationEqualIgnoreCase compares two strings for equality ignoring case
|
||||
TextOperationEqualIgnoreCase // =
|
||||
@@ -133,11 +133,11 @@ const (
|
||||
// NumberOperationLessThan compares two numbers to check if the first is less than the second.
|
||||
NumberOperationLessThan // <
|
||||
// NumberOperationLessThanOrEqual compares two numbers to check if the first is less than or equal to the second.
|
||||
NumberOperationAtLeast // <=
|
||||
NumberOperationLessThanOrEqual // <=
|
||||
// NumberOperationGreaterThan compares two numbers to check if the first is greater than the second.
|
||||
NumberOperationGreaterThan // >
|
||||
// NumberOperationGreaterThanOrEqual compares two numbers to check if the first is greater than or equal to the second.
|
||||
NumberOperationAtMost // >=
|
||||
NumberOperationGreaterThanOrEqual // >=
|
||||
)
|
||||
|
||||
func writeNumberOperation[T Number](builder *StatementBuilder, col Column, op NumberOperation, value any) {
|
||||
|
||||
Reference in New Issue
Block a user