. /** * Data object to store moderation logs * * @category Moderation * @package GNUsocial * @author Evan Prodromou * @copyright 2012 StatusNet, Inc. * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ defined('GNUSOCIAL') || die(); /** * @copyright 2012 StatusNet, Inc. * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later * * @see DB_DataObject */ class ModLog extends Managed_DataObject { public $__table = 'mod_log'; // table name public $id; // UUID public $profile_id; // profile id public $moderator_id; // profile id public $role; // the role public $is_grant; // true = grant, false = revoke public $created; // datetime /** * The One True Thingy that must be defined and declared. */ public static function schemaDef() { return [ 'description' => 'Log of moderation events', 'fields' => [ 'id' => [ 'type' => 'varchar', 'length' => 36, 'not null' => true, 'description' => 'unique event ID', ], 'profile_id' => [ 'type' => 'int', 'not null' => true, 'description' => 'profile getting the role', ], 'moderator_id' => [ 'type' => 'int', 'description' => 'profile granting or revoking the role', ], 'role' => [ 'type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'role granted or revoked', ], 'is_grant' => [ 'type' => 'bool', 'default' => true, 'description' => 'Was this a grant or revocation of a role', ], 'created' => [ 'type' => 'datetime', 'not null' => true, 'description' => 'date this record was created', ], ], 'primary key' => ['id'], 'foreign keys' => [ 'modlog_profile_id_fkey' => ['profile', ['profile_id' => 'id']], 'modlog_moderator_id_fkey' => ['user', ['moderator_id' => 'id']], ], 'indexes' => [ 'modlog_profile_id_created_idx' => ['profile_id', 'created'], 'modlog_moderator_id_idx' => ['moderator_id'], ], ]; } }