<?php
/**
 * Snapshot service bundle.
 *
 * @package ScheduledChanges
 */

namespace ScheduledChanges\Snapshot;

use ScheduledChanges\Repository\SnapshotRepository;

/**
 * Holds snapshot persistence and capture coordination.
 */
final class SnapshotServices {
	private SnapshotRepository $repository;
	private SnapshotCoordinator $coordinator;

	/**
	 * @param SnapshotRepository  $repository Snapshot repository.
	 * @param SnapshotCoordinator $coordinator Snapshot coordinator.
	 */
	public function __construct( SnapshotRepository $repository, SnapshotCoordinator $coordinator ) {
		$this->repository  = $repository;
		$this->coordinator = $coordinator;
	}

	/**
	 * Returns the snapshot repository.
	 */
	public function repository(): SnapshotRepository {
		return $this->repository;
	}

	/**
	 * Returns the snapshot coordinator.
	 */
	public function coordinator(): SnapshotCoordinator {
		return $this->coordinator;
	}
}
