mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-16 21:08:00 +00:00
b5564572bc
This implementation increases parallel write capabilities of the eventstore. Please have a look at the technical advisories: [05](https://zitadel.com/docs/support/advisory/a10005) and [06](https://zitadel.com/docs/support/advisory/a10006). The implementation of eventstore.push is rewritten and stored events are migrated to a new table `eventstore.events2`. If you are using cockroach: make sure that the database user of ZITADEL has `VIEWACTIVITY` grant. This is used to query events.
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package deviceauth
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/zitadel/zitadel/internal/eventstore"
|
|
)
|
|
|
|
const (
|
|
UniqueUserCode = "user_code"
|
|
UniqueDeviceCode = "device_code"
|
|
DuplicateUserCode = "Errors.DeviceUserCode.AlreadyExists"
|
|
DuplicateDeviceCode = "Errors.DeviceCode.AlreadyExists"
|
|
)
|
|
|
|
func deviceCodeUniqueField(clientID, deviceCode string) string {
|
|
return strings.Join([]string{clientID, deviceCode}, ":")
|
|
}
|
|
|
|
func NewAddUniqueConstraints(clientID, deviceCode, userCode string) []*eventstore.UniqueConstraint {
|
|
return []*eventstore.UniqueConstraint{
|
|
eventstore.NewAddEventUniqueConstraint(
|
|
UniqueDeviceCode,
|
|
deviceCodeUniqueField(clientID, deviceCode),
|
|
DuplicateDeviceCode,
|
|
),
|
|
eventstore.NewAddEventUniqueConstraint(
|
|
UniqueUserCode,
|
|
userCode,
|
|
DuplicateUserCode,
|
|
),
|
|
}
|
|
}
|
|
|
|
func NewRemoveUniqueConstraints(clientID, deviceCode, userCode string) []*eventstore.UniqueConstraint {
|
|
return []*eventstore.UniqueConstraint{
|
|
eventstore.NewRemoveUniqueConstraint(
|
|
UniqueDeviceCode,
|
|
deviceCodeUniqueField(clientID, deviceCode),
|
|
),
|
|
eventstore.NewRemoveUniqueConstraint(
|
|
UniqueUserCode,
|
|
userCode,
|
|
),
|
|
}
|
|
}
|