/** * @param AddStorage $addStorage */ public function add(AddStorage $addStorage) { Assertion::integer($addStorage->storage); Assertion::integer($addStorage->quota); $storage = Storage::withUserDateUsageQuota(User::named($addStorage->name), new \DateTime(), Bytes::allocateUnits((int) $addStorage->storage), Quota::fromBytes(Bytes::allocateUnits((int) $addStorage->quota))); $this->storageRepository->add($storage); }
/** * @test */ public function shouldNotAddStorageOnMissingStorage() { $this->setExpectedException(InvalidArgumentException::class); $this->storageRepository->shouldReceive('add')->never(); $addStorage = new AddStorage(); $addStorage->name = 'username'; $addStorage->quota = 100; $this->addStorageHandler->add($addStorage); }
/** * @param Filter $filter * @param UnitOfMeasurement $unitOfMeasurement * @return StorageCollection */ public function find(Filter $filter, UnitOfMeasurement $unitOfMeasurement) { return $this->repository->find($filter, $unitOfMeasurement); }
/** * @param string $users * @param string $dateFrom * @param string $dateTo * @param string $unit * @return \JsonSerializable */ public function getStorage($users, $dateFrom, $dateTo, $unit) { return $this->storageRepository->find($this->filterFactory->createFrom($users, $dateFrom, $dateTo), UnitOfMeasurement::fromString($unit)); }