App\ContentBundle\Entity\Form:
  type: entity
  repositoryClass: App\ContentBundle\Repository\FormRepository
  table: content_form
  id:
    id:
      type: string
      unique: true
      generator:
        strategy: CUSTOM
      customIdGenerator:
        class: Ramsey\Uuid\Doctrine\UuidGenerator
  fields:
    department:
      type: string
      columnDefinition: "enum('cesa', 'marketing', 'sce', 'bce', 'cpd')"
    bce_modules:
      type: string
      length: 255
    to_name:
      type: string
      length: 255
      nullable: true
    to_e_mail:
      type: string
      length: 255
      nullable: true
    title:
      type: string
      length: 255
      nullable: true
    description:
      type: text
      nullable: true
    action:
      type: string
      length: 255
      nullable: true
    method:
      type: string
      length: 5
      nullable: true
    inner_html:
      type: string
      length: 5
      nullable: true
    start_date:
      type: datetime
    end_date:
      type: datetime
      nullable: true
    is_public:
      type: boolean
      default: true
      nullable: true
    is_active:
      type: boolean
      default: false
      nullable: true
    is_deleted:
      type: boolean
      default: false
      nullable: true
    add_referral:
      type: boolean
      default: false
      nullable: true
    created_by:
      type: string
      length: 255
      nullable: true
    created_at:
      type: datetime
    updated_at:
      type: datetime
      mappedBy: content
  manyToOne:
    form_type:
      targetEntity: FormType
      joinColumn:
        name: form_type_id
        referencedColumnName: id
  oneToMany:
    form_items:
      targetEntity: FormItemForm
      mappedBy: form
      cascade: [ "persist", "remove" ]
    form_completed:
      targetEntity: FormCompleted
      mappedBy: form
      cascade: [ "persist", "remove" ]
  lifecycleCallbacks:
    prePersist: [ setCreatedAtValue, setUpdatedAtValue ]
    preUpdate: [ setUpdatedAtValue ]