--- /dev/null
+<?php
+
+namespace Application\Migrations;
+
+use Doctrine\DBAL\Migrations\AbstractMigration;
+use Doctrine\DBAL\Schema\Schema;
+use Symfony\Component\DependencyInjection\ContainerAwareInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Added `headers` field in entry table.
+ */
+class Version20170511115400 extends AbstractMigration implements ContainerAwareInterface
+{
+ /**
+ * @var ContainerInterface
+ */
+ private $container;
+
+ public function setContainer(ContainerInterface $container = null)
+ {
+ $this->container = $container;
+ }
+
+ private function getTable($tableName)
+ {
+ return $this->container->getParameter('database_table_prefix').$tableName;
+ }
+
+ /**
+ * @param Schema $schema
+ */
+ public function up(Schema $schema)
+ {
+ $entryTable = $schema->getTable($this->getTable('entry'));
+
+ $this->skipIf($entryTable->hasColumn('headers'), 'It seems that you already played this migration.');
+
+ $entryTable->addColumn('headers', 'text', [
+ 'notnull' => false,
+ ]);
+ }
+
+ /**
+ * @param Schema $schema
+ */
+ public function down(Schema $schema)
+ {
+ $entryTable = $schema->getTable($this->getTable('entry'));
+
+ $this->skipIf(!$entryTable->hasColumn('headers'), 'It seems that you already played this migration.');
+
+ $entryTable->dropColumn('headers');
+ }
+}
*/
private $httpStatus;
+ /**
+ * @var array
+ *
+ * @ORM\Column(name="headers", type="json_array", nullable=true)
+ *
+ * @Groups({"entries_for_user", "export_all"})
+ */
+ private $headers;
+
/**
* @Exclude
*
}
/**
- * @return string
+ * @return array
*/
public function getPublishedBy()
{
return $this;
}
+
+ /**
+ * @return array
+ */
+ public function getHeaders()
+ {
+ return $this->headers;
+ }
+
+ /**
+ * @param string $headers
+ *
+ * @return Entry
+ */
+ public function setHeaders($headers)
+ {
+ $this->headers = $headers;
+
+ return $this;
+ }
}
$entry->setPublishedBy($content['authors']);
}
+ if (!empty($content['all_headers'])) {
+ $entry->setHeaders($content['all_headers']);
+ }
+
$entry->setLanguage(isset($content['language']) ? $content['language'] : '');
$entry->setMimetype(isset($content['content_type']) ? $content['content_type'] : '');
$entry->setReadingTime(Utils::getReadingTime($html));
$this->assertContains('Google', $content->getTitle());
$this->assertEquals('2015-03-28 15:37:39', $content->getPublishedAt()->format('Y-m-d H:i:s'));
$this->assertEquals('Morgane Tual', $author[0]);
+ $this->assertArrayHasKey('x-varnish1', $content->getHeaders());
}
public function testPostWithMultipleAuthors()