* * return list of objects with the name of the table * Ex. [{name: 'articles'}, {name: 'projects'}] */ $app->get("/{$v}/tables/?", function () use($ZendDb, $acl, $app) { $tablesNames = TableSchema::getTablenames(false); $tables = array_map(function ($table) { return ['table_name' => $table]; }, $tablesNames); JsonView::render($tables); }); // GET and PUT table details $app->map("/{$v}/tables/:table/?", function ($table) use($ZendDb, $acl, $params, $requestPayload, $app) { if ($app->request()->isDelete()) { $tableGateway = new TableGateway($acl, $table, $ZendDb); $success = $tableGateway->drop(); $response = ['message' => __t('unable_to_remove_table_x', ['table_name' => $table]), 'success' => false]; if ($success) { $response['success'] = true; $response['message'] = __t('table_x_was_removed'); } return JsonView::render($response); } $TableGateway = new TableGateway($acl, 'directus_tables', $ZendDb, null, null, null, 'table_name'); $ColumnsTableGateway = new TableGateway($acl, 'directus_columns', $ZendDb); /* PUT updates the table */ if ($app->request()->isPut()) { $data = $requestPayload; $table_settings = ['table_name' => $data['table_name'], 'hidden' => (int) $data['hidden'], 'single' => (int) $data['single'], 'footer' => (int) $data['footer'], 'primary_column' => array_key_exists('primary_column', $data) ? $data['primary_column'] : '']; //@TODO: Possibly pretty this up so not doing direct inserts/updates $set = $TableGateway->select(['table_name' => $table])->toArray();