content: package pl.allegro.tech.hermes.management.domain.credentials.commands;
  
  import pl.allegro.tech.hermes.domain.CredentialsRepository;
  import pl.allegro.tech.hermes.management.domain.dc.DatacenterBoundRepositoryHolder;
  import pl.allegro.tech.hermes.management.domain.dc.RepositoryCommand;
  
  public class UpdateCredentialsRepositoryCommand extends RepositoryCommand<CredentialsRepository> {
  
    private final CredentialsRepository repository;
    private final String password;
  
    public UpdateCredentialsRepositoryCommand(CredentialsRepository repository, String password) {
      this.repository = repository;
      this.password = password;
    }
  
    @Override
    public void backup(DatacenterBoundRepositoryHolder<CredentialsRepository> holder) {}
  
    @Override
    public void execute(DatacenterBoundRepositoryHolder<CredentialsRepository> holder) {
      repository.overwriteAdminPassword(password);
    }
  
    @Override
    public void rollback(
        DatacenterBoundRepositoryHolder<CredentialsRepository> holder, Exception exception) {}
  
    @Override
    public Class<CredentialsRepository> getRepositoryType() {
      return CredentialsRepository.class;
    }
  }
  