浏览代码

REST Controllers. Form types

Guillermo Espinoza 7 年之前
父节点
当前提交
91f85107cf

+ 30 - 0
app/config/routing.yml

@@ -1,3 +1,33 @@
+cablemodem_cmts_api:
+    resource: "@CablemodemBundle/Controller/REST/CMTSRESTController.php"
+    type:   rest
+    prefix:   /api
+
+cablemodem_cablemodem_api:
+    resource: "@CablemodemBundle/Controller/REST/CablemodemRESTController.php"
+    type:   rest
+    prefix:   /api
+
+cablemodem_profile_api:
+    resource: "@CablemodemBundle/Controller/REST/ProfileRESTController.php"
+    type:   rest
+    prefix:   /api
+
+cablemodem_node_api:
+    resource: "@CablemodemBundle/Controller/REST/NodeRESTController.php"
+    type:   rest
+    prefix:   /api
+
+cablemodem_cmts_model_api:
+    resource: "@CablemodemBundle/Controller/REST/CMTSModelRESTController.php"
+    type:   rest
+    prefix:   /api
+
+cablemodem_cablemodem_model_api:
+    resource: "@CablemodemBundle/Controller/REST/CablemodemModelRESTController.php"
+    type:   rest
+    prefix:   /api
+
 cablemodem:
     resource: "@CablemodemBundle/Controller/"
     type:     annotation

+ 32 - 0
src/CablemodemBundle/Controller/REST/CMTSModelRESTController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\CMTSModelType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * CMTSModel controller.
+ * @RouteResource("CMTSModel")
+ */
+class CMTSModelRESTController extends RESTController
+{
+        
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:CMTSModel';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new CMTSModelType());
+    }
+    
+}

+ 31 - 0
src/CablemodemBundle/Controller/REST/CMTSRESTController.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\CMTSType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * CMTS controller.
+ * @RouteResource("CMTS")
+ */
+class CMTSRESTController extends RESTController
+{
+    
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:CMTS';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new CMTSType());
+    }
+}

+ 32 - 0
src/CablemodemBundle/Controller/REST/CablemodemModelRESTController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\CablemodemModelType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * CablemodemModel controller.
+ * @RouteResource("CablemodemModel")
+ */
+class CablemodemModelRESTController extends RESTController
+{
+    
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:CablemodemModel';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new CablemodemModelType());
+    }
+    
+}

+ 32 - 0
src/CablemodemBundle/Controller/REST/CablemodemRESTController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\CablemodemType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * Cablemodem controller.
+ * @RouteResource("Cablemodem")
+ */
+class CablemodemRESTController extends RESTController
+{
+    
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:Cablemodem';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new CablemodemType());
+    }
+    
+}

+ 32 - 0
src/CablemodemBundle/Controller/REST/NodeRESTController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\NodeType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * Node controller.
+ * @RouteResource("Node")
+ */
+class NodeRESTController extends RESTController
+{
+    
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:Node';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new NodeType());
+    }
+    
+}

+ 32 - 0
src/CablemodemBundle/Controller/REST/ProfileRESTController.php

@@ -0,0 +1,32 @@
+<?php
+
+namespace CablemodemBundle\Controller\REST;
+
+use CablemodemBundle\Form\ProfileType;
+use FOS\RestBundle\Controller\Annotations\RouteResource;
+use WebserviceBundle\Controller\RESTController;
+
+/**
+ * Profile controller.
+ * @RouteResource("Profile")
+ */
+class ProfileRESTController extends RESTController
+{
+    
+    /**
+     * @return string Retorna el nombre de la Entity de trabajo.
+     */
+    public function getRepository()
+    {
+        return 'CablemodemBundle:Profile';
+    }
+
+    /**
+     * @return string Retorna el tipo de la clase.
+     */
+    public function getFormEntityType()
+    {
+        return get_class(new ProfileType());
+    }
+    
+}

+ 5 - 0
src/CablemodemBundle/Entity/Node.php

@@ -4,6 +4,7 @@ namespace CablemodemBundle\Entity;
 
 use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\Mapping as ORM;
+use JMS\Serializer\Annotation as JMS;
 use Symfony\Component\Validator\Constraints as Assert;
 use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
 use Base\AdminBundle\Traits\TenancyIdTrait;
@@ -36,11 +37,15 @@ class Node implements TenancyIdTraitInterface
 
     /**
      * @ORM\ManyToOne(targetEntity="Node")
+     * 
+     * @JMS\MaxDepth(1)
      */
     protected $parent;
 
     /**
      * @ORM\OneToMany(targetEntity="Node", mappedBy="parent")
+     * 
+     * @JMS\MaxDepth(1)
      */
     protected $childs;
 

+ 38 - 0
src/CablemodemBundle/Form/CMTSModelType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class CMTSModelType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('name')->add('extraData');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\CMTSModel'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_cmtsmodel';
+    }
+
+
+}

+ 38 - 0
src/CablemodemBundle/Form/CMTSType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class CMTSType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('name')->add('host')->add('snmpComunity')->add('snmpVersion')->add('executeSnmp')->add('extraData')->add('tenancyId')->add('model');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\CMTS'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_cmts';
+    }
+
+
+}

+ 38 - 0
src/CablemodemBundle/Form/CablemodemModelType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class CablemodemModelType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('name')->add('extraData');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\CablemodemModel'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_cablemodemmodel';
+    }
+
+
+}

+ 38 - 0
src/CablemodemBundle/Form/CablemodemType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class CablemodemType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('clientId')->add('mac')->add('activationCode')->add('created')->add('updated')->add('currentState')->add('administrativeState')->add('transitionState')->add('extraData')->add('tenancyId')->add('node')->add('profile')->add('model')->add('workflow')->add('location');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\Cablemodem'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_cablemodem';
+    }
+
+
+}

+ 38 - 0
src/CablemodemBundle/Form/NodeType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class NodeType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('name')->add('tenancyId')->add('parent');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\Node'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_node';
+    }
+
+
+}

+ 38 - 0
src/CablemodemBundle/Form/ProfileType.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace CablemodemBundle\Form;
+
+use Symfony\Component\Form\AbstractType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+
+class ProfileType extends AbstractType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function buildForm(FormBuilderInterface $builder, array $options)
+    {
+        $builder->add('name')->add('downstream')->add('upstream')->add('filtroUpload')->add('filtroDownload')->add('maxCpe')->add('tenancyId');
+    }
+    
+    /**
+     * {@inheritdoc}
+     */
+    public function configureOptions(OptionsResolver $resolver)
+    {
+        $resolver->setDefaults(array(
+            'data_class' => 'CablemodemBundle\Entity\Profile'
+        ));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getBlockPrefix()
+    {
+        return 'cablemodembundle_profile';
+    }
+
+
+}