/** * Create Branch * * @param string $name * @param string $description * @param null|string $key * @param null|User $defaultAssignee * @param null|\SplFileInfo $logo * @param string|null $originalName * @param null|array|ArrayCollection $tags * * @return Branch */ public function create($name, $description, $key = null, User $defaultAssignee = null, \SplFileInfo $logo = null, $originalName = null, $tags = null) { if ($logo) { $logo = new Logo($logo->getFilename(), $originalName); } if (is_null($key) || empty($key)) { $key = $this->branchKeyGenerator->generate($name); } return new $this->entityClassName($key, $name, $description, $defaultAssignee, $logo, $tags); }
/** * @param Logo $value * @param AbstractPlatform $platform * @return mixed|string * @throws \RuntimeException */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { if (!$value) { return ''; } if (false === $value instanceof Logo) { throw new \RuntimeException("Variable type validation failed, value should be a Logo type"); } $logo = null; $name = $value->getName(); $originalName = $value->getOriginalName(); if ($name && $originalName) { $logo = $name . self::DELIMITER . $originalName; } return parent::convertToDatabaseValue($logo, $platform); }
/** * @param Logo $logo */ public function remove(Logo $logo) { $this->filesystem->remove($this->branchLogoDir->getRealPath() . '/' . $logo->getName()); }