Skip to content

Update column types table #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: v4.4
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions intro/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,21 +151,24 @@ As you can see in the example, due to the different column types, the values can
| Column | Type | Example | Notice |
| :--------------------------------------------- | :------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `text`<br/>`email`<br/>`url` | `string` | `"Albert"` | |
| `long-text` | `string`<br/>(markdown) | `"# Markdown syntax\n\nNew line with some **bold text**."` |
| `long-text` | `string`<br/>(markdown) | `"# Markdown syntax\n\nNew line with some **bold text**."` | |
| `number`<br/>`percent`<br/>`dollar`<br/>`euro` | `integer` | `279` or `12.5344` | |
| `collaborator` | `array` | `["[email protected]", "[email protected]"]` | |
| `date` | `string`<br/>([ISO 8601 date and time in UTC](https://en.wikipedia.org/wiki/ISO_8601)) | ` "2021-07-01 13:59"` or <br/>`"2021-03-10T16:19:31.761+00:00"` | - seatable accepts a wide variety of date formats.<br/> - Always saved in iso format.<br/>- If "Accurate to minutes" is not set, hh:mm will be ignored. |
| `duration` | `string` | `"9:50"` or `"1:10:30"` | Depending on column setting. |
| `duration` | `integer` (Duration in seconds) | `5400` | |
| `single-select` | `string` | `"female"` | The exact string of the option is required. If the option doesn't exist, `option deleted` will be shown in the UI. |
| `multiple-select` | `array` | `["Option 1", "Option 2"]` | Non-existing options will be ignored. |
| `image` | `array` | `["/workspace/24/asset/.../heart.png", "https://seatable.io/logo.svg"]` | Images can be stored in two ways:<br/>- [uploading an image](https://api.seatable.io/reference/uploadfile)<br/>- providing public URLs |
| `file` | `array` | `[{"name": "fav.ico", "size": 6746, "type": "file", "url": "..."}]` | You need to upload the file first, get its parent_path and file_relative_path first and then return to this call. |
| `image` | `array` | `["/workspace/24/asset/.../heart.png", "https://seatable.io/logo.svg"]` | Images can be stored in two ways:<br/>- [uploading an image](https://api.seatable.io/reference/uploadfile)<br/>- providing public URLs |
| `file` | `array` | `[{"name": "fav.ico", "size": 6746, "type": "file", "url": "...", "upload_time": "2024-03-15T12:34:56.466+00:00"}]` | You need to upload the file first, get its parent_path and file_relative_path first and then return to this call. |
| `email` | `string` | `[email protected]` | |
| `url` | `string` | `https://seatable.io` | |
| `checkbox` | `boolean` | `true` | |
| `rate` | `integer` | 4 |
| `rate` | `integer` | 4 | |
| `geolocation` | `object` | `{"lng": 8.23..., "lat": 50.00...}` or<br/>`{"country_region": "Sweden"}` | Depending on column setting. |
| `formula` | `string` | `"Albert Summer"` | Contains only the result of the formula. |
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The /api-gateway endpoints can also return integer or boolean values for formula columns.

The /dtable-server endpoints seem to return strings in all cases.

| `auto-number` | `string` | `"0001"` | |
| `button` | `null` | `null` | Always `null` |
| `link` | `array` | `[{"row_id": "Mr-3QnQ5Q-eeEqFBevtOkw", "display_value": "Google News"}]` | |
| `link` | `array` | `["Mr-3QnQ5Q-eeEqFBevtOkw"]` | Array of row IDs. |
Comment on lines -168 to +171
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just double-checked this and the format depends on the endpoint (listRowsDeprecated vs listRows).

The new listRows endpoint actually returns an array of objects.

| `link-formula` | `array`, `string` or `integer` | `["Todo 1", "Todo 2"]`, `Open Pending`, `2` | The output depends on the link formula type. Lookup returns an array, rollup returns a string and findmax returns an integer. |
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked all link-formula types and the output differs wildly:

Type /api-gateway /dtable-server
lookup array<string> string (CSV)
countlinks integer string (numeric)
rollup integer string (numeric)
findmax/findmin array<integer> string (numeric)

(tested using 4.4.10 @ stage)

| `digital-sign` | `object` | `{"username": "[email protected]", "sign_image_url": "/digital-signs/2023-06/[email protected]", "sign_time": "2023-06-22T09:42:08.761+00:00"}` | |
| `_id` | `string` | `"Qtf7xPmoRaiFyQPO1aENTjb"` | Unique value inside a base and can not be changed. |
Expand Down