mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-19 06:17:32 +00:00
30 lines
663 B
Go
30 lines
663 B
Go
|
package spooler
|
||
|
|
||
|
import (
|
||
|
"database/sql"
|
||
|
"time"
|
||
|
|
||
|
es_locker "github.com/caos/zitadel/internal/eventstore/locker"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
lockTable = "admin_api.locks"
|
||
|
lockedUntilKey = "locked_until"
|
||
|
lockerIDKey = "locker_id"
|
||
|
objectTypeKey = "object_type"
|
||
|
)
|
||
|
|
||
|
type locker struct {
|
||
|
dbClient *sql.DB
|
||
|
}
|
||
|
|
||
|
type lock struct {
|
||
|
LockerID string `gorm:"column:locker_id;primary_key"`
|
||
|
LockedUntil time.Time `gorm:"column:locked_until"`
|
||
|
ViewName string `gorm:"column:object_type;primary_key"`
|
||
|
}
|
||
|
|
||
|
func (l *locker) Renew(lockerID, viewModel string, waitTime time.Duration) error {
|
||
|
return es_locker.Renew(l.dbClient, lockTable, lockerID, viewModel, waitTime)
|
||
|
}
|