contrib_todo_list-1.1.1/src/Entity/Todo.php
src/Entity/Todo.php
<?php
namespace Drupal\contrib_todo_list\Entity;
use Drupal\Core\Entity\ContentEntityBase;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\contrib_todo_list\data\TodoState;
/**
* Defines the Todo entity.
*
* @ContentEntityType(
* id = "todo",
* label = @Translation("Todo"),
* base_table = "todo",
* entity_keys = {
* "id" = "id",
* "uuid" = "uuid",
* "langcode" = "langcode"
* }
* )
*/
class Todo extends ContentEntityBase {
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields = parent::baseFieldDefinitions($entity_type);
$fields['langcode'] = BaseFieldDefinition::create('language')
->setLabel(t('Language'))
->setDescription(t('The todo language code.'))
->setRevisionable(TRUE);
$fields['nid'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Node'))
->setRequired(TRUE)
->setSetting('target_type', 'node');
$fields['uid'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('User'))
->setRequired(TRUE)
->setSetting('target_type', 'user');
$fields['share'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Share'))
->setDefaultValue(FALSE);
$fields['todo'] = BaseFieldDefinition::create('text_long')
->setLabel(t('Todo'))
->setRequired(TRUE)
->setTranslatable(TRUE);
$fields['state'] = BaseFieldDefinition::create('list_string')
->setLabel(t('State'))
->setRequired(TRUE);
$fields['pin'] = BaseFieldDefinition::create('text_long')
->setLabel(t('Pin'))
->setDefaultValue(null);
return $fields;
}
}
