package locker import ( "context" "github.com/FAU-CDI/wisski-distillery/internal/status" "github.com/FAU-CDI/wisski-distillery/internal/wisski/ingredient" ) // Locked checks if this WissKI is currently locked. // If an error occurs, the instance is considered not locked. func (lock *Locker) Locked(ctx context.Context) (locked bool) { liquid := ingredient.GetLiquid(lock) table, err := liquid.SQL.QueryTable(ctx, liquid.LockTable) if err != nil { return false } // check if this instance is locked table.Select("count(*) > 0").Where("slug = ?", liquid.Slug).Find(&locked) return } func (locker *Locker) Fetch(flags ingredient.FetcherFlags, info *status.WissKI) (err error) { info.Locked = locker.Locked(flags.Context) return }