public function testDirectusTables() { $this->assertTrue(Schema::isDirectusTable('directus_files')); $this->assertFalse(Schema::isDirectusTable('directus_storage')); }
public function convertDates(array $records, array $schemaArray, $tableName = null) { $tableName = $tableName === null ? $this->table : $tableName; if (!SchemaManager::isDirectusTable($tableName)) { return $records; } // ========================================================================== // hotfix: records sometimes are no set as an array of rows. // NOTE: this code is duplicate @see: AbstractSchema::parseRecordValuesByType // ========================================================================== $singleRecord = false; if (!is_numeric_keys_array($records)) { $records = [$records]; $singleRecord = true; } foreach ($records as $index => $row) { foreach ($schemaArray as $column) { if (in_array(strtolower($column['type']), ['timestamp', 'datetime'])) { $columnName = $column['id']; if (array_key_exists($columnName, $row)) { $records[$index][$columnName] = DateUtils::convertToISOFormat($row[$columnName], 'UTC', get_user_timezone()); } } } } return $singleRecord ? reset($records) : $records; }