* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\SqlManager\QueryHandler; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\DatabaseTableFields; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\Query\GetDatabaseTableFieldsList; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\QueryHandler\GetDatabaseTableFieldsListHandlerInterface; use PrestaShop\PrestaShop\Core\Domain\SqlManagement\ValueObject\DatabaseTableField; use RequestSql; /** * Class GetDatabaseTableFieldsListHandler. * * @internal */ final class GetDatabaseTableFieldsListHandler implements GetDatabaseTableFieldsListHandlerInterface { /** * {@inheritdoc} */ public function handle(GetDatabaseTableFieldsList $query) { $attributes = (new RequestSql())->getAttributesByTable($query->getTableName()); $fields = []; foreach ($attributes as $attribute) { $fields[] = new DatabaseTableField( $attribute['Field'], $attribute['Type'] ); } return new DatabaseTableFields($fields); } }