export default (client) => { return { fetchAll(databaseId) { return client.get(`/database/tables/database/${databaseId}/`) }, create( databaseId, values, initialData = null, firstRowHeader = false, config = null ) { if (initialData !== null) { values.data = initialData values.first_row_header = firstRowHeader } return client.post( `/database/tables/database/${databaseId}/async/`, values, config ) }, createSync(databaseId, values, initialData = null, firstRowHeader = false) { if (initialData !== null) { values.data = initialData values.first_row_header = firstRowHeader } return client.post(`/database/tables/database/${databaseId}/`, values) }, importData(tableId, data, config = null, importConfiguration = null) { const payload = { data } if (importConfiguration) { payload.configuration = importConfiguration } return client.post( `/database/tables/${tableId}/import/async/`, payload, config ) }, get(tableId) { return client.get(`/database/tables/${tableId}/`) }, update(tableId, values) { return client.patch(`/database/tables/${tableId}/`, values) }, order(databaseId, order) { return client.post(`/database/tables/database/${databaseId}/order/`, { table_ids: order, }) }, asyncDuplicate(tableId) { return client.post(`/database/tables/${tableId}/duplicate/async/`) }, delete(tableId) { return client.delete(`/database/tables/${tableId}/`) }, } }