mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-15 04:18:01 +00:00
47 lines
1.2 KiB
Go
47 lines
1.2 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.EventUniqueConstraint {
|
||
|
return []*eventstore.EventUniqueConstraint{
|
||
|
eventstore.NewAddEventUniqueConstraint(
|
||
|
UniqueDeviceCode,
|
||
|
deviceCodeUniqueField(clientID, deviceCode),
|
||
|
DuplicateDeviceCode,
|
||
|
),
|
||
|
eventstore.NewAddEventUniqueConstraint(
|
||
|
UniqueUserCode,
|
||
|
userCode,
|
||
|
DuplicateUserCode,
|
||
|
),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func NewRemoveUniqueConstraints(clientID, deviceCode, userCode string) []*eventstore.EventUniqueConstraint {
|
||
|
return []*eventstore.EventUniqueConstraint{
|
||
|
eventstore.NewRemoveEventUniqueConstraint(
|
||
|
UniqueDeviceCode,
|
||
|
deviceCodeUniqueField(clientID, deviceCode),
|
||
|
),
|
||
|
eventstore.NewRemoveEventUniqueConstraint(
|
||
|
UniqueUserCode,
|
||
|
userCode,
|
||
|
),
|
||
|
}
|
||
|
}
|