[backend] Add table element
DISCLAIMER: with the table collection element feature, I'm trying to follow the https://stacking.dev/ principles (Pointed out by @peter_baserow) to figure out what are the benefits and what are the drawbacks of such method in Baserow. As consequence, you'll see a lot of small MRs and may be sometimes it will break a bit the usual patterns we use in Baserow.
What is in this MR
This MR adds the table element, it's only the backend part for now. This element can have a data_source associated but this data source must reference a collection service. A collection service is a service that returns a list of records like the LocalBaserowListRowService.
How to test this MR
As it's backend only, you don't have much to test in this MR, however you can:
- Read the test file and check any tests you would have done are there.
- Take a look at the redoc documentation and see if it fits what's expected.
- Check the import/export feature.
Merge Request Checklist
-
changelog.md has been updated if required. -
New/updated Premium/Enterprise features are separated correctly in the premium or enterprise folder -
The latest Chrome and Firefox have been used to test any new frontend features -
Documentation has been updated -
Quality Standards are met -
Performance: tables are still fast with 100k+ rows, 100+ field tables -
The redoc API pages have been updated for any REST API changes -
Our custom API docs are updated for changes to endpoints accessed via api tokens -
The UI/UX has been updated following UI Style Guide
Related to #1836 (closed)
Edited by Jérémie Pardou