<?php
/**
 * WooCommerce downloadable product module.
 *
 * @package ScheduledChanges
 */

namespace ScheduledChangesWooCommerce\CoreCompat\WooCommerce\Downloads;

/** Owns virtual/downloadable state, files, limits, and expiry. */
final class DownloadableProductModule {
	public const MODULE_ID = 'scheduled-changes-downloadable-products';
	/** @return string[] */
	public function fieldKeys(): array {
		return array( 'downloads.downloadable', 'downloads.virtual', 'downloads.files', 'downloads.limit', 'downloads.expiry' );
	}

	/** Creates the canonical download-file codec. */
	public function createCodec(): DownloadCodec {
		return new DownloadCodec();
	}
}
