deblan/fos-rest-behavior

There is no license information available for the latest version (v1.0) of this package.

Installs: 219

Dependents: 0

Suggesters: 0

Security: 0

Type:propel-behavior

v1.0 2016-09-23 09:48 UTC

This package is auto-updated.

Last update: 2024-10-29 04:53:01 UTC


README

This a propel behavior to auto-generate methods of FOSRestBundle.

Installation

composer require deblan/fos-rest-behavior

How to

<table name="foo">
    <column name="id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true" />
    <column name="label" type="VARCHAR" size="256"/>
    <column name="is_active" type="BOOLEAN" size="1"/>

    <behavior name="Deblan\Propel\Behavior\FOSRestBehavior">
        <parameter name="id" value="all"/>
        <parameter name="label" value="myGroup"/>
        <parameter name="is_active" value="myGroup, anotherGroup"/>
    </behavior>
</table>

After the model generation, the abstract class Foo will be updated with new annotations and methods:

/**
 * [...]
 *
 * @JMS\Serializer\Annotation\ExclusionPolicy("all")
 */
abstract class Foo implements ActiveRecordInterface
{
    ...

    /**
     * @JMS\Serializer\Annotation\SerializedName("id")
     * @JMS\Serializer\Annotation\Groups({"all"})
     * @JMS\Serializer\Annotation\VirtualProperty
    */
    public function getRestId()
    {
        return $this->getId();
    }
    
    /**
     * @JMS\Serializer\Annotation\SerializedName("label")
     * @JMS\Serializer\Annotation\Groups({"myGroup"})
     * @JMS\Serializer\Annotation\VirtualProperty
    */
    public function getRestLabel()
    {
        return $this->getLabel();
    }

    /**
     * @JMS\Serializer\Annotation\SerializedName("is_active")
     * @JMS\Serializer\Annotation\Groups({"myGroup", "anotherGroup"})
     * @JMS\Serializer\Annotation\VirtualProperty
    */
    public function getRestIsActive()
    {
        return $this->getIsActive();
    }

    ...
}