Ejemplo n.º 1
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('oauth2_clients')->setCustomRepositoryClass('Mautic\\ApiBundle\\Entity\\oAuth2\\ClientRepository')->addIndex(array('random_id'), 'client_id_search');
     $builder->addIdColumns('name', false);
     $builder->createManyToMany('users', 'Mautic\\UserBundle\\Entity\\User')->setJoinTable('oauth2_user_client_xref')->addInverseJoinColumn('user_id', 'id', false, false, 'CASCADE')->addJoinColumn('client_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createField('randomId', 'string')->columnName('random_id')->build();
     $builder->addField('secret', 'string');
     $builder->createField('redirectUris', 'array')->columnName('redirect_uris')->build();
     $builder->createField('allowedGrantTypes', 'array')->columnName('allowed_grant_types')->build();
 }
Ejemplo n.º 2
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('push_notifications')->setCustomRepositoryClass('Mautic\\NotificationBundle\\Entity\\NotificationRepository');
     $builder->addIdColumns();
     $builder->createField('language', 'string')->columnName('lang')->build();
     $builder->createField('url', 'text')->nullable()->build();
     $builder->createField('heading', 'text')->build();
     $builder->createField('message', 'text')->build();
     $builder->createField('notificationType', 'text')->columnName('notification_type')->nullable()->build();
     $builder->addPublishDates();
     $builder->createField('readCount', 'integer')->columnName('read_count')->build();
     $builder->createField('sentCount', 'integer')->columnName('sent_count')->build();
     $builder->addCategory();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('push_notification_list_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('notification_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createOneToMany('stats', 'Stat')->setIndexBy('id')->mappedBy('notification')->cascadePersist()->fetchExtraLazy()->build();
 }
Ejemplo n.º 3
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('campaigns')->setCustomRepositoryClass('Mautic\\CampaignBundle\\Entity\\CampaignRepository');
     $builder->addIdColumns();
     $builder->addPublishDates();
     $builder->addCategory();
     $builder->createOneToMany('events', 'Event')->setIndexBy('id')->setOrderBy(['order' => 'ASC'])->mappedBy('campaign')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('leads', 'Lead')->setIndexBy('id')->mappedBy('campaign')->fetchExtraLazy()->build();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('campaign_leadlist_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('campaign_id', 'id', true, false, 'CASCADE')->build();
     $builder->createManyToMany('forms', 'Mautic\\FormBundle\\Entity\\Form')->setJoinTable('campaign_form_xref')->setIndexBy('id')->addInverseJoinColumn('form_id', 'id', false, false, 'CASCADE')->addJoinColumn('campaign_id', 'id', true, false, 'CASCADE')->build();
     $builder->createField('canvasSettings', 'array')->columnName('canvas_settings')->nullable()->build();
 }
Ejemplo n.º 4
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('leads')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadRepository')->addLifecycleEvent('checkDateIdentified', 'preUpdate')->addLifecycleEvent('checkDateIdentified', 'prePersist')->addLifecycleEvent('checkAttributionDate', 'preUpdate')->addLifecycleEvent('checkAttributionDate', 'prePersist')->addIndex(['date_added'], 'lead_date_added');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createManyToOne('owner', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('owner_id', 'id', true, false, 'SET NULL')->build();
     $builder->createField('points', 'integer')->build();
     $builder->createOneToMany('pointsChangeLog', 'PointsChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('companyChangeLog', 'CompanyChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('doNotContact', 'Mautic\\LeadBundle\\Entity\\DoNotContact')->orphanRemoval()->mappedBy('lead')->cascadePersist()->fetchExtraLazy()->build();
     $builder->createManyToMany('ipAddresses', 'Mautic\\CoreBundle\\Entity\\IpAddress')->setJoinTable('lead_ips_xref')->addInverseJoinColumn('ip_id', 'id', false)->addJoinColumn('lead_id', 'id', false, false, 'CASCADE')->setIndexBy('ipAddress')->cascadeMerge()->cascadePersist()->cascadeDetach()->build();
     $builder->createOneToMany('pushIds', 'Mautic\\NotificationBundle\\Entity\\PushID')->orphanRemoval()->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createField('lastActive', 'datetime')->columnName('last_active')->nullable()->build();
     $builder->createField('internal', 'array')->nullable()->build();
     $builder->createField('socialCache', 'array')->columnName('social_cache')->nullable()->build();
     $builder->createField('dateIdentified', 'datetime')->columnName('date_identified')->nullable()->build();
     $builder->createOneToMany('notes', 'LeadNote')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->fetchExtraLazy()->build();
     $builder->createField('preferredProfileImage', 'string')->columnName('preferred_profile_image')->nullable()->build();
     $builder->createManyToMany('tags', 'Mautic\\LeadBundle\\Entity\\Tag')->setJoinTable('lead_tags_xref')->addInverseJoinColumn('tag_id', 'id', false)->addJoinColumn('lead_id', 'id', false, false, 'CASCADE')->setOrderBy(['tag' => 'ASC'])->setIndexBy('tag')->fetchLazy()->cascadeMerge()->cascadePersist()->cascadeDetach()->build();
     $builder->createManyToOne('stage', 'Mautic\\StageBundle\\Entity\\Stage')->cascadePersist()->cascadeMerge()->addJoinColumn('stage_id', 'id', true, false, 'SET NULL')->build();
     $builder->createOneToMany('stageChangeLog', 'StagesChangeLog')->orphanRemoval()->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('utmtags', 'Mautic\\LeadBundle\\Entity\\UtmTag')->orphanRemoval()->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
     $builder->createOneToMany('frequencyRules', 'Mautic\\LeadBundle\\Entity\\FrequencyRule')->orphanRemoval()->setIndexBy('channel')->setOrderBy(['dateAdded' => 'DESC'])->mappedBy('lead')->cascadeAll()->fetchExtraLazy()->build();
 }
