temporary stored object fixes

This commit is contained in:
Julien Fastré 2021-09-29 15:15:10 +02:00
parent 8c2d211661
commit 2c1d3d08c3
5 changed files with 12 additions and 9 deletions

View File

@ -138,7 +138,7 @@ class DocGeneratorTemplateController extends AbstractController
$em->flush(); $em->flush();
return $this->redirectToRoute('chill_wopi_file_edit', [ return $this->redirectToRoute('chill_wopi_file_edit', [
'fileId' => $genDocName, 'fileId' => $storedObject->getUuid(),
'returnPath' => $request->query->get('returnPath', "/") 'returnPath' => $request->query->get('returnPath', "/")
]); ]);
} }

View File

@ -10,6 +10,7 @@ use ChampsLibres\AsyncUploaderBundle\Validator\Constraints\AsyncFileExists;
use ChampsLibres\WopiLib\Contract\Entity\Document; use ChampsLibres\WopiLib\Contract\Entity\Document;
use DateTimeInterface; use DateTimeInterface;
use Ramsey\Uuid\Uuid; use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;
use Symfony\Component\Serializer\Annotation as Serializer; use Symfony\Component\Serializer\Annotation as Serializer;
/** /**
@ -51,8 +52,9 @@ class StoredObject implements AsyncFileInterface, Document
/** /**
* @ORM\Column(type="uuid", unique=true) * @ORM\Column(type="uuid", unique=true)
* @Serializer\Groups({"read"})
*/ */
private Uuid $uuid; private UuidInterface $uuid;
/** /**
* @ORM\Column(type="datetime", name="creation_date") * @ORM\Column(type="datetime", name="creation_date")
@ -163,7 +165,7 @@ class StoredObject implements AsyncFileInterface, Document
return $this; return $this;
} }
public function getUuid(): Uuid public function getUuid(): UuidInterface
{ {
return $this->uuid; return $this->uuid;
} }

View File

@ -16,15 +16,15 @@ final class Version20210928182542 extends AbstractMigration
public function up(Schema $schema): void public function up(Schema $schema): void
{ {
// this up() migration is auto-generated, please modify it to your needs $this->addSql('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
$this->addSql('ALTER TABLE chill_doc.stored_object ADD uuid UUID NOT NULL'); $this->addSql('ALTER TABLE chill_doc.stored_object ADD uuid UUID DEFAULT NULL');
$this->addSql('UPDATE chill_doc.stored_object SET uuid=uuid_generate_v4()');
$this->addSql('ALTER TABLE chill_doc.stored_object ALTER uuid SET NOT NULL');
$this->addSql('CREATE UNIQUE INDEX UNIQ_49604E36D17F50A6 ON chill_doc.stored_object (uuid)'); $this->addSql('CREATE UNIQUE INDEX UNIQ_49604E36D17F50A6 ON chill_doc.stored_object (uuid)');
} }
public function down(Schema $schema): void public function down(Schema $schema): void
{ {
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP INDEX UNIQ_49604E36D17F50A6');
$this->addSql('ALTER TABLE chill_doc.stored_object DROP uuid'); $this->addSql('ALTER TABLE chill_doc.stored_object DROP uuid');
} }
} }

View File

@ -109,7 +109,7 @@ export default {
this.toggleEditEvaluation(); this.toggleEditEvaluation();
}, },
buildEditLink(storedObject) { buildEditLink(storedObject) {
return `/fr/chill_wopi/edit/${storedObject.filename}?returnPath=` + encodeURIComponent( return `/fr/chill_wopi/edit/${storedObject.uuid}?returnPath=` + encodeURIComponent(
window.location.pathname + window.location.search + window.location.hash); window.location.pathname + window.location.search + window.location.hash);
}, },
} }

View File

@ -21,6 +21,7 @@ use Error;
use loophp\psr17\Psr17Interface; use loophp\psr17\Psr17Interface;
use Psr\Http\Message\RequestInterface; use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\StreamInterface; use Psr\Http\Message\StreamInterface;
use Ramsey\Uuid\Uuid;
use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Mime\MimeTypes; use Symfony\Component\Mime\MimeTypes;
@ -103,7 +104,7 @@ final class ChillDocumentManager implements DocumentManagerInterface
public function findByDocumentId(string $documentId): ?Document { public function findByDocumentId(string $documentId): ?Document {
return $this->storedObjectRepository->findOneBy( return $this->storedObjectRepository->findOneBy(
[ [
'uuid' => $documentId, 'uuid' => Uuid::fromString($documentId),
] ]
); );
} }