Browse Source

Merge branch 'develop' into fix/import-sanitization

pull/7022/head
աɨռɢӄաօռɢ 1 year ago
parent
commit
103c7c45b7
  1. 2
      README.md
  2. 2
      packages/noco-docs/docs/030.workspaces/040.actions-on-workspace.md
  3. 2
      packages/noco-docs/docs/040.bases/070.actions-on-base.md
  4. 2
      packages/noco-docs/docs/050.tables/060.actions-on-table.md
  5. 12
      packages/noco-docs/docs/070.fields/040.field-types/050.custom-types/010.attachment.md
  6. 2
      packages/noco-docs/docs/070.fields/040.field-types/060.formula/015.operators.md
  7. 16
      packages/noco-docs/docs/070.fields/040.field-types/060.formula/040.date-functions.md
  8. 2
      packages/noco-docs/docs/070.fields/060.actions-on-field.md
  9. 4
      packages/noco-docs/docs/080.records/070.actions-on-record.md
  10. 4
      packages/noco-docs/docs/090.views/040.view-types/030.form.md
  11. 2
      packages/noco-docs/docs/090.views/090.actions-on-view.md
  12. 6
      packages/noco-docs/docs/150.engineering/060.builds-and-releases.md
  13. 7570
      packages/noco-docs/package-lock.json
  14. 20
      packages/noco-docs/package.json
  15. 18
      packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/090.formulas.md
  16. 14
      packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/160.views.md
  17. 6
      packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/200.import-airtable-to-sql-database-within-a-minute-for-free.md
  18. 4
      packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/230.team-and-auth.md
  19. 246
      packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/020.rest-apis.md
  20. 2
      packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/030.sdk.md
  21. 18
      packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/040.webhooks.md
  22. 1
      packages/nocodb/package.json
  23. 10
      packages/nocodb/src/db/BaseModelSqlv2.ts
  24. 4
      packages/nocodb/src/db/conditionV2.ts
  25. 2
      packages/nocodb/src/db/generateLookupSelectQuery.ts
  26. 4
      packages/nocodb/src/db/sortV2.ts
  27. 2
      packages/nocodb/src/helpers/catchError.ts
  28. 4
      packages/nocodb/src/helpers/getAst.ts
  29. 1
      packages/nocodb/src/plugins/backblaze/Backblaze.ts
  30. 1
      packages/nocodb/src/plugins/gcs/Gcs.ts
  31. 1
      packages/nocodb/src/plugins/linode/LinodeObjectStorage.ts
  32. 1
      packages/nocodb/src/plugins/mino/Minio.ts
  33. 1
      packages/nocodb/src/plugins/ovhCloud/OvhCloud.ts
  34. 12
      packages/nocodb/src/plugins/s3/S3.ts
  35. 1
      packages/nocodb/src/plugins/scaleway/ScalewayObjectStorage.ts
  36. 1
      packages/nocodb/src/plugins/spaces/Spaces.ts
  37. 1
      packages/nocodb/src/plugins/upcloud/UpoCloud.ts
  38. 1
      packages/nocodb/src/plugins/vultr/Vultr.ts
  39. 205
      pnpm-lock.yaml

2
README.md