Ejemplo n.º 5
0
 /**
  * @param ORM\ClassMetadata $metadata
  */
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('emails')->setCustomRepositoryClass('Mautic\\EmailBundle\\Entity\\EmailRepository');
     $builder->addIdColumns();
     $builder->createField('subject', 'text')->nullable()->build();
     $builder->createField('fromAddress', 'string')->columnName('from_address')->nullable()->build();
     $builder->createField('fromName', 'string')->columnName('from_name')->nullable()->build();
     $builder->createField('replyToAddress', 'string')->columnName('reply_to_address')->nullable()->build();
     $builder->createField('bccAddress', 'string')->columnName('bcc_address')->nullable()->build();
     $builder->createField('template', 'string')->nullable()->build();
     $builder->createField('language', 'string')->columnName('lang')->build();
     $builder->createField('content', 'array')->nullable()->build();
     $builder->createField('plainText', 'text')->columnName('plain_text')->nullable()->build();
     $builder->createField('customHtml', 'text')->columnName('custom_html')->nullable()->build();
     $builder->createField('emailType', 'text')->columnName('email_type')->nullable()->build();
     $builder->addPublishDates();
     $builder->createField('readCount', 'integer')->columnName('read_count')->build();
     $builder->createField('sentCount', 'integer')->columnName('sent_count')->build();
     $builder->addField('revision', 'integer');
     $builder->addCategory();
     $builder->createManyToMany('lists', 'Mautic\\LeadBundle\\Entity\\LeadList')->setJoinTable('email_list_xref')->setIndexBy('id')->addInverseJoinColumn('leadlist_id', 'id', false, false, 'CASCADE')->addJoinColumn('email_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
     $builder->createOneToMany('stats', 'Stat')->setIndexBy('id')->mappedBy('email')->cascadePersist()->fetchExtraLazy()->build();
     $builder->createManyToOne('variantParent', 'Email')->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id')->build();
     $builder->createOneToMany('variantChildren', 'Email')->setIndexBy('id')->mappedBy('variantParent')->fetchLazy()->build();
     $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build();
     $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build();
     $builder->createField('variantSentCount', 'integer')->columnName('variant_sent_count')->build();
     $builder->createField('variantReadCount', 'integer')->columnName('variant_read_count')->build();
     $builder->createManyToOne('unsubscribeForm', 'Mautic\\FormBundle\\Entity\\Form')->addJoinColumn('unsubscribeform_id', 'id', true, false, 'SET NULL')->build();
     $builder->createManyToMany('assetAttachments', 'Mautic\\AssetBundle\\Entity\\Asset')->setJoinTable('email_assets_xref')->addInverseJoinColumn('asset_id', 'id', false, false, 'CASCADE')->addJoinColumn('email_id', 'id', false, false, 'CASCADE')->fetchExtraLazy()->build();
 }