package com.airlock.iam.common.domain.model.state;

import java.util.Optional;

public record UpdateAndUnlockResult(boolean ownedAllLocks, Optional<String> updatedValue) {
   public static UpdateAndUnlockResult notFound() {
      return new UpdateAndUnlockResult(false, Optional.empty());
   }

   public static UpdateAndUnlockResult updated(String value) {
      return new UpdateAndUnlockResult(true, Optional.of(value));
   }

   public static UpdateAndUnlockResult notAllLocksOwned() {
      return new UpdateAndUnlockResult(false, Optional.empty());
   }

   public boolean valueWasUpdated() {
      return this.updatedValue.isPresent();
   }
}
