/** * @param Photo $photo * @param ThumbRequest $thumbRequest * @return PhotoThumb */ private function createThumbFromOriginal(Photo $photo, ThumbRequest $thumbRequest) { $thumb = $this->thumbGenerator->generate($this->thumbRepository->ensureUniqueThumbId(), $photo, $thumbRequest->thumbSize(), $this->photoStorage->getPhotoThumbHttpUrlBy(new PhotoId($photo->id()), new ResourceId($photo->resourceId()), new PhotoName($photo->name()), $thumbRequest->thumbSize(), $this->thumbGenerator->conversionFormat())); $photoFile = $this->photoStorage->uploadThumb($thumb, $photo); $thumb->updatePhotoThumbFile($photoFile); $this->thumbRepository->save($thumb); return $thumb; }
/** * @param SavePhotoRequest $request * @return Photo */ private function createPhotoBy(SavePhotoRequest $request) { $resourceId = new ResourceId($request->resourceId()); $photoName = new PhotoName($request->name()); $photoFile = new PhotoFile($request->file()); $photoId = $this->repository->ensureUniquePhotoId(); return new Photo($photoId, $resourceId, $photoName, $this->storage->getPhotoHttpUrlBy($photoId, $resourceId, $photoName, $photoFile), new PhotoAltCollection([new PhotoAlt($photoId, $request->alt(), new Lang($request->lang()))]), new Position($request->position()), $photoFile); }