@ -64,7 +64,7 @@ Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart spreadshe
</a>
-->
[![Stargazers repo roster for @nocodb/nocodb](https://reporoster.com/stars/nocodb/nocodb)](https://github.com/nocodb/nocodb/stargazers)
[![Stargazers repo roster for @nocodb/nocodb](http://reporoster.com/stars/nocodb/nocodb)](https://github.com/nocodb/nocodb/stargazers)
# Quick try

2
packages/noco-docs/docs/030.workspaces/040.actions-on-workspace.md

@ -20,7 +20,7 @@ To update the workspace name:
## Delete workspace
If you determine that a workspace is no longer necessary, you have the option to permanently remove it from your settings. Deleting a workspace will delete all the bases and data associated with it.
:::danger
:::info
**This action cannot be undone.**
:::

2
packages/noco-docs/docs/040.bases/070.actions-on-base.md

@ -69,7 +69,7 @@ To duplicate a base, you can follow these straightforward steps:
If you determine that a base is no longer necessary, you have the option to permanently remove it from your workspace. Deleting a base will delete all the tables and data associated with it.
:::danger
:::info
**This action cannot be undone.**
:::

2
packages/noco-docs/docs/050.tables/060.actions-on-table.md

@ -46,7 +46,7 @@ A new table will be generated, mirroring the original table's schema and content
## Delete table
:::danger
:::info
**This action cannot be undone.**
:::

12
packages/noco-docs/docs/070.fields/040.field-types/050.custom-types/010.attachment.md

@ -39,21 +39,21 @@ Expand modal for `Attachment` field displays the list of files uploaded to the f
Expand modal supports the following actions:
### Attach file(s)
- Click on `Attach file(s)` button <1>
- Click on `Attach file(s)` button {"<"}1{">"}
- Choose the file(s) to upload
### Delete file
- Click on `x` icon <2> to the top left of the image card to delete the file
- Click on `x` icon {"<"}2{">"} to the top left of the image card to delete the file
### Download file
- Click on `Download` button <5> to download the file
- Click on `Download` button {"<"}5{">"} to download the file
### Bulk Download file(s)
- Select the files by clicking on the checkbox <3> to the top left of the image card
- Click on `Bulk Download` button <4> to download the selected files
- Select the files by clicking on the checkbox {"<"}3{">"} to the top left of the image card
- Click on `Bulk Download` button {"<"}4{">"} to download the selected files
### Rename file
- Click on `Rename` button <5> to rename the file
- Click on `Rename` button {"<"}5{">"} to rename the file
- Enter the new name in the input field
- Click on `Rename` button to save the new name

2
packages/noco-docs/docs/070.fields/040.field-types/060.formula/015.operators.md

@ -17,7 +17,7 @@ keywords: ['Fields', 'Field types', 'Formula', 'Create formula field', 'Numeric
:::tip
To change the order of arithmetic operation, you can use round bracket parenthesis ().
Example: ({field1} + ({field2} * {field3}) / (3 - $field4$ ))
Example: `({field1} + ({field2} * {field3}) / (3 - {field4} ))`
:::

16
packages/noco-docs/docs/070.fields/040.field-types/060.formula/040.date-functions.md

@ -10,14 +10,14 @@ keywords: ['Fields', 'Field types', 'Formula', 'Date & Time', 'Create formula fi
| Name | Syntax | Sample | Output | Remark |
|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **NOW** | `NOW()` | `NOW()` | 2022-05-19 17:20:43 | Returns the current time and day |
| | `IF(NOW() < {DATE_COL}, "true", "false")` | `IF(NOW() < date, "true", "false")` | If current date is less than {DATE_COL}, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| **DATEADD** | `DATEADD(date \| datetime, value, ["day" \| "week" \| "month" \| "year"])` | `DATEADD(date, 1, 'day')` | Supposing {DATE_COL} is 2022-03-14. The result is 2022-03-15. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'day')` |
| | | `DATEADD(date, 1, 'week')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-03-21 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'week')` |
| | | `DATEADD(date, 1, 'month')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-04-14 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'month')` |
| | | `DATEADD(date, 1, 'year')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2023-03-14 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'year')` |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| **DATETIME_DIFF** | `DATETIME_DIFF(date, date, ["milliseconds" \| "ms" \| "seconds" \| "s" \| "minutes" \| "m" \| "hours" \| "h" \| "days" \| "d" \| "weeks" \| "w" \| "months" \| "M" \| "quarters" \| "Q" \| "years" \| "y"])` | `DATETIME_DIFF("2022/10/14", "2022/10/15", "second")` | Supposing {DATE_COL_1} is 2017-08-25 and {DATE_COL_2} is 2011-08-25. The result is 86400. | Compares two dates and returns the difference in the unit specified. Positive integers indicate the second date being in the past compared to the first and vice versa for negative ones. |
| | `IF(NOW() < {DATE_COL}`, "true", "false")` | `IF(NOW() < date, "true", "false")` | If current date is less than `{DATE_COL}`, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| **DATEADD** | `DATEADD(date \| datetime, value, ["day" \| "week" \| "month" \| "year"])` | `DATEADD(date, 1, 'day')` | Supposing `{DATE_COL}` is 2022-03-14. The result is 2022-03-15. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'day')` |
| | | `DATEADD(date, 1, 'week')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2022-03-21 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'week')` |
| | | `DATEADD(date, 1, 'month')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2022-04-14 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'month')` |
| | | `DATEADD(date, 1, 'year')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2023-03-14 03:14. | DateTime fields and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'year')` |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than `{DATE_COL}` plus 10 days, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than `{DATE_COL}` plus 10 days, it returns true. Otherwise, it returns false. | DateTime fields and negative values are supported. |
| **DATETIME_DIFF** | `DATETIME_DIFF(date, date, ["milliseconds" \| "ms" \| "seconds" \| "s" \| "minutes" \| "m" \| "hours" \| "h" \| "days" \| "d" \| "weeks" \| "w" \| "months" \| "M" \| "quarters" \| "Q" \| "years" \| "y"])` | `DATETIME_DIFF("2022/10/14", "2022/10/15", "second")` | Supposing `{DATE_COL_1}` is 2017-08-25 and `{DATE_COL_2}` is 2011-08-25. The result is 86400. | Compares two dates and returns the difference in the unit specified. Positive integers indicate the second date being in the past compared to the first and vice versa for negative ones. |
| | | `WEEKDAY(NOW(), "sunday")` | If today is Monday, it returns 1 | Get the week day of NOW() with the first day set as sunday |
| **WEEKDAY** | `WEEKDAY(date, [startDayOfWeek])` | `WEEKDAY(NOW())` | If today is Monday, it returns 0 | Returns the day of the week as an integer between 0 and 6 inclusive starting from Monday by default. You can optionally change the start day of the week by specifying in the second argument |
| | | `WEEKDAY(NOW(), "sunday")` | If today is Monday, it returns 1 | Get the week day of NOW() with the first day set as sunday |

2
packages/noco-docs/docs/070.fields/060.actions-on-field.md

@ -83,7 +83,7 @@ New field will be created to the right of the original field.
New field will be created to the left of the original field.
### Delete field
:::danger
:::info
**This action cannot be undone.**
:::

4
packages/noco-docs/docs/080.records/070.actions-on-record.md

@ -54,8 +54,8 @@ On the bulk update modal,
5. Click on the `Bulk Update all` button
6. A confirmation dialog will be displayed. Click on `Confirm` to update the records.
:::danger
This operation cannot be undone.
:::info
**This action cannot be undone.**
:::
![Bulk Update](/img/v2/records/bulk-update-1.png)

4
packages/noco-docs/docs/090.views/040.view-types/030.form.md

@ -28,7 +28,7 @@ Form view builder layout can be divided into 3 sections:
## Form View Operations
### Add Form Title & Description
In the **Form View** area, click on in input boxes provided for **Title** <1> & **Description** <2> to add/update title & description to the form.
In the **Form View** area, click on in input boxes provided for **Title** {"<"}1{">"} & **Description** {"<"}2{">"} to add/update title & description to the form.
![Form Title & Description](/img/v2/views/form-view-title-description.png)
@ -38,7 +38,7 @@ To add a field to the form, either
- Click on the field in the **Fields Area** to add it to the end of the **Form Area**
### Change field label & help-text
To change the field label displayed on the form & add help-text, click on the field in the **Form Area** and update the values in the input boxes provided for **Label** <1> & **Help Text** <2>.
To change the field label displayed on the form & add help-text, click on the field in the **Form Area** and update the values in the input boxes provided for **Label** {"<"}1{">"} & **Help Text** {"<"}2{">"}.
![Field Label & Help Text](/img/v2/views/form-view-field-label-help-text.png)

2
packages/noco-docs/docs/090.views/090.actions-on-view.md

@ -41,7 +41,7 @@ The view context menu provides a set of tools to interact with the view. The vie
## Delete view
:::danger
:::info
**This action cannot be undone.**
:::

6
packages/noco-docs/docs/150.engineering/060.builds-and-releases.md

@ -137,13 +137,13 @@ When a non-draft Pull Request is created, reopened or synchronized, a timely bui
- `packages/nc-plugin/**`
- `packages/nocodb/**`
The docker images will be built and pushed to Docker Hub (See [nocodb/nocodb-timely](https://hub.docker.com/r/nocodb/nocodb-timely/tags) for the full list). Once the image is ready, Github bot will add a comment with the command in the pull request. The tag would be `<NOCODB_CURRENT_VERSION>-pr-<PR_NUMBER>-<YYYYMMDD>-<HHMM>`.
The docker images will be built and pushed to Docker Hub (See [nocodb/nocodb-timely](https://hub.docker.com/r/nocodb/nocodb-timely/tags) for the full list). Once the image is ready, GitHub bot will add a comment with the command in the pull request. The tag would be `<NOCODB_CURRENT_VERSION>-pr-<PR_NUMBER>-<YYYYMMDD>-<HHMM>`.
![image](https://user-images.githubusercontent.com/35857179/175012097-240dab05-da93-4c4e-87c1-1c36fb1350bd.png)
## Executables or Binaries
Similarly, we provide a timely build for executables for non-docker users. The source code will be built, packaged as binary files, and pushed to Github (See [nocodb/nocodb-timely](https://github.com/nocodb/nocodb-timely/releases) for the full list).
Similarly, we provide a timely build for executables for non-docker users. The source code will be built, packaged as binary files, and pushed to GitHub (See [nocodb/nocodb-timely](https://github.com/nocodb/nocodb-timely/releases) for the full list).
Currently, we only support the following targets:
@ -154,7 +154,7 @@ Currently, we only support the following targets:
- `node16-macos-x64`
- `node16-win-x64`
Once the executables are ready, Github bot will add a comment with the commands in the pull request.
Once the executables are ready, GitHub bot will add a comment with the commands in the pull request.
![image](https://user-images.githubusercontent.com/35857179/175012070-f5f3e7b8-6dc5-4d1c-9f7e-654bc5039521.png)

7570
packages/noco-docs/package-lock.json generated

File diff suppressed because it is too large Load Diff

20
packages/noco-docs/package.json

@ -28,24 +28,24 @@
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "2.4.1",
"@docusaurus/plugin-client-redirects": "2.4.1",
"@docusaurus/plugin-ideal-image": "2.4.1",
"@docusaurus/plugin-sitemap": "2.4.1",
"@docusaurus/preset-classic": "2.4.1",
"@mdx-js/react": "^1.6.22",
"@docusaurus/core": "3.0.0",
"@docusaurus/plugin-client-redirects": "3.0.0",
"@docusaurus/plugin-ideal-image": "3.0.0",
"@docusaurus/plugin-sitemap": "3.0.0",
"@docusaurus/preset-classic": "3.0.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^1.2.1",
"docusaurus-plugin-sass": "^0.2.5",
"docusaurus-theme-search-typesense": "^0.12.0-0",
"docusaurus-theme-search-typesense": "^0.14.0",
"nc-analytics": "^0.0.4",
"plugin-image-zoom": "github:flexanalytics/plugin-image-zoom",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"sass": "^1.66.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.4.1",
"@docusaurus/module-type-aliases": "3.0.0",
"@tsconfig/docusaurus": "^1.0.5",
"typescript": "^4.7.4"
},

18
packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/090.formulas.md vendored

@ -62,7 +62,7 @@ Unlike other column types, formula cells cannot be modified by double-clicking s
:::tip
To change the order of arithmetic operation, you can use round bracket parantheses (). <br/>
Example: ({Column1} + ({Column2} * {Column3}) / (3 - $Column4$ ))
Example: `({Column1} + ({Column2} * {Column3}) / (3 - $Column4$ ))`
:::
@ -89,14 +89,14 @@ Example: ({Column1} + ({Column2} * {Column3}) / (3 - $Column4$ ))
| Name | Syntax | Sample | Output | Remark |
|---|---|---|---|---|
| **NOW** | `NOW()` | `NOW()` | 2022-05-19 17:20:43 | Returns the current time and day |
| | `IF(NOW() < {DATE_COL}, "true", "false")` | `IF(NOW() < date, "true", "false")` | If current date is less than {DATE_COL}, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| **DATEADD** | `DATEADD(date \| datetime, value, ["day" \| "week" \| "month" \| "year"])` | `DATEADD(date, 1, 'day')` | Supposing {DATE_COL} is 2022-03-14. The result is 2022-03-15. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'day')` |
| | | `DATEADD(date, 1, 'week')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-03-21 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'week')` |
| | | `DATEADD(date, 1, 'month')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-04-14 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'month')` |
| | | `DATEADD(date, 1, 'year')` | Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2023-03-14 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'year')` |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| **DATETIME_DIFF** | `DATETIME_DIFF(date, date, ["milliseconds" \| "ms" \| "seconds" \| "s" \| "minutes" \| "m" \| "hours" \| "h" \| "days" \| "d" \| "weeks" \| "w" \| "months" \| "M" \| "quarters" \| "Q" \| "years" \| "y"])` | `DATETIME_DIFF("2022/10/14", "2022/10/15", "second")` | Supposing {DATE_COL_1} is 2017-08-25 and {DATE_COL_2} is 2011-08-25. The result is 86400. | Compares two dates and returns the difference in the unit specified. Positive integers indicate the second date being in the past compared to the first and vice versa for negative ones. |
| | `IF(NOW() < {DATE_COL}, "true", "false")` | `IF(NOW() < date, "true", "false")` | If current date is less than `{DATE_COL}`, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| **DATEADD** | `DATEADD(date \| datetime, value, ["day" \| "week" \| "month" \| "year"])` | `DATEADD(date, 1, 'day')` | Supposing `{DATE_COL}` is 2022-03-14. The result is 2022-03-15. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'day')` |
| | | `DATEADD(date, 1, 'week')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2022-03-21 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'week')` |
| | | `DATEADD(date, 1, 'month')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2022-04-14 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'month')` |
| | | `DATEADD(date, 1, 'year')` | Supposing `{DATE_COL}` is 2022-03-14 03:14. The result is 2023-03-14 03:14. | DateTime columns and negative values are supported. Example: `DATEADD(DATE_TIME_COL, -1, 'year')` |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than `{DATE_COL}` plus 10 days, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| | | `IF(NOW() < DATEADD(date,10,'day'), "true", "false")` | If the current date is less than `{DATE_COL}` plus 10 days, it returns true. Otherwise, it returns false. | DateTime columns and negative values are supported. |
| **DATETIME_DIFF** | `DATETIME_DIFF(date, date, ["milliseconds" \| "ms" \| "seconds" \| "s" \| "minutes" \| "m" \| "hours" \| "h" \| "days" \| "d" \| "weeks" \| "w" \| "months" \| "M" \| "quarters" \| "Q" \| "years" \| "y"])` | `DATETIME_DIFF("2022/10/14", "2022/10/15", "second")` | Supposing `{DATE_COL_1}` is 2017-08-25 and `{DATE_COL_2}` is 2011-08-25. The result is 86400. | Compares two dates and returns the difference in the unit specified. Positive integers indicate the second date being in the past compared to the first and vice versa for negative ones. |
| | | `WEEKDAY(NOW(), "sunday")` | If today is Monday, it returns 1 | Get the week day of NOW() with the first day set as sunday |
| **WEEKDAY** | `WEEKDAY(date, [startDayOfWeek])` | `WEEKDAY(NOW())` | If today is Monday, it returns 0 | Returns the day of the week as an integer between 0 and 6 inclusive starting from Monday by default. You can optionally change the start day of the week by specifying in the second argument |
| | | `WEEKDAY(NOW(), "sunday")` | If today is Monday, it returns 1 | Get the week day of NOW() with the first day set as sunday |

14
packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/160.views.md vendored

@ -12,10 +12,10 @@ To navigate different views, we can select the target one in the view sidebar. B
## View Menu Bar
To work with `Views`, use View menu-bar on the right hand side -
- <1> Toggle View menu-bar.
- <2> Displays created view-list for the selected table
- {"<"}1{">"} Toggle View menu-bar.
- {"<"}2{">"} Displays created view-list for the selected table
- Currently active view is high-lighted
- <3> Add new view to the list
- {"<"}3{">"} Add new view to the list
![image](https://user-images.githubusercontent.com/35857179/194814369-53fa8875-7610-4849-9a91-f94096b15b3f.png)
@ -77,7 +77,7 @@ We can apply permission to each View. By default, Collaborative Views will be us
### Create a View
Click '+' in View-menu sidebar, as shown in <3>.
Click '+' in View-menu sidebar, as shown in {"<"}3{">"}.
### Rename a View
@ -87,7 +87,7 @@ Double click on `view-name`, edit, <enter />.
### Delete a View
Hover the target View and click the delete icon, as shown in <2>.
Hover the target View and click the delete icon, as shown in {"<"}2{">"}.
:::note
@ -99,12 +99,12 @@ You cannot delete the very first Grid View (termed as `Default view`).
### Duplicate a View
Hover the target View and click the copy icon, as shown in <2>.
Hover the target View and click the copy icon, as shown in {"<"}2{">"}.
<!-- ![image](https://user-images.githubusercontent.com/35857179/163353865-7275499e-c685-44f4-906c-ba08f0ee419e.png) -->
### Reorder a View
Hover the target View and re-order it as needed by drag-drop the drag icon, as shown in <1>.
Hover the target View and re-order it as needed by drag-drop the drag icon, as shown in {"<"}1{">"}.
<!-- ![image](https://user-images.githubusercontent.com/35857179/163359674-c4aeff74-1cb4-498d-b79c-c6ddf84ad352.png) -->

6
packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/200.import-airtable-to-sql-database-within-a-minute-for-free.md vendored

@ -58,9 +58,9 @@ Below are 3 simple steps
<!-- ![image](https://user-images.githubusercontent.com/35857179/168773192-f3ef9d36-3329-4324-ae25-989b611f66bf.png) -->
2. Input API key & Shared Base ID / URL (retrieved from `Get Airtable Credentials` above).
- <1> API Key
- <2> Share Base ID
- <3> Configuration option
- {"<"}1{">"} API Key
- {"<"}2{">"} Share Base ID
- {"<"}3{">"} Configuration option
- Import Data: disable this option to import only table & view schema's
- Import Secondary Views: disable this option to import only primary grid view per table
- Import Rollup Columns: disable this option to skip Rollup column import

4
packages/noco-docs/versioned_docs/version-0.109.7/030.setup-and-usages/230.team-and-auth.md vendored

@ -36,8 +36,8 @@ If you do not have an SMTP sender configured, make sure to copy the invite link
### How to Update user permissions
1. Use `Edit` <1> menu to assign a different role to existing user
2. Use `Delete` <2> menu to remove a user from accessing current project
1. Use `Edit` {"<"}1{">"} menu to assign a different role to existing user
2. Use `Delete` {"<"}2{">"} menu to remove a user from accessing current project
![image](https://user-images.githubusercontent.com/35857179/219830858-be7a4656-9f3b-440c-9a79-165f919223d7.png)

246
packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/020.rest-apis.md vendored

@ -13,7 +13,7 @@ You may also interact with the API's resources via <a href="/0.109.7/developer-r
:::note
Currently, the default value for {orgs} is <b>noco</b>. Users will be able to change it in the future release.
Currently, the default value for `{orgs}` is <b>noco</b>. Users will be able to change it in the future release.
:::
@ -26,145 +26,145 @@ Currently, the default value for {orgs} is <b>noco</b>. Users will be able to ch
| Auth | Get | auth | me | /api/v1/auth/user/me |
| Auth | Post | auth | passwordForgot | /api/v1/auth/password/forgot |
| Auth | Post | auth | passwordChange | /api/v1/auth/password/change |
| Auth | Post | auth | passwordReset | /api/v1/auth/password/reset/{token} |
| Auth | Post | auth | passwordReset | /api/v1/auth/password/reset/`{token}` |
| Auth | Post | auth | tokenRefresh | /api/v1/auth/token/refresh |
| Auth | Post | auth | passwordResetTokenValidate | /api/v1/auth/token/validate/{token} |
| Auth | Post | auth | emailValidate | /api/v1/auth/email/validate/{email} |
| Auth | Post | auth | passwordResetTokenValidate | /api/v1/auth/token/validate/`{token}` |
| Auth | Post | auth | emailValidate | /api/v1/auth/email/validate/`{email}` |
### Public APIs
| Category | Method | Tag | Function Name | Path |
|---|---|---|---|---|
| Public | Get | public | sharedBaseGet | /api/v1/db/public/shared-base/{sharedBaseUuid}/meta |
| Public | Post | public | dataList | /api/v1/db/public/shared-view/{sharedViewUuid}/rows |
| Public | Get | public | dataNestedList | /api/v1/db/public/shared-view/{sharedViewUuid}/rows/{rowId}/{relationType}/{columnName} |
| Public | Post | public | dataCreate | /api/v1/db/public/shared-view/{sharedViewUuid}/rows |
| Public | Get | public | csvExport | /api/v1/db/public/shared-view/{sharedViewUuid}/rows/export/{type} |
| Public | Get | public | dataRelationList | /api/v1/db/public/shared-view/{sharedViewUuid}/nested/{columnName} |
| Public | Get | public | sharedViewMetaGet | /api/v1/db/public/shared-view/{sharedViewUuid}/meta |
| Public | Get | public | groupedDataList | /api/v1/db/public/shared-view/{sharedViewUuid}/group/{columnId} |
| Public | Get | public | sharedBaseGet | /api/v1/db/public/shared-base/`{sharedBaseUuid}`/meta |
| Public | Post | public | dataList | /api/v1/db/public/shared-view/`{sharedViewUuid}`/rows |
| Public | Get | public | dataNestedList | /api/v1/db/public/shared-view/`{sharedViewUuid}`/rows/`{rowId}`/`{relationType}`/`{columnName}` |
| Public | Post | public | dataCreate | /api/v1/db/public/shared-view/`{sharedViewUuid}`/rows |
| Public | Get | public | csvExport | /api/v1/db/public/shared-view/`{sharedViewUuid}`/rows/export/`{type}` |
| Public | Get | public | dataRelationList | /api/v1/db/public/shared-view/`{sharedViewUuid}`/nested/`{columnName}` |
| Public | Get | public | sharedViewMetaGet | /api/v1/db/public/shared-view/`{sharedViewUuid}`/meta |
| Public | Get | public | groupedDataList | /api/v1/db/public/shared-view/`{sharedViewUuid}`/group/`{columnId}` |
### Data APIs
| Category | Method | Tag | Function Name | Path |
|---|---|---|---|---|
| Data | Delete| dbTableRow | bulkDelete | /api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/ |
| Data | Post | dbTableRow | bulkCreate | /api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/ |
| Data | Patch | dbTableRow | bulkUpdate | /api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/ |
| Data | Patch | dbTableRow | bulkUpdateAll | /api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/all |
| Data | Delete| dbTableRow | bulkDeleteAll | /api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/all |
| Data | Get | dbTableRow | list | /api/v1/db/data/{orgs}/{projectName}/{tableName} |
| Data | Get | dbTableRow | findOne | /api/v1/db/data/{orgs}/{projectName}/{tableName}/find-one |
| Data | Get | dbTableRow | groupBy | /api/v1/db/data/{orgs}/{projectName}/{tableName}/groupby |
| Data | Get | dbTableRow | exist | /api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId}/exist |
| Data | Post | dbTableRow | create | /api/v1/db/data/{orgs}/{projectName}/{tableName} |
| Data | Get | dbTableRow | read | /api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId} |
| Data | Patch | dbTableRow | update | /api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId} |
| Data | Delete| dbTableRow | delete | /api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId} |
| Data | Get | dbTableRow | count | /api/v1/db/data/{orgs}/{projectName}/{tableName}/count |
| Data | Get | dbTableRow | groupedDataList | /api/v1/db/data/{orgs}/{projectName}/{tableName}/group/{columnId} |
| Data | Get | dbViewRow | list | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName} |
| Data | Get | dbViewRow | findOne | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/find-one |
| Data | Get | dbViewRow | groupBy | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/groupby |
| Data | Get | dbViewRow | exist | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId}/exist |
| Data | Post | dbViewRow | create | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName} |
| Data | Get | dbViewRow | read | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId} |
| Data | Patch | dbViewRow | update | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId} |
| Data | Delete| dbViewRow | delete | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId} |
| Data | Get | dbViewRow | count | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/count |
| Data | Get | dbViewRow | groupedDataList | /api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/group/{columnId} |
| Data | Delete| dbTableRow | bulkDelete | /api/v1/db/data/bulk/`{orgs}`/`{projectName}`/`{tableName}`/ |
| Data | Post | dbTableRow | bulkCreate | /api/v1/db/data/bulk/`{orgs}`/`{projectName}`/`{tableName}`/ |
| Data | Patch | dbTableRow | bulkUpdate | /api/v1/db/data/bulk/`{orgs}`/`{projectName}`/`{tableName}`/ |
| Data | Patch | dbTableRow | bulkUpdateAll | /api/v1/db/data/bulk/`{orgs}`/`{projectName}`/`{tableName}`/all |
| Data | Delete| dbTableRow | bulkDeleteAll | /api/v1/db/data/bulk/`{orgs}`/`{projectName}`/`{tableName}`/all |
| Data | Get | dbTableRow | list | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}` |
| Data | Get | dbTableRow | findOne | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/find-one |
| Data | Get | dbTableRow | groupBy | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/groupby |
| Data | Get | dbTableRow | exist | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/`{rowId}`/exist |
| Data | Post | dbTableRow | create | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}` |
| Data | Get | dbTableRow | read | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/`{rowId}` |
| Data | Patch | dbTableRow | update | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/`{rowId}` |
| Data | Delete| dbTableRow | delete | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/`{rowId}` |
| Data | Get | dbTableRow | count | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/count |
| Data | Get | dbTableRow | groupedDataList | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/group/`{columnId}` |
| Data | Get | dbViewRow | list | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}` |
| Data | Get | dbViewRow | findOne | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/find-one |
| Data | Get | dbViewRow | groupBy | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/groupby |
| Data | Get | dbViewRow | exist | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/`{rowId}`/exist |
| Data | Post | dbViewRow | create | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}` |
| Data | Get | dbViewRow | read | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/`{rowId}` |
| Data | Patch | dbViewRow | update | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/`{rowId}` |
| Data | Delete| dbViewRow | delete | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/`{rowId}` |
| Data | Get | dbViewRow | count | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/count |
| Data | Get | dbViewRow | groupedDataList | /api/v1/db/data/`{orgs}`/`{projectName}`/`{tableName}`/views/`{viewName}`/group/`{columnId}` |
### Meta APIs
| Category | Method | Tag | Function Name | Path |
|---|---|---|---|---|
| Meta | Get | apiToken | list | /api/v1/db/meta/projects/{projectId}/api-tokens |
| Meta | Post | apiToken | create | /api/v1/db/meta/projects/{projectId}/api-tokens |
| Meta | Delete| apiToken | delete | /api/v1/db/meta/projects/{projectId}/api-tokens/{token} |
| Meta | Get | auth | projectUserList | /api/v1/db/meta/projects/{projectId}/users |
| Meta | Post | auth | projectUserAdd | /api/v1/db/meta/projects/{projectId}/users |
| Meta | Patch | auth | projectUserUpdate | /api/v1/db/meta/projects/{projectId}/users/{userId} |
| Meta | Delete| auth | projectUserRemove | /api/v1/db/meta/projects/{projectId}/users/{userId} |
| Meta | Post | auth | projectUserResendInvite | /api/v1/db/meta/projects/{projectId}/users/{userId}/resend-invite |
| Meta | Post | dbTable | create | /api/v1/db/meta/projects/{projectId}/tables |
| Meta | Get | dbTable | list | /api/v1/db/meta/projects/{projectId}/tables |
| Meta | Post | dbTableColumn | create | /api/v1/db/meta/tables/{tableId}/columns |
| Meta | Patch | dbTableColumn | update | /api/v1/db/meta/tables/{tableId}/columns/{columnId} |
| Meta | Delete| dbTableColumn | delete | /api/v1/db/meta/tables/{tableId}/columns/{columnId} |
| Meta | Post | dbTableColumn | primaryColumnSet | /api/v1/db/meta/tables/{tableId}/columns/{columnId}/primary |
| Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/{filterId} |
| Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/{filterId} |
| Meta | Delete| dbTableFilter | delete | /api/v1/db/meta/filters/{filterId} |
| Meta | Get | dbTableFilter | read | /api/v1/db/meta/views/{viewId}/filters |
| Meta | Post | dbTableFilter | create | /api/v1/db/meta/views/{viewId}/filters |
| Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/{filterId} |
| Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/{filterId} |
| Meta | Delete| dbTableFilter | delete | /api/v1/db/meta/filters/{filterId} |
| Meta | Get | dbTableFilter | childrenRead | /api/v1/db/meta/filters/{filterGroupId}/children |
| Meta | Get | dbTableSort | list | /api/v1/db/meta/views/{viewId}/sorts |
| Meta | Post | dbTableSort | create | /api/v1/db/meta/views/{viewId}/sorts |
| Meta | Get | dbTableSort | read | /api/v1/db/meta/sorts/{sortId} |
| Meta | Patch | dbTableSort | update | /api/v1/db/meta/sorts/{sortId} |
| Meta | Delete| dbTableSort | delete | /api/v1/db/meta/sorts/{sortId}/api/v1/db |
| Meta | Patch | dbTableWebhook | update | /api/v1/db/meta/hooks/{hookId} |
| Meta | Delete| dbTableWebhook | delete | /api/v1/db/meta/hooks/{hookId} |
| Meta | Get | dbTableWebhook | list | /api/v1/db/meta/tables/{tableId}/hooks |
| Meta | Post | dbTableWebhook | create | /api/v1/db/meta/tables/{tableId}/hooks |
| Meta | Post | dbTableWebhook | test | /api/v1/db/meta/tables/{tableId}/hooks/test |
| Meta | Get | dbTableWebhook | samplePayloadGet | /api/v1/db/meta/tables/{tableId}/hooks/samplePayload/{operation} |
| Meta | Get | dbTableWebhookFilter | read | /api/v1/db/meta/hooks/{hookId}/filters |
| Meta | Post | dbTableWebhookFilter | create | /api/v1/db/meta/hooks/{hookId}/filters |
| Meta | Get | dbView | list | /api/v1/db/meta/tables/{tableId}/views |
| Meta | Get | dbView | read | /api/v1/db/meta/tables/{tableId} |
| Meta | Patch | dbView | update | /api/v1/db/meta/tables/{tableId} |
| Meta | Delete| dbView | delete | /api/v1/db/meta/tables/{tableId} |
| Meta | Post | dbView | reorder | /api/v1/db/meta/tables/{tableId}/reorder |
| Meta | Post | dbView | formCreate | /api/v1/db/meta/tables/{tableId}/forms |
| Meta | Patch | dbView | formUpdate | /api/v1/db/meta/forms/{formViewId} |
| Meta | Get | dbView | formRead | /api/v1/db/meta/forms/{formViewId} |
| Meta | Patch | dbView | formColumnUpdate | /api/v1/db/meta/form-columns/{formViewColumnId} |
| Meta | Post | dbView | galleryCreate | /api/v1/db/meta/tables/{tableId}/galleries |
| Meta | Patch | dbView | galleryUpdate | /api/v1/db/meta/galleries/{galleryViewId} |
| Meta | Get | dbView | galleryRead | /api/v1/db/meta/galleries/{galleryViewId} |
| Meta | Post | dbView | kanbanCreate | /api/v1/db/meta/tables/{tableId}/kanbans |
| Meta | Patch | dbView | kanbanUpdate | /api/v1/db/meta/kanban/{kanbanViewId} |
| Meta | Get | dbView | kanbanRead | /api/v1/db/meta/kanbans/{kanbanViewId} |
| Meta | Post | dbView | mapCreate | /api/v1/db/meta/tables/{tableId}/maps |
| Meta | Patch | dbView | mapUpdate | /api/v1/db/meta/maps/{mapViewId} |
| Meta | Get | dbView | mapRead | /api/v1/db/meta/maps/{mapViewId} |
| Meta | Post | dbView | gridCreate | /api/v1/db/meta/tables/{tableId}/grids |
| Meta | Get | dbView | gridColumnsList | /api/v1/db/meta/grids/{gridId}/grid-columns |
| Meta | Patch | dbView | gridColumnUpdate | /api/v1/db/meta/grid-columns/{columnId} |
| Meta | Patch | dbView | update | /api/v1/db/meta/views/{viewId} |
| Meta | Delete| dbView | delete | /api/v1/db/meta/views/{viewId} |
| Meta | Post | dbView | showAllColumn | /api/v1/db/meta/views/{viewId}/show-all |
| Meta | Post | dbView | hideAllColumn | /api/v1/db/meta/views/{viewId}/hide-all |
| Meta | Get | dbViewColumn | list | /api/v1/db/meta/views/{viewId}/columns |
| Meta | Post | dbViewColumn | create | /api/v1/db/meta/views/{viewId}/columns |
| Meta | Patch | dbViewColumn | update | /api/v1/db/meta/views/{viewId}/columns/{columnId} |
| Meta | Get | dbViewShare | list | /api/v1/db/meta/views/{viewId}/share |
| Meta | Post | dbViewShare | create | /api/v1/db/meta/views/{viewId}/share |
| Meta | Patch | dbViewShare | update | /api/v1/db/meta/views/{viewId}/share |
| Meta | Delete| dbViewShare | delete | /api/v1/db/meta/views/{viewId}/share |
| Meta | Get | apiToken | list | /api/v1/db/meta/projects/`{projectId}`/api-tokens |
| Meta | Post | apiToken | create | /api/v1/db/meta/projects/`{projectId}`/api-tokens |
| Meta | Delete| apiToken | delete | /api/v1/db/meta/projects/`{projectId}`/api-tokens/`{token}` |
| Meta | Get | auth | projectUserList | /api/v1/db/meta/projects/`{projectId}`/users |
| Meta | Post | auth | projectUserAdd | /api/v1/db/meta/projects/`{projectId}`/users |
| Meta | Patch | auth | projectUserUpdate | /api/v1/db/meta/projects/`{projectId}`/users/`{userId}` |
| Meta | Delete| auth | projectUserRemove | /api/v1/db/meta/projects/`{projectId}`/users/`{userId}` |
| Meta | Post | auth | projectUserResendInvite | /api/v1/db/meta/projects/`{projectId}`/users/`{userId}`/resend-invite |
| Meta | Post | dbTable | create | /api/v1/db/meta/projects/`{projectId}`/tables |
| Meta | Get | dbTable | list | /api/v1/db/meta/projects/`{projectId}`/tables |
| Meta | Post | dbTableColumn | create | /api/v1/db/meta/tables/`{tableId}`/columns |
| Meta | Patch | dbTableColumn | update | /api/v1/db/meta/tables/`{tableId}`/columns/`{columnId}` |
| Meta | Delete| dbTableColumn | delete | /api/v1/db/meta/tables/`{tableId}`/columns/`{columnId}` |
| Meta | Post | dbTableColumn | primaryColumnSet | /api/v1/db/meta/tables/`{tableId}`/columns/`{columnId}`/primary |
| Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Delete| dbTableFilter | delete | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Get | dbTableFilter | read | /api/v1/db/meta/views/`{viewId}`/filters |
| Meta | Post | dbTableFilter | create | /api/v1/db/meta/views/`{viewId}`/filters |
| Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Delete| dbTableFilter | delete | /api/v1/db/meta/filters/`{filterId}` |
| Meta | Get | dbTableFilter | childrenRead | /api/v1/db/meta/filters/`{filterGroupId}`/children |
| Meta | Get | dbTableSort | list | /api/v1/db/meta/views/`{viewId}`/sorts |
| Meta | Post | dbTableSort | create | /api/v1/db/meta/views/`{viewId}`/sorts |
| Meta | Get | dbTableSort | read | /api/v1/db/meta/sorts/`{sortId}` |
| Meta | Patch | dbTableSort | update | /api/v1/db/meta/sorts/`{sortId}` |
| Meta | Delete| dbTableSort | delete | /api/v1/db/meta/sorts/`{sortId}`/api/v1/db |
| Meta | Patch | dbTableWebhook | update | /api/v1/db/meta/hooks/`{hookId}` |
| Meta | Delete| dbTableWebhook | delete | /api/v1/db/meta/hooks/`{hookId}` |
| Meta | Get | dbTableWebhook | list | /api/v1/db/meta/tables/`{tableId}`/hooks |
| Meta | Post | dbTableWebhook | create | /api/v1/db/meta/tables/`{tableId}`/hooks |
| Meta | Post | dbTableWebhook | test | /api/v1/db/meta/tables/`{tableId}`/hooks/test |
| Meta | Get | dbTableWebhook | samplePayloadGet | /api/v1/db/meta/tables/`{tableId}`/hooks/samplePayload/`{operation}` |
| Meta | Get | dbTableWebhookFilter | read | /api/v1/db/meta/hooks/`{hookId}`/filters |
| Meta | Post | dbTableWebhookFilter | create | /api/v1/db/meta/hooks/`{hookId}`/filters |
| Meta | Get | dbView | list | /api/v1/db/meta/tables/`{tableId}`/views |
| Meta | Get | dbView | read | /api/v1/db/meta/tables/`{tableId}` |
| Meta | Patch | dbView | update | /api/v1/db/meta/tables/`{tableId}` |
| Meta | Delete| dbView | delete | /api/v1/db/meta/tables/`{tableId}` |
| Meta | Post | dbView | reorder | /api/v1/db/meta/tables/`{tableId}`/reorder |
| Meta | Post | dbView | formCreate | /api/v1/db/meta/tables/`{tableId}`/forms |
| Meta | Patch | dbView | formUpdate | /api/v1/db/meta/forms/`{formViewId}` |
| Meta | Get | dbView | formRead | /api/v1/db/meta/forms/`{formViewId}` |
| Meta | Patch | dbView | formColumnUpdate | /api/v1/db/meta/form-columns/`{formViewColumnId}` |
| Meta | Post | dbView | galleryCreate | /api/v1/db/meta/tables/`{tableId}`/galleries |
| Meta | Patch | dbView | galleryUpdate | /api/v1/db/meta/galleries/`{galleryViewId}` |
| Meta | Get | dbView | galleryRead | /api/v1/db/meta/galleries/`{galleryViewId}` |
| Meta | Post | dbView | kanbanCreate | /api/v1/db/meta/tables/`{tableId}`/kanbans |
| Meta | Patch | dbView | kanbanUpdate | /api/v1/db/meta/kanban/`{kanbanViewId}` |
| Meta | Get | dbView | kanbanRead | /api/v1/db/meta/kanbans/`{kanbanViewId}` |
| Meta | Post | dbView | mapCreate | /api/v1/db/meta/tables/`{tableId}`/maps |
| Meta | Patch | dbView | mapUpdate | /api/v1/db/meta/maps/`{mapViewId}` |
| Meta | Get | dbView | mapRead | /api/v1/db/meta/maps/`{mapViewId}` |
| Meta | Post | dbView | gridCreate | /api/v1/db/meta/tables/`{tableId}`/grids |
| Meta | Get | dbView | gridColumnsList | /api/v1/db/meta/grids/`{gridId}`/grid-columns |
| Meta | Patch | dbView | gridColumnUpdate | /api/v1/db/meta/grid-columns/`{columnId}` |
| Meta | Patch | dbView | update | /api/v1/db/meta/views/`{viewId}` |
| Meta | Delete| dbView | delete | /api/v1/db/meta/views/`{viewId}` |
| Meta | Post | dbView | showAllColumn | /api/v1/db/meta/views/`{viewId}`/show-all |
| Meta | Post | dbView | hideAllColumn | /api/v1/db/meta/views/`{viewId}`/hide-all |
| Meta | Get | dbViewColumn | list | /api/v1/db/meta/views/`{viewId}`/columns |
| Meta | Post | dbViewColumn | create | /api/v1/db/meta/views/`{viewId}`/columns |
| Meta | Patch | dbViewColumn | update | /api/v1/db/meta/views/`{viewId}`/columns/`{columnId}` |
| Meta | Get | dbViewShare | list | /api/v1/db/meta/views/`{viewId}`/share |
| Meta | Post | dbViewShare | create | /api/v1/db/meta/views/`{viewId}`/share |
| Meta | Patch | dbViewShare | update | /api/v1/db/meta/views/`{viewId}`/share |
| Meta | Delete| dbViewShare | delete | /api/v1/db/meta/views/`{viewId}`/share |
| Meta | Get | plugin | list | /api/v1/db/meta/plugins |
| Meta | Get | plugin | status | /api/v1/db/meta/plugins/{pluginTitle}/status |
| Meta | Get | plugin | status | /api/v1/db/meta/plugins/`{pluginTitle}`/status |
| Meta | Post | plugin | test | /api/v1/db/meta/plugins/test |
| Meta | PATCH | plugin | update | /api/v1/db/meta/plugins/{pluginId} |
| Meta | Get | plugin | read | /api/v1/db/meta/plugins/{pluginId} |
| Meta | Get | project | metaGet | /api/v1/db/meta/projects/{projectId}/info |
| Meta | Get | project | modelVisibilityList | /api/v1/db/meta/projects/{projectId}/visibility-rules |
| Meta | Post | project | modelVisibilitySet | /api/v1/db/meta/projects/{projectId}/visibility-rules |
| Meta | PATCH | plugin | update | /api/v1/db/meta/plugins/`{pluginId}` |
| Meta | Get | plugin | read | /api/v1/db/meta/plugins/`{pluginId}` |
| Meta | Get | project | metaGet | /api/v1/db/meta/projects/`{projectId}`/info |
| Meta | Get | project | modelVisibilityList | /api/v1/db/meta/projects/`{projectId}`/visibility-rules |
| Meta | Post | project | modelVisibilitySet | /api/v1/db/meta/projects/`{projectId}`/visibility-rules |
| Meta | Get | project | list | /api/v1/db/meta/projects |
| Meta | Post | project | create | /api/v1/db/meta/projects |
| Meta | Get | project | read | /api/v1/db/meta/projects/{projectId} |
| Meta | Delete| project | delete | /api/v1/db/meta/projects/{projectId} |
| Meta | Get | project | auditList | /api/v1/db/meta/projects/{projectId}/audits |
| Meta | Get | project | metaDiffGet | /api/v1/db/meta/projects/{projectId}/meta-diff |
| Meta | Post | project | metaDiffSync | /api/v1/db/meta/projects/{projectId}/meta-diff |
| Meta | Get | project | sharedBaseGet | /api/v1/db/meta/projects/{projectId}/shared |
| Meta | Delete| project | sharedBaseDisable | /api/v1/db/meta/projects/{projectId}/shared |
| Meta | Post | project | sharedBaseCreate | /api/v1/db/meta/projects/{projectId}/shared |
| Meta | Patch | project | sharedBaseUpdate | /api/v1/db/meta/projects/{projectId}/shared |
| Meta | Get | project | read | /api/v1/db/meta/projects/`{projectId}` |
| Meta | Delete| project | delete | /api/v1/db/meta/projects/`{projectId}` |
| Meta | Get | project | auditList | /api/v1/db/meta/projects/`{projectId}`/audits |
| Meta | Get | project | metaDiffGet | /api/v1/db/meta/projects/`{projectId}`/meta-diff |
| Meta | Post | project | metaDiffSync | /api/v1/db/meta/projects/`{projectId}`/meta-diff |
| Meta | Get | project | sharedBaseGet | /api/v1/db/meta/projects/`{projectId}`/shared |
| Meta | Delete| project | sharedBaseDisable | /api/v1/db/meta/projects/`{projectId}`/shared |
| Meta | Post | project | sharedBaseCreate | /api/v1/db/meta/projects/`{projectId}`/shared |
| Meta | Patch | project | sharedBaseUpdate | /api/v1/db/meta/projects/`{projectId}`/shared |
| Meta | Post | storage | upload | /api/v1/db/storage/upload |
| Meta | Post | storage | uploadByUrl | /api/v1/db/storage/upload-by-url |
| Meta | Get | utils | commentList | /api/v1/db/meta/audits/comments |
@ -180,11 +180,11 @@ Currently, the default value for {orgs} is <b>noco</b>. Users will be able to ch
| Meta | Get | utils | aggregatedMetaInfo | /api/v1/aggregated-meta-info |
| Meta | Get | orgUsers | list | /api/v1/users |
| Meta | Post | orgUsers | add | /api/v1/users |
| Meta | Patch | orgUsers | update | /api/v1/users/{userId} |
| Meta | Delete | orgUsers | delete | /api/v1/users/{userId} |
| Meta | Patch | orgUsers | update | /api/v1/users/`{userId}` |
| Meta | Delete | orgUsers | delete | /api/v1/users/`{userId}` |
| Meta | Get | orgTokens | list | /api/v1/tokens |
| Meta | Post | orgTokens | create | /api/v1/tokens |
| Meta | Delete | orgTokens | delete | /api/v1/tokens/{token} |
| Meta | Delete | orgTokens | delete | /api/v1/tokens/`{token}` |
| Meta | Get | orgAppSettings | get | /api/v1/app-settings |
| Meta | Post | orgAppSettings | set | /api/v1/app-settings |

2
packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/030.sdk.md vendored

@ -61,7 +61,7 @@ For Tag and FunctionName, please check out the API table <a href="/0.109.7/devel
:::
#### Example: Calling API - /api/v1/db/meta/projects/{projectId}/tables
#### Example: Calling API - /api/v1/db/meta/projects/`{projectId}`/tables
```js
await api.dbTable.create(params)

18
packages/noco-docs/versioned_docs/version-0.109.7/040.developer-resources/040.webhooks.md vendored

@ -84,17 +84,17 @@ The current row data and other details will be available in the hooks payload so
For a table with column names (id, title, created_at, updated_at).
For INSERT/ UPDATE based triggers, use following handlebars to access corresponding **data** fields.
- {{ **data**.id }}
- {{ **data**.title }}
- {{ **data**.created_at }}
- {{ **data**.updated_at }}
- `{{ **data**.id }}`
- `{{ **data**.title }}`
- `{{ **data**.created_at }}`
- `{{ **data**.updated_at }}`
Note that, for Update trigger - all the fields in the ROW will be accessible, not just the field updated.
For DELETE based triggers, **only** {{ data.id }} is accessible representing ID of the column deleted.
For DELETE based triggers, **only** `{{ data.id }}` is accessible representing ID of the column deleted.
### JSON format
Use {{ json data }} to dump complete data & user information available in JSON format
Use `{{ json data }}` to dump complete data & user information available in JSON format
### Additional references:
@ -148,7 +148,7 @@ Detailed procedure for discord webhook described [here](https://support.discord.
- **Select Discord Channels**: Select from the drop down list, channel name configured in Step (2). Please click on 'Reload' if drop down list is empty.
- **Body**: Message to be posted over Discord channel, via webhooks on trigger of configured event.
- Body can contain plain text &
- Handlebars {{ }}
- Handlebars `{{ }}`
## Slack
@ -199,7 +199,7 @@ Detailed procedure for discord webhook described [here](https://support.discord.
### 3. Configure
- Open project and choose a table.
- Click 'More' > 'Webhooks'.
- Click 'More' {">"} 'Webhooks'.
- Click 'Create webhook'
- Configure webhook
- **Title**: Name of your choice to identify this Webhook.
@ -212,7 +212,7 @@ Detailed procedure for discord webhook described [here](https://support.discord.
- **Select Teams Channels**: Select from the drop down list, channel name configured in Step (2). Please click on 'Reload' if drop down list is empty.
- **Body**: Message to be posted over Teams channel, via webhooks on trigger of configured event.
- Body can contain plain text &
- Handlebars {{ }}
- Handlebars `{{ }}`
## Webhook V2

1
packages/nocodb/package.json

@ -47,6 +47,7 @@
"dependencies": {
"@aws-sdk/client-kafka": "^3.410.0",
"@aws-sdk/client-s3": "^3.423.0",
"@aws-sdk/lib-storage": "^3.451.0",
"@aws-sdk/s3-request-presigner": "^3.423.0",
"@google-cloud/storage": "^7.1.0",
"@graphql-tools/merge": "^6.0.12",

10
packages/nocodb/src/db/BaseModelSqlv2.ts

@ -3032,7 +3032,7 @@ class BaseModelSqlv2 {
// insert one by one as fallback to get ids for sqlite and mysql
if (insertOneByOneAsFallback && (this.isSqlite || this.isMySQL)) {
// sqlite and mysql doesnt support returning, so insert one by one and return ids
// sqlite and mysql doesn't support returning, so insert one by one and return ids
response = [];
const aiPkCol = this.model.primaryKeys.find((pk) => pk.ai);
@ -5194,9 +5194,7 @@ export function extractSortsObject(
else sort.fk_column_id = aliasColObjMap[s.replace(/^\+/, '')]?.id;
if (throwErrorIfInvalid && !sort.fk_column_id)
NcError.unprocessableEntity(
`Invalid column '${s.replace(/^[+-]/, '')}' in sort`,
);
NcError.unprocessableEntity(`Invalid field: ${s.replace(/^[+-]/, '')}`);
return new Sort(sort);
});
@ -5360,7 +5358,7 @@ export function extractCondition(
validateFilterComparison(aliasColObjMap[alias].uidt, op, sub_op);
} else if (throwErrorIfInvalid) {
NcError.unprocessableEntity(`Column '${alias}' not found.`);
NcError.unprocessableEntity(`Invalid field: ${alias}`);
}
return new Filter({
@ -5404,7 +5402,7 @@ export function _wherePk(primaryKeys: Column[], id: unknown | unknown[]) {
}
}
return id;
return where;
}
const ids = Array.isArray(id) ? id : (id + '').split('___');

4
packages/nocodb/src/db/conditionV2.ts

@ -155,9 +155,7 @@ const parseConditionV2 = async (
const column = await filter.getColumn();
if (!column) {
if (throwErrorIfInvalid) {
NcError.unprocessableEntity(
`Invalid column id '${filter.fk_column_id}' in filter`,
);
NcError.unprocessableEntity(`Invalid field: ${filter.fk_column_id}`);
}
return;
}

2
packages/nocodb/src/db/generateLookupSelectQuery.ts

@ -54,7 +54,7 @@ export default async function generateLookupSelectQuery({
if (column.uidt === UITypes.Lookup) {
lookupColOpt = await column.getColOptions<LookupColumn>();
} else if (column.uidt !== UITypes.LinkToAnotherRecord) {
NcError.badRequest('Invalid column type');
NcError.badRequest('Invalid field type');
}
await column.getColOptions<LookupColumn>();

4
packages/nocodb/src/db/sortV2.ts

@ -36,9 +36,7 @@ export default async function sortV2(
const column = await sort.getColumn();
if (!column) {
if (throwErrorIfInvalid) {
NcError.unprocessableEntity(
`Invalid column id '${sort.fk_column_id}' in sort`,
);
NcError.unprocessableEntity(`Invalid field: ${sort.fk_column_id}`);
}
continue;
}

2
packages/nocodb/src/helpers/catchError.ts

@ -324,7 +324,7 @@ export function extractDBError(error): {
/ Invalid object name '(\w+)'./i,
);
const extractMissingColMatch = error.message.match(
/ Invalid column name '(\w+)'./i,
/ Invalid field: (\w+)./i,
);
if (extractTableNameMatch && extractTableNameMatch[1]) {

4
packages/nocodb/src/helpers/getAst.ts

@ -73,9 +73,7 @@ const getAst = async ({
(f) => !colAliasMap[f] && !aliasColMap[f],
);
if (invalidFields.length) {
NcError.unprocessableEntity(
`Following fields are invalid: ${invalidFields.join(', ')}`,
);
NcError.unprocessableEntity(`Invalid field: ${invalidFields[0]}`);
}
}
} else {

1
packages/nocodb/src/plugins/backblaze/Backblaze.ts

@ -54,6 +54,7 @@ export default class Backblaze implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/gcs/Gcs.ts

@ -110,6 +110,7 @@ export default class Gcs implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/linode/LinodeObjectStorage.ts

@ -53,6 +53,7 @@ export default class LinodeObjectStorage implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/mino/Minio.ts

@ -100,6 +100,7 @@ export default class Minio implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/ovhCloud/OvhCloud.ts

@ -53,6 +53,7 @@ export default class OvhCloud implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

12
packages/nocodb/src/plugins/s3/S3.ts

@ -2,6 +2,7 @@ import fs from 'fs';
import { promisify } from 'util';
import { GetObjectCommand, S3 as S3Client } from '@aws-sdk/client-s3';
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
import { Upload } from '@aws-sdk/lib-storage';
import axios from 'axios';
import { useAgent } from 'request-filtering-agent';
import type { IStorageAdapterV2, XcFile } from 'nc-plugin';
@ -60,7 +61,7 @@ export default class S3 implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
responseType: 'arraybuffer',
responseType: 'stream',
})
.then((response) => {
uploadParams.Body = response.data;
@ -162,8 +163,13 @@ export default class S3 implements IStorageAdapterV2 {
private async upload(uploadParams): Promise<any> {
return new Promise((resolve, reject) => {
// call S3 to retrieve upload file to specified bucket
this.s3Client
.putObject({ ...this.defaultParams, ...uploadParams })
const upload = new Upload({
client: this.s3Client,
params: { ...this.defaultParams, ...uploadParams },
});
upload
.done()
.then((data) => {
if (data) {
resolve(

1
packages/nocodb/src/plugins/scaleway/ScalewayObjectStorage.ts

@ -103,6 +103,7 @@ export default class ScalewayObjectStorage implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/spaces/Spaces.ts

@ -53,6 +53,7 @@ export default class Spaces implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/upcloud/UpoCloud.ts

@ -53,6 +53,7 @@ export default class UpoCloud implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

1
packages/nocodb/src/plugins/vultr/Vultr.ts

@ -53,6 +53,7 @@ export default class Vultr implements IStorageAdapterV2 {
.get(url, {
httpAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
httpsAgent: useAgent(url, { stopPortScanningByUrlRedirection: true }),
// TODO - use stream instead of buffer
responseType: 'arraybuffer',
})
.then((response) => {

205
pnpm-lock.yaml

@ -385,6 +385,9 @@ importers:
'@aws-sdk/client-s3':
specifier: ^3.423.0
version: 3.423.0
'@aws-sdk/lib-storage':
specifier: ^3.451.0
version: 3.451.0(@aws-sdk/client-s3@3.423.0)
'@aws-sdk/s3-request-presigner':
specifier: ^3.423.0
version: 3.423.0
@ -2035,6 +2038,22 @@ packages:
tslib: 2.6.2
dev: false
/@aws-sdk/lib-storage@3.451.0(@aws-sdk/client-s3@3.423.0):
resolution: {integrity: sha512-pOtrE1Vs65J3k0bYvWw/zsQ6E80rZzS/jOMC9lQUUqXh8q0KTLq77K5+HCdadNHStXeZV3QJaSWajSR2qJKuyw==}
engines: {node: '>=14.0.0'}
peerDependencies:
'@aws-sdk/client-s3': ^3.0.0
dependencies:
'@aws-sdk/client-s3': 3.423.0
'@smithy/abort-controller': 2.0.10
'@smithy/middleware-endpoint': 2.2.0
'@smithy/smithy-client': 2.1.15
buffer: 5.6.0
events: 3.3.0
stream-browserify: 3.0.0
tslib: 2.6.2
dev: false
/@aws-sdk/middleware-bucket-endpoint@3.418.0:
resolution: {integrity: sha512-gj/mj1UfbKkGbQ1N4YUvjTTp8BVs5fO1QAL2AjFJ+jfJOToLReX72aNEkm7sPGbHML0TqOY4cQbJuWYy+zdD5g==}
engines: {node: '>=14.0.0'}
@ -6892,6 +6911,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/abort-controller@2.0.13:
resolution: {integrity: sha512-eeOPD+GF9BzF/Mjy3PICLePx4l0f3rG/nQegQHRLTloN5p1lSJJNZsyn+FzDnW8P2AduragZqJdtKNCxXozB1Q==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/abort-controller@2.0.6:
resolution: {integrity: sha512-4I7g0lyGUlW2onf8mD76IzU37oRWSHsQ5zlW5MjDzgg4I4J9bOK4500Gx6qOuoN7+GulAnGLe1YwyrIluzhakg==}
engines: {node: '>=14.0.0'}
@ -7050,6 +7077,16 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/fetch-http-handler@2.2.6:
resolution: {integrity: sha512-PStY3XO1Ksjwn3wMKye5U6m6zxXpXrXZYqLy/IeCbh3nM9QB3Jgw/B0PUSLUWKdXg4U8qgEu300e3ZoBvZLsDg==}
dependencies:
'@smithy/protocol-http': 3.0.9
'@smithy/querystring-builder': 2.0.13
'@smithy/types': 2.5.0
'@smithy/util-base64': 2.0.1
tslib: 2.6.2
dev: false
/@smithy/hash-blob-browser@2.0.10:
resolution: {integrity: sha512-U2+wIWWloOZ9DaRuz2sk9f7A6STRTlwdcv+q6abXDvS0TRDk8KGgUmfV5lCZy8yxFxZIA0hvHDNqcd25r4Hrew==}
dependencies:
@ -7174,6 +7211,19 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/middleware-endpoint@2.2.0:
resolution: {integrity: sha512-tddRmaig5URk2106PVMiNX6mc5BnKIKajHHDxb7K0J5MLdcuQluHMGnjkv18iY9s9O0tF+gAcPd/pDXA5L9DZw==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/middleware-serde': 2.0.13
'@smithy/node-config-provider': 2.1.5
'@smithy/shared-ini-file-loader': 2.2.4
'@smithy/types': 2.5.0
'@smithy/url-parser': 2.0.13
'@smithy/util-middleware': 2.0.6
tslib: 2.6.2
dev: false
/@smithy/middleware-retry@2.0.13:
resolution: {integrity: sha512-zuOva8xgWC7KYG8rEXyWIcZv2GWszO83DCTU6IKcf/FKu6OBmSE+EYv3EUcCGY+GfiwCX0EyJExC9Lpq9b0w5Q==}
engines: {node: '>=14.0.0'}
@ -7210,6 +7260,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/middleware-serde@2.0.13:
resolution: {integrity: sha512-tBGbeXw+XsE6pPr4UaXOh+UIcXARZeiA8bKJWxk2IjJcD1icVLhBSUQH9myCIZLNNzJIH36SDjUX8Wqk4xJCJg==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/middleware-serde@2.0.6:
resolution: {integrity: sha512-8/GODBngYbrS28CMZtaHIL4R9rLNSQ/zgb+N1OAZ02NwBUawlnLDcatve9YRzhJC/IWz0/pt+WimJZaO1sGcig==}
engines: {node: '>=14.0.0'}
@ -7233,6 +7291,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/middleware-stack@2.0.7:
resolution: {integrity: sha512-L1KLAAWkXbGx1t2jjCI/mDJ2dDNq+rp4/ifr/HcC6FHngxho5O7A5bQLpKHGlkfATH6fUnOEx0VICEVFA4sUzw==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/node-config-provider@2.0.13:
resolution: {integrity: sha512-pPpLqYuJcOq1sj1EGu+DoZK47DUS4gepqSTNgRezmrjnzNlSU2/Dcc9Ebzs+WZ0Z5vXKazuE+k+NksFLo07/AA==}
engines: {node: '>=14.0.0'}
@ -7253,6 +7319,16 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/node-config-provider@2.1.5:
resolution: {integrity: sha512-3Omb5/h4tOCuKRx4p4pkYTvEYRCYoKk52bOYbKUyz/G/8gERbagsN8jFm4FjQubkrcIqQEghTpQaUw6uk+0edw==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/property-provider': 2.0.14
'@smithy/shared-ini-file-loader': 2.2.4
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/node-http-handler@2.1.2:
resolution: {integrity: sha512-PdEEDCShuM8zxGoaRxmGB/1ikB8oeqz+ZAF9VIA8FCP3E59j8zDTF+wCELoWd1Y6gtxr+RcTAg5sA8nvn5qH/w==}
engines: {node: '>=14.0.0'}
@ -7275,6 +7351,17 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/node-http-handler@2.1.9:
resolution: {integrity: sha512-+K0q3SlNcocmo9OZj+fz67gY4lwhOCvIJxVbo/xH+hfWObvaxrMTx7JEzzXcluK0thnnLz++K3Qe7Z/8MDUreA==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/abort-controller': 2.0.13
'@smithy/protocol-http': 3.0.9
'@smithy/querystring-builder': 2.0.13
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/property-provider@2.0.11:
resolution: {integrity: sha512-kzuOadu6XvrnlF1iXofpKXYmo4oe19st9/DE8f5gHNaFepb4eTkR8gD8BSdTnNnv7lxfv6uOwZPg4VS6hemX1w==}
engines: {node: '>=14.0.0'}
@ -7283,6 +7370,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/property-provider@2.0.14:
resolution: {integrity: sha512-k3D2qp9o6imTrLaXRj6GdLYEJr1sXqS99nLhzq8fYmJjSVOeMg/G+1KVAAc7Oxpu71rlZ2f8SSZxcSxkevuR0A==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/property-provider@2.0.5:
resolution: {integrity: sha512-cAFSUhX6aiHcmpWfrCLKvwBtgN1F6A0N8qY/8yeSi0LRLmhGqsY1/YTxFE185MCVzYbqBGXVr9TBv4RUcIV4rA==}
engines: {node: '>=14.0.0'}
@ -7323,6 +7418,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/protocol-http@3.0.9:
resolution: {integrity: sha512-U1wl+FhYu4/BC+rjwh1lg2gcJChQhytiNQSggREgQ9G2FzmoK9sACBZvx7thyWMvRyHQTE22mO2d5UM8gMKDBg==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/querystring-builder@2.0.10:
resolution: {integrity: sha512-uujJGp8jzrrU1UHme8sUKEbawQTcTmUWsh8rbGXYD/lMwNLQ+9jQ9dMDWbbH9Hpoa9RER1BeL/38WzGrbpob2w==}
engines: {node: '>=14.0.0'}
@ -7332,6 +7435,15 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/querystring-builder@2.0.13:
resolution: {integrity: sha512-JhXKwp3JtsFUe96XLHy/nUPEbaXqn6r7xE4sNaH8bxEyytE5q1fwt0ew/Ke6+vIC7gP87HCHgQpJHg1X1jN2Fw==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
'@smithy/util-uri-escape': 2.0.0
tslib: 2.6.2
dev: false
/@smithy/querystring-builder@2.0.6:
resolution: {integrity: sha512-HnU00shCGoV8vKJZTiNBkNvR9NogU3NIUaVMAGJPSqNGJj3psWo+TUrC0BVCDcwiCljXwXCFGJqIcsWtClrktQ==}
engines: {node: '>=14.0.0'}
@ -7349,6 +7461,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/querystring-parser@2.0.13:
resolution: {integrity: sha512-TEiT6o8CPZVxJ44Rly/rrsATTQsE+b/nyBVzsYn2sa75xAaZcurNxsFd8z1haoUysONiyex24JMHoJY6iCfLdA==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/querystring-parser@2.0.6:
resolution: {integrity: sha512-i4LKoXHP7pTFAPjLIJyQXYOhWokbcFha3WWsX74sAKmuluv0XM2cxONZoFxwEzmWhsNyM6buSwJSZXyPiec0AQ==}
engines: {node: '>=14.0.0'}
@ -7393,6 +7513,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/shared-ini-file-loader@2.2.4:
resolution: {integrity: sha512-9dRknGgvYlRIsoTcmMJXuoR/3ekhGwhRq4un3ns2/byre4Ql5hyUN4iS0x8eITohjU90YOnUCsbRwZRvCkbRfw==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/signature-v4@1.1.0:
resolution: {integrity: sha512-fDo3m7YqXBs7neciOePPd/X9LPm5QLlDMdIC4m1H6dgNLnXfLMFNIxEfPyohGA8VW9Wn4X8lygnPSGxDZSmp0Q==}
engines: {node: '>=14.0.0'}
@ -7421,6 +7549,16 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/smithy-client@2.1.15:
resolution: {integrity: sha512-rngZcQu7Jvs9UbHihK1EI67RMPuzkc3CJmu4MBgB7D7yBnMGuFR86tq5rqHfL2gAkNnMelBN/8kzQVvZjNKefQ==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/middleware-stack': 2.0.7
'@smithy/types': 2.5.0
'@smithy/util-stream': 2.0.20
tslib: 2.6.2
dev: false
/@smithy/smithy-client@2.1.3:
resolution: {integrity: sha512-nSMMp2AKqcG/ruzCY01ogrMdbq/WS1cvGStTsw7yd6bTpp/bGtlOgXvy3h7e0zP7w2DH1AtvIwzYBD6ejZePsQ==}
engines: {node: '>=14.0.0'}
@ -7469,6 +7607,13 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/types@2.5.0:
resolution: {integrity: sha512-/a31lYofrMBkJb3BuPlYJTMKDj0hUmKUP6JFZQu6YVuQVoAjubiY0A52U9S0Uysd33n/djexCUSNJ+G9bf3/aA==}
engines: {node: '>=14.0.0'}
dependencies:
tslib: 2.6.2
dev: false
/@smithy/url-parser@2.0.10:
resolution: {integrity: sha512-4TXQFGjHcqru8aH5VRB4dSnOFKCYNX6SR1Do6fwxZ+ExT2onLsh2W77cHpks7ma26W5jv6rI1u7d0+KX9F0aOw==}
dependencies:
@ -7477,6 +7622,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/url-parser@2.0.13:
resolution: {integrity: sha512-okWx2P/d9jcTsZWTVNnRMpFOE7fMkzloSFyM53fA7nLKJQObxM2T4JlZ5KitKKuXq7pxon9J6SF2kCwtdflIrA==}
dependencies:
'@smithy/querystring-parser': 2.0.13
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/url-parser@2.0.6:
resolution: {integrity: sha512-9i6j5QW6bapHZ4rtkXOAm0hOUG1+5IVdVJXNSUTcNskwJchZH5IQuDNPCbgUi/u2P8EZazKt4wXT51QxOXCz1A==}
dependencies:
@ -7493,6 +7646,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/util-base64@2.0.1:
resolution: {integrity: sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/util-buffer-from': 2.0.0
tslib: 2.6.2
dev: false
/@smithy/util-body-length-browser@2.0.0:
resolution: {integrity: sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==}
dependencies:
@ -7611,6 +7772,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/util-middleware@2.0.6:
resolution: {integrity: sha512-7W4uuwBvSLgKoLC1x4LfeArCVcbuHdtVaC4g30kKsD1erfICyQ45+tFhhs/dZNeQg+w392fhunCm/+oCcb6BSA==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/types': 2.5.0
tslib: 2.6.2
dev: false
/@smithy/util-retry@2.0.0:
resolution: {integrity: sha512-/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg==}
engines: {node: '>= 14.0.0'}
@ -7642,6 +7811,20 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/util-stream@2.0.20:
resolution: {integrity: sha512-tT8VASuD8jJu0yjHEMTCPt1o5E3FVzgdsxK6FQLAjXKqVv5V8InCnc0EOsYrijgspbfDqdAJg7r0o2sySfcHVg==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/fetch-http-handler': 2.2.6
'@smithy/node-http-handler': 2.1.9
'@smithy/types': 2.5.0
'@smithy/util-base64': 2.0.1
'@smithy/util-buffer-from': 2.0.0
'@smithy/util-hex-encoding': 2.0.0
'@smithy/util-utf8': 2.0.2
tslib: 2.6.2
dev: false
/@smithy/util-stream@2.0.9:
resolution: {integrity: sha512-Fn2/3IMwqu0l2hOC7K3bbtSqFEJ6nOzMLoPVIhuH84yw/95itNkFBwVbIIiAfDaout0ZfZ26+5ch86E2q3avww==}
engines: {node: '>=14.0.0'}
@ -7686,6 +7869,14 @@ packages:
tslib: 2.6.2
dev: false
/@smithy/util-utf8@2.0.2:
resolution: {integrity: sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==}
engines: {node: '>=14.0.0'}
dependencies:
'@smithy/util-buffer-from': 2.0.0
tslib: 2.6.2
dev: false
/@smithy/util-waiter@2.0.10:
resolution: {integrity: sha512-yQjwWVrwYw+/f3hFQccE3zZF7lk6N6xtNcA6jvhWFYhnyKAm6B2mX8Gzftl0TbgoPUpzCvKYlvhaEpVtRpVfVw==}
engines: {node: '>=14.0.0'}
@ -10829,6 +11020,13 @@ packages:
isarray: 1.0.0
dev: false
/buffer@5.6.0:
resolution: {integrity: sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==}
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
dev: false
/buffer@5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
dependencies:
@ -22314,6 +22512,13 @@ packages:
engines: {node: '>=4', npm: '>=6'}
dev: false
/stream-browserify@3.0.0:
resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
dependencies:
inherits: 2.0.4
readable-stream: 3.6.2
dev: false
/stream-combiner@0.0.4:
resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
dependencies:

Loading…
Cancel
Save