public function createPlan(array $plan) { $em = $this->doctrineBoot->getEntityManager(); $id = Uuid::uuid5(Uuid::NAMESPACE_OID, $plan['name'])->toString(); $repo = $em->getRepository(Plan::class); $planObject = $repo->find($id); $free = !isset($service['free']) || $service['free'] ? true : false; if ($planObject === null) { $planObject = new Plan($id, $plan['name'], $plan['description']); } if (isset($plan['metadata'])) { $planObject->setMetadata($this->createMetadata($plan['metadata'])); } $planObject->setFree($free); $em->persist($planObject); return $planObject; }
public function getPlanAsArray(Plan $plan) { $planArray = []; $planArray['id'] = $plan->getId(); $planArray['name'] = $plan->getName(); $planArray['description'] = $plan->getDescription(); $planArray['free'] = $plan->isFree(); if ($plan->getMetadata() !== null) { $planArray['metadata'] = $this->getMetadataPlanAsArray($plan->getMetadata()); } return $planArray; }