/** * @param ClassMetadata $builder * @param $entityClass */ protected static function addVariantMetadata(ClassMetadataBuilder $builder, $entityClass) { $builder->createManyToOne('variantParent', $entityClass)->inversedBy('variantChildren')->addJoinColumn('variant_parent_id', 'id', true, false, 'CASCADE')->build(); $builder->createOneToMany('variantChildren', $entityClass)->setIndexBy('id')->setOrderBy(['isPublished' => 'DESC'])->mappedBy('variantParent')->build(); $builder->createField('variantSettings', 'array')->columnName('variant_settings')->nullable()->build(); $builder->createField('variantStartDate', 'datetime')->columnName('variant_start_date')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('ip_addresses')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\IpAddressRepository')->addIndex(['ip_address'], 'ip_search'); $builder->addId(); $builder->createField('ipAddress', 'string')->columnName('ip_address')->length(45)->build(); $builder->createField('ipDetails', 'array')->columnName('ip_details')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('push_ids')->setCustomRepositoryClass('Mautic\\NotificationBundle\\Entity\\PushIDRepository'); $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build(); $builder->createField('pushID', 'string')->columnName('push_id')->nullable(false)->build(); $builder->createManyToOne('lead', 'Mautic\\LeadBundle\\Entity\\Lead')->addJoinColumn('lead_id', 'id', true, false, 'SET NULL')->inversedBy('pushIds')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('categories')->setCustomRepositoryClass('Mautic\\CategoryBundle\\Entity\\CategoryRepository')->addIndex(['alias'], 'category_alias_search'); $builder->addIdColumns('title'); $builder->addField('alias', 'string'); $builder->createField('color', 'string')->nullable()->length(7)->build(); $builder->createField('bundle', 'string')->length(50)->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('email_copies')->setCustomRepositoryClass('Mautic\\EmailBundle\\Entity\\CopyRepository'); $builder->createField('id', 'string')->isPrimaryKey()->length(32)->build(); $builder->createField('dateCreated', 'datetime')->columnName('date_created')->build(); $builder->addNullableField('body', 'text'); $builder->addNullableField('subject', 'text'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('roles')->setCustomRepositoryClass('Mautic\\UserBundle\\Entity\\RoleRepository'); $builder->addIdColumns(); $builder->createField('isAdmin', 'boolean')->columnName('is_admin')->build(); $builder->createOneToMany('permissions', 'Permission')->orphanRemoval()->mappedBy('role')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build(); $builder->createField('rawPermissions', 'array')->columnName('readable_permissions')->build(); $builder->createOneToMany('users', 'User')->mappedBy('role')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_notes')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\LeadNoteRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'notes'); $builder->addField('text', 'text'); $builder->createField('type', 'string')->length(50)->nullable()->build(); $builder->createField('dateTime', 'datetime')->columnName('date_time')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('form_actions')->setCustomRepositoryClass('Mautic\\FormBundle\\Entity\\ActionRepository')->addIndex(array('type'), 'form_action_type_search'); $builder->addIdColumns(); $builder->createField('type', 'string')->length(50)->build(); $builder->createField('order', 'integer')->columnName('action_order')->build(); $builder->addField('properties', 'array'); $builder->createManyToOne('form', 'Form')->inversedBy('actions')->addJoinColumn('form_id', 'id', false, false, 'CASCADE')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('oauth1_consumers')->setCustomRepositoryClass('Mautic\\ApiBundle\\Entity\\oAuth1\\ConsumerRepository')->addLifecycleEvent('createConsumerKeys', 'prePersist')->addIndex(array('consumer_key'), 'consumer_search'); $builder->addIdColumns('name', false); $builder->createField('consumerKey', 'string')->columnName('consumer_key')->build(); $builder->createField('consumerSecret', 'string')->columnName('consumer_secret')->build(); $builder->addField('callback', 'string'); $builder->createOneToMany('accessTokens', 'AccessToken')->setIndexBy('id')->mappedBy('consumer')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('companies_leads')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\CompanyLeadRepository'); $builder->createManyToOne('company', 'Company')->isPrimaryKey()->inversedBy('leads')->addJoinColumn('company_id', 'id', false, false, 'CASCADE')->build(); $builder->addLead(false, 'CASCADE', true); $builder->addDateAdded(); $builder->createField('manuallyRemoved', 'boolean')->columnName('manually_removed')->build(); $builder->createField('manuallyAdded', 'boolean')->columnName('manually_added')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('permissions')->setCustomRepositoryClass('Mautic\\UserBundle\\Entity\\PermissionRepository')->addUniqueConstraint(['bundle', 'name', 'role_id'], 'unique_perm'); $builder->addId(); $builder->createField('bundle', 'string')->length(50)->build(); $builder->createField('name', 'string')->length(50)->build(); $builder->createManyToOne('role', 'Role')->inversedBy('permissions')->addJoinColumn('role_id', 'id', false, false, 'CASCADE')->build(); $builder->addField('bitwise', 'integer'); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_stages_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\StagesChangeLogRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'stageChangeLog'); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->createManyToOne('stage', 'Mautic\\StageBundle\\Entity\\Stage')->inversedBy('stageChangeLog')->addJoinColumn('stage_id', 'id', true, false, 'CASCADE')->build(); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('oauth2_refreshtokens')->addIndex(array('token'), 'oauth2_refresh_token_search'); $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build(); $builder->createManyToOne('client', 'Client')->addJoinColumn('client_id', 'id', false, false, 'CASCADE')->build(); $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', false, false, 'CASCADE')->build(); $builder->createField('token', 'string')->unique()->build(); $builder->createField('expiresAt', 'bigint')->columnName('expires_at')->nullable()->build(); $builder->createField('scope', 'string')->nullable()->build(); }
/** * @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(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('page_redirects')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\RedirectRepository'); $builder->addId(); $builder->createField('redirectId', 'string')->columnName('redirect_id')->length(25)->build(); $builder->addField('url', 'text'); $builder->addField('hits', 'integer'); $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build(); $builder->createManyToOne('email', 'Mautic\\EmailBundle\\Entity\\Email')->addJoinColumn('email_id', 'id', true, false, 'SET NULL')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_frequencyrules')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\FrequencyRuleRepository')->addIndex(['channel'], 'channel_frequency'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'frequencyRules'); $builder->addDateAdded(); $builder->addNamedField('frequencyNumber', 'smallint', 'frequency_number'); $builder->createField('frequencyTime', 'string')->columnName('frequency_time')->length(25)->build(); $builder->createField('channel', 'string')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('oauth1_access_tokens')->addIndex(['token'], 'oauth1_access_token_search'); $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build(); $builder->createManyToOne('consumer', 'Consumer')->inversedBy('accessTokens')->addJoinColumn('consumer_id', 'id', false, false, 'CASCADE')->build(); $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', false, false, 'CASCADE')->build(); $builder->addField('token', 'string'); $builder->addField('secret', 'string'); $builder->createField('expiresAt', 'bigint')->columnName('expires_at')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('page_redirects')->setCustomRepositoryClass('Mautic\\PageBundle\\Entity\\RedirectRepository'); $builder->addId(); $builder->createField('redirectId', 'string')->columnName('redirect_id')->length(25)->build(); $builder->addField('url', 'text'); $builder->addField('hits', 'integer'); $builder->createField('uniqueHits', 'integer')->columnName('unique_hits')->build(); $builder->createOneToMany('trackables', 'Trackable')->mappedBy('redirect')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('plugins')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\PluginRepository')->addUniqueConstraint(['bundle'], 'unique_bundle'); $builder->addIdColumns(); $builder->createField('isMissing', 'boolean')->columnName('is_missing')->build(); $builder->createField('bundle', 'string')->length(50)->build(); $builder->createField('version', 'string')->nullable()->build(); $builder->createField('author', 'string')->nullable()->build(); $builder->createOneToMany('integrations', 'Integration')->setIndexBy('id')->mappedBy('plugin')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('point_trigger_events')->setCustomRepositoryClass('Mautic\\PointBundle\\Entity\\TriggerEventRepository')->addIndex(['type'], 'trigger_type_search'); $builder->addIdColumns(); $builder->createField('type', 'string')->length(50)->build(); $builder->createField('order', 'integer')->columnName('action_order')->build(); $builder->addField('properties', 'array'); $builder->createManyToOne('trigger', 'Trigger')->inversedBy('events')->addJoinColumn('trigger_id', 'id', false, false, 'CASCADE')->build(); $builder->createOneToMany('log', 'LeadTriggerLog')->mappedBy('event')->cascadePersist()->cascadeRemove()->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('reports')->setCustomRepositoryClass('Mautic\\ReportBundle\\Entity\\ReportRepository'); $builder->addIdColumns(); $builder->addField('system', 'boolean'); $builder->addField('source', 'string'); $builder->createField('columns', 'array')->nullable()->build(); $builder->createField('filters', 'array')->nullable()->build(); $builder->createField('tableOrder', 'array')->columnName('table_order')->nullable()->build(); $builder->createField('graphs', 'array')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('plugin_integration_settings')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\IntegrationRepository'); $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build(); $builder->createManyToOne('plugin', 'Plugin')->inversedBy('integrations')->addJoinColumn('plugin_id', 'id', true, false, 'CASCADE')->build(); $builder->addField('name', 'string'); $builder->createField('isPublished', 'boolean')->columnName('is_published')->build(); $builder->createField('supportedFeatures', 'array')->columnName('supported_features')->nullable()->build(); $builder->createField('apiKeys', 'array')->columnName('api_keys')->build(); $builder->createField('featureSettings', 'array')->columnName('feature_settings')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_donotcontact')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\DoNotContactRepository')->addIndex(['reason'], 'dnc_reason_search'); $builder->addId(); $builder->addLead(true, 'CASCADE', false, 'doNotContact'); $builder->addDateAdded(); $builder->createField('reason', 'smallint')->build(); $builder->createField('channel', 'string')->build(); $builder->addNamedField('channelId', 'integer', 'channel_id', true); $builder->createField('comments', 'text')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_companies_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\CompanyChangeLogRepository')->addIndex(['date_added'], 'company_date_added'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'companyChangeLog'); $builder->createField('type', 'text')->length(50)->build(); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->createField('company', 'integer')->columnName('company_id')->build(); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('lead_points_change_log')->setCustomRepositoryClass('Mautic\\LeadBundle\\Entity\\PointsChangeLogRepository'); $builder->addId(); $builder->addLead(false, 'CASCADE', false, 'pointsChangeLog'); $builder->addIpAddress(); $builder->createField('type', 'text')->length(50)->build(); $builder->createField('eventName', 'string')->columnName('event_name')->build(); $builder->createField('actionName', 'string')->columnName('action_name')->build(); $builder->addField('delta', 'integer'); $builder->addDateAdded(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('webhook_logs')->setCustomRepositoryClass('Mautic\\WebhookBundle\\Entity\\LogRepository'); // id columns $builder->addId(); // M:1 for webhook $builder->createManyToOne('webhook', 'Webhook')->inversedBy('logs')->addJoinColumn('webhook_id', 'id', false, false, 'CASCADE')->build(); // status code $builder->createField('statusCode', 'string')->columnName('status_code')->length(50)->build(); // date added $builder->createField('dateAdded', 'datetime')->columnName('date_added')->nullable()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('notifications')->setCustomRepositoryClass('Mautic\\CoreBundle\\Entity\\NotificationRepository')->addIndex(['is_read'], 'notification_read_status')->addIndex(['type'], 'notification_type')->addIndex(['is_read', 'user_id'], 'notification_user_read_status'); $builder->addId(); $builder->createManyToOne('user', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('user_id', 'id', false, false, 'CASCADE')->build(); $builder->createField('type', 'string')->nullable()->length(25)->build(); $builder->createField('header', 'string')->nullable()->build(); $builder->addField('message', 'text'); $builder->addDateAdded(); $builder->createField('iconClass', 'string')->columnName('icon_class')->nullable()->build(); $builder->createField('isRead', 'boolean')->columnName('is_read')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('form_submissions')->setCustomRepositoryClass('Mautic\\FormBundle\\Entity\\SubmissionRepository')->addIndex(['tracking_id'], 'form_submission_tracking_search')->addIndex(['date_submitted'], 'form_date_submitted'); $builder->addId(); $builder->createManyToOne('form', 'Form')->inversedBy('submissions')->addJoinColumn('form_id', 'id', false, false, 'CASCADE')->build(); $builder->addIpAddress(); $builder->addLead(true, 'SET NULL'); $builder->createField('trackingId', 'string')->columnName('tracking_id')->nullable()->build(); $builder->createField('dateSubmitted', 'datetime')->columnName('date_submitted')->build(); $builder->addField('referer', 'text'); $builder->createManyToOne('page', 'Mautic\\PageBundle\\Entity\\Page')->addJoinColumn('page_id', 'id', true, false, 'SET NULL')->fetchExtraLazy()->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('webhook_queue')->setCustomRepositoryClass('Mautic\\WebhookBundle\\Entity\\WebhookQueueRepository'); $builder->addId(); // M:1 for webhook $builder->createManyToOne('webhook', 'Webhook')->inversedBy('queues')->addJoinColumn('webhook_id', 'id', false, false, 'CASCADE')->build(); // date added $builder->createField('dateAdded', 'datetime')->columnName('date_added')->nullable()->build(); // payload $builder->createField('payload', 'text')->columnName('payload')->build(); // M:1 for event $builder->createManyToOne('event', 'Event')->inversedBy('queues')->addJoinColumn('event_id', 'id', false, false, 'CASCADE')->build(); }
/** * @param ORM\ClassMetadata $metadata */ public static function loadMetadata(ORM\ClassMetadata $metadata) { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('integration_entity')->setCustomRepositoryClass('Mautic\\PluginBundle\\Entity\\IntegrationEntityRepository')->addIndex(['integration', 'integration_entity', 'integration_entity_id'], 'integration_external_entity')->addIndex(['integration', 'internal_entity', 'internal_entity_id'], 'integration_internal_entity')->addIndex(['integration', 'internal_entity', 'integration_entity'], 'integration_entity_match')->addIndex(['integration', 'last_sync_date'], 'integration_last_sync_date'); $builder->addId(); $builder->addDateAdded(); $builder->addNullableField('integration', 'string'); $builder->createField('integrationEntity', 'string')->columnName('integration_entity')->nullable()->build(); $builder->createField('integrationEntityId', 'string')->columnName('integration_entity_id')->nullable()->build(); $builder->createField('internalEntity', 'string')->columnName('internal_entity')->nullable()->build(); $builder->createField('internalEntityId', 'integer')->columnName('internal_entity_id')->nullable()->build(); $builder->createField('lastSyncDate', 'datetime')->columnName('last_sync_date')->nullable()->build(); $builder->addNullableField('internal', 'array'); }