mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-16 21:08:00 +00:00
5819924275
* device auth: implement the write events * add grant type device code * fix(init): check if default value implements stringer --------- Co-authored-by: adlerhurst <silvan.reusser@gmail.com>
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,
|
|
),
|
|
}
|
|
}
|