@lowdefy/docs 4.0.0-alpha.7 → 4.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/operators/client/filter_default_value.js +55 -0
  2. package/{public/modules/connectDocsearch.js → dist/operatorsClient.js} +1 -19
  3. package/{templates/blocks/schemaTransformer.js → dist/types.js} +5 -10
  4. package/package.json +19 -3
  5. package/404.yaml +0 -26
  6. package/CHANGELOG.md +0 -697
  7. package/actions/CallMethod.yaml +0 -57
  8. package/actions/JsAction.yaml +0 -281
  9. package/actions/Link.yaml +0 -120
  10. package/actions/Login.yaml +0 -123
  11. package/actions/Logout.yaml +0 -44
  12. package/actions/Message.yaml +0 -68
  13. package/actions/Notification.yaml +0 -84
  14. package/actions/Request.yaml +0 -70
  15. package/actions/Reset.yaml +0 -42
  16. package/actions/ResetValidation.yaml +0 -102
  17. package/actions/ScrollTo.yaml +0 -100
  18. package/actions/SetGlobal.yaml +0 -78
  19. package/actions/SetState.yaml +0 -85
  20. package/actions/Throw.yaml +0 -89
  21. package/actions/Validate.yaml +0 -104
  22. package/actions/Wait.yaml +0 -40
  23. package/blocks/all_icons.yaml +0 -803
  24. package/blocks/container/Affix.yaml +0 -26
  25. package/blocks/container/Alert.yaml +0 -27
  26. package/blocks/container/Badge.yaml +0 -27
  27. package/blocks/container/Box.yaml +0 -27
  28. package/blocks/container/Card.yaml +0 -29
  29. package/blocks/container/Collapse.yaml +0 -38
  30. package/blocks/container/Comment.yaml +0 -43
  31. package/blocks/container/ConfirmModal.yaml +0 -36
  32. package/blocks/container/Descriptions.yaml +0 -51
  33. package/blocks/container/Drawer.yaml +0 -46
  34. package/blocks/container/Label.yaml +0 -28
  35. package/blocks/container/Modal.yaml +0 -46
  36. package/blocks/container/PageHCF.yaml +0 -28
  37. package/blocks/container/PageHCSF.yaml +0 -29
  38. package/blocks/container/PageHSCF.yaml +0 -29
  39. package/blocks/container/PageHeaderMenu.yaml +0 -52
  40. package/blocks/container/PageSHCF.yaml +0 -29
  41. package/blocks/container/PageSiderMenu.yaml +0 -53
  42. package/blocks/container/Result.yaml +0 -34
  43. package/blocks/container/Span.yaml +0 -27
  44. package/blocks/container/Spin.yaml +0 -27
  45. package/blocks/container/Tabs.yaml +0 -41
  46. package/blocks/container/Tooltip.yaml +0 -38
  47. package/blocks/display/Anchor.yaml +0 -25
  48. package/blocks/display/Avatar.yaml +0 -23
  49. package/blocks/display/Breadcrumb.yaml +0 -28
  50. package/blocks/display/Button.yaml +0 -43
  51. package/blocks/display/DangerousHtml.yaml +0 -62
  52. package/blocks/display/DangerousMarkdown.yaml +0 -46
  53. package/blocks/display/Divider.yaml +0 -23
  54. package/blocks/display/EChart.yaml +0 -53
  55. package/blocks/display/Html.yaml +0 -50
  56. package/blocks/display/Icon.yaml +0 -23
  57. package/blocks/display/Img.yaml +0 -40
  58. package/blocks/display/Markdown.yaml +0 -31
  59. package/blocks/display/MarkdownWithCode.yaml +0 -46
  60. package/blocks/display/Menu.yaml +0 -48
  61. package/blocks/display/Message.yaml +0 -34
  62. package/blocks/display/MobileMenu.yaml +0 -47
  63. package/blocks/display/Notification.yaml +0 -34
  64. package/blocks/display/Paragraph.yaml +0 -30
  65. package/blocks/display/Progress.yaml +0 -52
  66. package/blocks/display/Skeleton.yaml +0 -27
  67. package/blocks/display/Statistic.yaml +0 -35
  68. package/blocks/display/Title.yaml +0 -32
  69. package/blocks/input/AutoComplete.yaml +0 -30
  70. package/blocks/input/ButtonSelector.yaml +0 -36
  71. package/blocks/input/CheckboxSelector.yaml +0 -36
  72. package/blocks/input/CheckboxSwitch.yaml +0 -56
  73. package/blocks/input/ChromeColorSelector.yaml +0 -24
  74. package/blocks/input/CircleColorSelector.yaml +0 -24
  75. package/blocks/input/ColorSelector.yaml +0 -24
  76. package/blocks/input/CompactColorSelector.yaml +0 -24
  77. package/blocks/input/DateRangeSelector.yaml +0 -26
  78. package/blocks/input/DateSelector.yaml +0 -26
  79. package/blocks/input/DateTimeSelector.yaml +0 -28
  80. package/blocks/input/GithubColorSelector.yaml +0 -24
  81. package/blocks/input/MonthSelector.yaml +0 -26
  82. package/blocks/input/MultipleSelector.yaml +0 -117
  83. package/blocks/input/NumberInput.yaml +0 -24
  84. package/blocks/input/Pagination.yaml +0 -33
  85. package/blocks/input/ParagraphInput.yaml +0 -32
  86. package/blocks/input/PasswordInput.yaml +0 -48
  87. package/blocks/input/RadioSelector.yaml +0 -36
  88. package/blocks/input/RatingSlider.yaml +0 -24
  89. package/blocks/input/S3UploadButton.yaml +0 -28
  90. package/blocks/input/Selector.yaml +0 -98
  91. package/blocks/input/SliderColorSelector.yaml +0 -24
  92. package/blocks/input/SwatchesColorSelector.yaml +0 -24
  93. package/blocks/input/Switch.yaml +0 -24
  94. package/blocks/input/TextArea.yaml +0 -27
  95. package/blocks/input/TextInput.yaml +0 -59
  96. package/blocks/input/TitleInput.yaml +0 -32
  97. package/blocks/input/TwitterColorSelector.yaml +0 -24
  98. package/blocks/input/WeekSelector.yaml +0 -26
  99. package/blocks/list/ControlledList.yaml +0 -191
  100. package/blocks/list/List.yaml +0 -157
  101. package/blocks/list/TimelineList.yaml +0 -136
  102. package/body.html +0 -1
  103. package/concepts/blocks.yaml +0 -249
  104. package/concepts/cli.yaml +0 -173
  105. package/concepts/connections-and-requests.yaml +0 -114
  106. package/concepts/context-and-state.yaml +0 -82
  107. package/concepts/custom-blocks.yaml +0 -190
  108. package/concepts/custom-code.yaml +0 -197
  109. package/concepts/events-and-actions.yaml +0 -224
  110. package/concepts/hosting-files.yaml +0 -50
  111. package/concepts/layout.yaml +0 -1464
  112. package/concepts/lists.yaml +0 -162
  113. package/concepts/lowdefy-schema.yaml +0 -245
  114. package/concepts/operators.yaml +0 -66
  115. package/concepts/overview.yaml +0 -48
  116. package/concepts/secrets.yaml +0 -56
  117. package/connections/AWSS3.yaml +0 -228
  118. package/connections/AmazonRedshift.yaml +0 -75
  119. package/connections/AxiosHttp.yaml +0 -194
  120. package/connections/Elasticsearch.yaml +0 -378
  121. package/connections/GoogleSheet.yaml +0 -332
  122. package/connections/Knex.yaml +0 -181
  123. package/connections/KnexRequests.md +0 -121
  124. package/connections/MSSQL.yaml +0 -90
  125. package/connections/MariaDB.yaml +0 -77
  126. package/connections/MongoDB.yaml +0 -581
  127. package/connections/MySQL.yaml +0 -92
  128. package/connections/OracleDB.yaml +0 -73
  129. package/connections/PostgreSQL.yaml +0 -99
  130. package/connections/Redis.yaml +0 -147
  131. package/connections/SQLite.yaml +0 -94
  132. package/connections/SendGridMail.yaml +0 -113
  133. package/connections/Stripe.yaml +0 -139
  134. package/deployment/aws-lambda.yaml +0 -128
  135. package/deployment/docker.yaml +0 -118
  136. package/deployment/netlify.yaml +0 -69
  137. package/deployment/node-server.yaml +0 -111
  138. package/head.html +0 -7
  139. package/howto/generate-csv.yaml.njk +0 -252
  140. package/howto/generate-pdf.yaml.njk +0 -651
  141. package/howto/generateCsv/lowdefy.yaml +0 -64
  142. package/howto/generateCsv/public/csvMake.js +0 -27
  143. package/howto/generatePdf/inv_template.yaml +0 -200
  144. package/howto/generatePdf/lowdefy.yaml +0 -117
  145. package/howto/generatePdf/my_header.html +0 -1
  146. package/howto/generatePdf/public/logo_example.png +0 -0
  147. package/howto/generatePdf/public/modules/importUmd.js +0 -7
  148. package/howto/generatePdf/public/modules/pdfMake.js +0 -7
  149. package/howto/generatePdf/public/modules/vfs_fonts.js +0 -12
  150. package/howto/use-refrences.md +0 -5
  151. package/introduction.yaml +0 -100
  152. package/lowdefy.yaml +0 -66
  153. package/menus.yaml +0 -832
  154. package/operators/_actions.yaml +0 -123
  155. package/operators/_and.yaml +0 -90
  156. package/operators/_args.yaml +0 -79
  157. package/operators/_array.yaml +0 -326
  158. package/operators/_base64.yaml +0 -56
  159. package/operators/_change_case.yaml +0 -347
  160. package/operators/_date.yaml +0 -71
  161. package/operators/_diff.yaml +0 -75
  162. package/operators/_divide.yaml +0 -46
  163. package/operators/_eq.yaml +0 -67
  164. package/operators/_event.yaml +0 -103
  165. package/operators/_format.yaml +0 -209
  166. package/operators/_function.yaml +0 -66
  167. package/operators/_get.yaml +0 -108
  168. package/operators/_global.yaml +0 -107
  169. package/operators/_gt.yaml +0 -65
  170. package/operators/_gte.yaml +0 -65
  171. package/operators/_hash.yaml +0 -109
  172. package/operators/_if.yaml +0 -44
  173. package/operators/_if_none.yaml +0 -61
  174. package/operators/_index.yaml +0 -65
  175. package/operators/_input.yaml +0 -114
  176. package/operators/_js.yaml +0 -189
  177. package/operators/_json.yaml +0 -128
  178. package/operators/_list_contexts.yaml +0 -37
  179. package/operators/_location.yaml +0 -59
  180. package/operators/_log.yaml +0 -36
  181. package/operators/_lt.yaml +0 -65
  182. package/operators/_lte.yaml +0 -65
  183. package/operators/_math.yaml +0 -374
  184. package/operators/_media.yaml +0 -86
  185. package/operators/_menu.yaml +0 -81
  186. package/operators/_mql.yaml +0 -101
  187. package/operators/_ne.yaml +0 -77
  188. package/operators/_not.yaml +0 -47
  189. package/operators/_number.yaml +0 -157
  190. package/operators/_nunjucks.yaml +0 -73
  191. package/operators/_object.yaml +0 -193
  192. package/operators/_operator.yaml +0 -47
  193. package/operators/_or.yaml +0 -81
  194. package/operators/_product.yaml +0 -59
  195. package/operators/_random.yaml +0 -104
  196. package/operators/_ref.yaml +0 -266
  197. package/operators/_regex.yaml +0 -83
  198. package/operators/_request.yaml +0 -50
  199. package/operators/_secret.yaml +0 -74
  200. package/operators/_state.yaml +0 -114
  201. package/operators/_string.yaml +0 -283
  202. package/operators/_subtract.yaml +0 -38
  203. package/operators/_sum.yaml +0 -59
  204. package/operators/_switch.yaml +0 -51
  205. package/operators/_type.yaml +0 -92
  206. package/operators/_uri.yaml +0 -56
  207. package/operators/_url_query.yaml +0 -120
  208. package/operators/_user.yaml +0 -107
  209. package/operators/_uuid.yaml +0 -114
  210. package/operators/_var.yaml +0 -105
  211. package/operators/_yaml.yaml +0 -107
  212. package/pages.yaml +0 -227
  213. package/public/images/authors/gervwyk.jpeg +0 -0
  214. package/public/images/authors/sandile.jpeg +0 -0
  215. package/public/images/howto/header_generate_csv.jpg +0 -0
  216. package/public/images/howto/header_generate_pdf.jpg +0 -0
  217. package/public/logo_example.png +0 -0
  218. package/public/lowdefy_app_schema.png +0 -0
  219. package/public/modules/csvMake.js +0 -27
  220. package/public/modules/filterDefaultValue.js +0 -48
  221. package/public/modules/importUmd.js +0 -7
  222. package/public/modules/index.js +0 -5
  223. package/public/modules/pdfMake.js +0 -7
  224. package/public/modules/test/filterDefaultValue.test.js +0 -91
  225. package/public/modules/vfs_fonts.js +0 -12
  226. package/public/sitemap.xml +0 -1024
  227. package/templates/actions.yaml.njk +0 -68
  228. package/templates/blocks/defaultValueTransformer.js +0 -53
  229. package/templates/blocks/exampleTransformer.js +0 -81
  230. package/templates/blocks/layout.yaml +0 -114
  231. package/templates/blocks/propertiesFormTransformer.js +0 -419
  232. package/templates/blocks/propertiesGetterTransformer.js +0 -132
  233. package/templates/blocks/schema.yaml.njk +0 -42
  234. package/templates/blocks/style.yaml +0 -26
  235. package/templates/blocks/template.yaml.njk +0 -495
  236. package/templates/blog.yaml.njk +0 -221
  237. package/templates/cli_command.yaml.njk +0 -37
  238. package/templates/footer.yaml.njk +0 -604
  239. package/templates/general.yaml.njk +0 -124
  240. package/templates/generateSitemap.js +0 -41
  241. package/templates/header.yaml +0 -138
  242. package/templates/navigation_buttons.yaml +0 -68
  243. package/templates/operators.yaml.njk +0 -82
  244. package/templates/operatorsMethodTransformer.js +0 -119
  245. package/templates/test/array.test.js +0 -1335
  246. package/templates/test/boolean.test.js +0 -98
  247. package/templates/test/button.test.js +0 -166
  248. package/templates/test/color.test.js +0 -126
  249. package/templates/test/enum.test.js +0 -105
  250. package/templates/test/icon.test.js +0 -109
  251. package/templates/test/integer.test.js +0 -99
  252. package/templates/test/manual.test.js +0 -238
  253. package/templates/test/number.test.js +0 -99
  254. package/templates/test/object.test.js +0 -434
  255. package/templates/test/oneOf.test.js +0 -794
  256. package/templates/test/string.test.js +0 -98
  257. package/templates/test/yaml.test.js +0 -605
  258. package/tutorial/next-steps.yaml +0 -83
  259. package/tutorial/tutorial-actions-operators-config.yaml +0 -142
  260. package/tutorial/tutorial-actions-operators.yaml +0 -436
  261. package/tutorial/tutorial-add-blocks-config.yaml +0 -109
  262. package/tutorial/tutorial-add-blocks.yaml +0 -195
  263. package/tutorial/tutorial-create-page-config.yaml +0 -77
  264. package/tutorial/tutorial-create-page.yaml +0 -196
  265. package/tutorial/tutorial-deploy.yaml +0 -146
  266. package/tutorial/tutorial-requests-config.yaml +0 -186
  267. package/tutorial/tutorial-requests.yaml +0 -338
  268. package/tutorial/tutorial-start.yaml +0 -282
  269. package/users/login-and-logout.yaml +0 -164
  270. package/users/openid-connect.yaml +0 -84
  271. package/users/protected-pages.yaml +0 -67
  272. package/users/roles.yaml +0 -70
  273. package/users/user-object.yaml +0 -73
  274. package/users/users-introduction.yaml +0 -80
  275. package/version.yaml +0 -1
@@ -1,92 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: MySQL
19
- pageTitle: MySQL
20
- section: Connections
21
- filePath: connections/MySQL.yaml
22
- content:
23
- - id: markdown_intro
24
- type: Markdown
25
- properties:
26
- content: |
27
- The [Knex](/Knex) connection can be used to connect to a [MySQL](https://www.mysql.com) database.
28
-
29
- - id: markdown_connection
30
- type: MarkdownWithCode
31
- properties:
32
- content: |
33
- ## Connections
34
-
35
- Connection types:
36
- - Knex
37
-
38
- ### Knex
39
-
40
- #### Properties
41
- - `client: enum`: __Required__ - Should be `mysql` to connect to MySQL.
42
- - `connection: object | string `: __Required__ - Connection object or string to pass to the [`mysql`](https://www.npmjs.com/package/mysql) database client.
43
- - `version: string`: Set database version.
44
- - `useNullAsDefault: boolean`: If true, undefined keys are replaced with NULL instead of DEFAULT.
45
-
46
- #### Examples
47
-
48
- ###### Connection Object:
49
- ```yaml
50
- connections:
51
- - id: mysql
52
- type: Knex
53
- properties:
54
- client: mysql
55
- connection:
56
- host:
57
- _secret: MYSQL_HOST
58
- user:
59
- _secret: MYSQL_USER
60
- database:
61
- _secret: MYSQL_DB
62
- password:
63
- _secret: MYSQL_PASSWORD
64
- ```
65
- Environment variables:
66
- ```
67
- LOWDEFY_SECRET_MYSQL_HOST = database.server.com
68
- LOWDEFY_SECRET_MYSQL_DB = db
69
- LOWDEFY_SECRET_MYSQL_USER = user
70
- LOWDEFY_SECRET_MYSQL_PASSWORD = password
71
- ```
72
-
73
- ###### Connection string:
74
- ```yaml
75
- connections:
76
- - id: mysql
77
- type: Knex
78
- properties:
79
- client: mysql
80
- connection:
81
- _secret: MYSQL_CONNECTION_STRING
82
- ```
83
- Environment variables:
84
- ```
85
- LOWDEFY_SECRET_MYSQL_CONNECTION_STRING = mysql://user:password@database.server.com/db
86
- ```
87
-
88
- - id: markdown_requests
89
- type: MarkdownWithCode
90
- properties:
91
- content:
92
- _ref: connections/KnexRequests.md
@@ -1,73 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: OracleDB
19
- pageTitle: Oracle Database
20
- section: Connections
21
- filePath: connections/OracleDB.yaml
22
- content:
23
- - id: markdown_intro
24
- type: Markdown
25
- properties:
26
- content: |
27
- The [Knex](/Knex) connection can be used to connect to a [Oracle Database](https://www.oracle.com/database/).
28
-
29
- - id: markdown_connection
30
- type: MarkdownWithCode
31
- properties:
32
- content: |
33
- ## Connections
34
-
35
- Connection types:
36
- - Knex
37
-
38
- ### Knex
39
-
40
- #### Properties
41
- - `client: enum`: __Required__ - Should be `oracledb` to connect to Oracle Database.
42
- - `connection: object | string `: __Required__ - Connection object or string to pass to the [`oracledb`](https://www.npmjs.com/package/oracledb) database client.
43
- - `useNullAsDefault: boolean`: If true, undefined keys are replaced with NULL instead of DEFAULT.
44
-
45
- #### Examples
46
-
47
- ###### Connection Object:
48
- ```yaml
49
- connections:
50
- - id: oracledb
51
- type: Knex
52
- properties:
53
- client: oracledb
54
- connection:
55
- user:
56
- _secret: ORACLEDB_USER
57
- password:
58
- _secret:
59
- connectString:
60
- _secret: ORACLEDB_CONNECT_STRING
61
- ```
62
- Environment variables:
63
- ```
64
- LOWDEFY_SECRET_ORACLEDB_USER = user
65
- LOWDEFY_SECRET_ORACLEDB_PASSWORD = password
66
- LOWDEFY_SECRET_ORACLEDB_CONNECT_STRING = database.server.com/db
67
- ```
68
-
69
- - id: markdown_requests
70
- type: MarkdownWithCode
71
- properties:
72
- content:
73
- _ref: connections/KnexRequests.md
@@ -1,99 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: PostgreSQL
19
- pageTitle: PostgreSQL
20
- section: Connections
21
- filePath: connections/PostgreSQL.yaml
22
- content:
23
- - id: markdown_intro
24
- type: Markdown
25
- properties:
26
- content: |
27
- The [Knex](/Knex) connection can be used to connect to a [PostgreSQL](https://www.postgresql.org) database.
28
-
29
- - id: markdown_connection
30
- type: MarkdownWithCode
31
- properties:
32
- content: |
33
- ## Connections
34
-
35
- Connection types:
36
- - Knex
37
-
38
- ### Knex
39
-
40
- #### Properties
41
- - `client: enum`: __Required__ - The database client to use. To connect to PostgreSQL, use one of:
42
- - `postgres`
43
- - `pg` (alias of `postgres`)
44
- - `postgresql` (alias of `postgres`)
45
- - `connection: object | string`: __Required__ - Connection string or object to pass to the [`pg`](https://www.npmjs.com/package/pg) database client.
46
- - `searchPath: string`: Set PostgreSQL search path.
47
- - `version: string`: Set database version.
48
- - `useNullAsDefault: boolean`: If true, undefined keys are replaced with NULL instead of DEFAULT.
49
-
50
- #### Examples
51
-
52
- ###### Connection Object:
53
- ```yaml
54
- connections:
55
- - id: postgres
56
- type: Knex
57
- properties:
58
- client: postgres
59
- connection:
60
- user:
61
- _secret: PG_USER
62
- host:
63
- _secret: PG_HOST
64
- database:
65
- _secret: PG_DB
66
- password:
67
- _secret: PG_PASSWORD
68
- ```
69
- Environment variables:
70
- ```
71
- LOWDEFY_SECRET_PG_HOST = database.server.com
72
- LOWDEFY_SECRET_PG_DB = db
73
- LOWDEFY_SECRET_PG_USER = user
74
- LOWDEFY_SECRET_PG_PASSWORD = password
75
- ```
76
-
77
- ###### Secret connection string, with version and searchPath:
78
- ```yaml
79
- connections:
80
- - id: postgres
81
- type: Knex
82
- properties:
83
- client: postgres
84
- connection:
85
- _secret: PG_CONNECTION_STRING
86
- version: '7.2'
87
- searchPath:
88
- - knex
89
- - public
90
- ```
91
- Environment variables:
92
- ```
93
- LOWDEFY_SECRET_PG_CONNECTION_STRING = postgresql://user:password@database.server.com:5432/db
94
- ```
95
- - id: markdown_requests
96
- type: MarkdownWithCode
97
- properties:
98
- content:
99
- _ref: connections/KnexRequests.md
@@ -1,147 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: Redis
19
- pageTitle: Redis
20
- section: Connections
21
- filePath: connections/Redis.yaml
22
- content:
23
- - id: markdown_intro
24
- type: MarkdownWithCode
25
- properties:
26
- content: |
27
- [`Redis`](http://redis.io/) is an open-source, in-memory key-value data structure store. Redis offers a set of versatile in-memory data structures (strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams) that allow the creation of many custom applications. Key use cases for Redis include database, caching, session management and message broker.
28
-
29
- Lowdefy integrates with Redis using the one of the recommended [Node.js clients (node-redis)](https://github.com/redis/node-redis).
30
-
31
- - id: markdown_connection
32
- type: MarkdownWithCode
33
- properties:
34
- content: |
35
- ## Connections
36
-
37
- Connection types:
38
- - Redis
39
-
40
- ### Redis
41
-
42
- #### Properties
43
- - `connection: object | string `: __Required__ - Connection object or string to pass to the [`redis client`](https://github.com/redis/node-redis) redis client.
44
-
45
- The connection object accepts will be passed to the redis client verbatim, so check out the [configuration instructions](https://github.com/redis/node-redis/blob/master/docs/client-configuration.md).
46
-
47
- #### Examples
48
-
49
- ###### Redis with connection object:
50
- ```yaml
51
- connections:
52
- - id: redis
53
- type: Redis
54
- properties:
55
- connection:
56
- username:
57
- _secret: REDIS_USERNAME
58
- password:
59
- _secret: REDIS_PASSWORD
60
- database:
61
- _secret: REDIS_DATABASE
62
- socket:
63
- host:
64
- _secret: REDIS_HOST
65
- port:
66
- _secret: REDIS_PORT
67
- ```
68
- Environment variables:
69
- ```
70
- LOWDEFY_SECRET_REDIS_USERNAME = user
71
- LOWDEFY_SECRET_REDIS_PASSWORD = password
72
- LOWDEFY_SECRET_REDIS_DATABASE = 4
73
- LOWDEFY_SECRET_REDIS_HOST = redis.server.com
74
- LOWDEFY_SECRET_REDIS_PORT = 5000
75
- ```
76
-
77
- ###### Redis with connection string:
78
- ```yaml
79
- connections:
80
- - id: redis
81
- type: Redis
82
- properties:
83
- connection:
84
- _secret: REDIS_CONNECTION_STRING
85
- ```
86
- Environment variables:
87
- ```
88
- LOWDEFY_SECRET_REDIS_CONNECTION_STRING = redis://user:password@redis:server.com:5000/4'
89
- ```
90
- - id: markdown_requests
91
- type: MarkdownWithCode
92
- properties:
93
- content: |
94
- ## Requests
95
-
96
- Request types:
97
- - Redis
98
-
99
- ### Redis
100
-
101
- #### Properties
102
-
103
- - `command: string`: **Required** - Redis command to be executed, accepts all of the [out-of-the-box Redis commands](https://redis.io/commands).
104
- - `parameters: array`: An array of parameters to be passed to the redis command.
105
- - `modifiers: object`: The redis modififers to be passed to the redis command.
106
-
107
- #### Examples
108
-
109
- ###### Setting a key-value pair in redis:
110
-
111
- ```yaml
112
- id: redisRequest
113
- type: Redis
114
- connectionId: redis
115
- properties:
116
- command: set
117
- parameters:
118
- - key
119
- - value
120
- ```
121
-
122
- ###### Getting a value from redis:
123
-
124
- ```yaml
125
- id: redisRequest
126
- type: Redis
127
- connectionId: redis
128
- properties:
129
- command: get
130
- parameters:
131
- - key
132
- ```
133
-
134
- ###### Setting a key-value pair only if key does not exist:
135
-
136
- ````yaml
137
- id: redisRequest
138
- type: Redis
139
- connectionId: redis
140
- properties:
141
- command: set
142
- parameters:
143
- - key
144
- - value
145
- modififers:
146
- nx: true
147
- ```
@@ -1,94 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: SQLite
19
- pageTitle: SQLite
20
- section: Connections
21
- filePath: connections/SQLite.yaml
22
- content:
23
- - id: markdown_intro
24
- type: Markdown
25
- properties:
26
- content: |
27
- The [Knex](/Knex) connection can be used to connect to a [SQLite](https://www.sqlite.org) database.
28
- - id: warning
29
- type: Alert
30
- properties:
31
- type: warning
32
- showIcon: false
33
- description: |
34
- SQLite is best suited as a development database when used with Lowdefy. Using SQLite in a serverless environment is not recommended, and not supported by the current Lowdefy deployment options. See the example below on how to configure different database connections based on the environment.
35
-
36
- - id: markdown_connection
37
- type: MarkdownWithCode
38
- properties:
39
- content: |
40
- ## Connections
41
-
42
- Connection types:
43
- - Knex
44
-
45
- ### Knex
46
-
47
- #### Properties
48
- - `client: enum`: __Required__ - Should be `sqlite3` or `sqlite` to connect to SQLite.
49
- - `connection: object`:
50
- - `filename: string`: __Required__ - The path to the SQLite file (relative to the project root).
51
- - `useNullAsDefault: boolean`: If true, undefined keys are replaced with NULL instead of DEFAULT.
52
-
53
-
54
- #### Examples
55
-
56
- ##### Specify filename:
57
- ```yaml
58
- connections:
59
- - id: sqlite
60
- type: Knex
61
- properties:
62
- client: sqlite
63
- connection:
64
- filename: ./mydb.sqlite
65
- ```
66
-
67
- ###### Different connections in deployment and production environments:
68
- ```yaml
69
- connections:
70
- - id: knex
71
- type: Knex
72
- properties:
73
- client:
74
- _secret: KNEX_CLIENT
75
- connection:
76
- _json.parse:
77
- _secret: KNEX_CONNECTION
78
- ```
79
- Environment variables in development:
80
- ```
81
- LOWDEFY_SECRET_KNEX_CLIENT = sqlite
82
- LOWDEFY_SECRET_KNEX_CONNECTION = {"filename": "./mydb.sqlite"}
83
- ```
84
- Environment variables in production:
85
- ```
86
- LOWDEFY_SECRET_KNEX_CLIENT = postgres
87
- LOWDEFY_SECRET_KNEX_CONNECTION = {"user": "dbuser", "host": "database.server.com", "database": "mydb", "password": "secretpassword"}
88
- ```
89
-
90
- - id: markdown_requests
91
- type: MarkdownWithCode
92
- properties:
93
- content:
94
- _ref: connections/KnexRequests.md
@@ -1,113 +0,0 @@
1
- # Copyright 2020-2021 Lowdefy, Inc
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
-
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
-
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- _ref:
16
- path: templates/general.yaml.njk
17
- vars:
18
- pageId: SendGridMail
19
- pageTitle: SendGrid Email
20
- section: Connections
21
- filePath: connections/SendGridMail.yaml
22
- content:
23
- - id: markdown
24
- type: MarkdownWithCode
25
- properties:
26
- content: |
27
- [SendGrid](https://sendgrid.com/) is a popular email API provider which allows you to easily setup a email service. The `SendGridMail` connection can be used to connect to an existing SendGrid API account.
28
-
29
- The `SendGridMail` connector uses the [@sendgrid/mail](https://github.com/@sendgrid/mail) library.
30
-
31
- In order to use the `SendGridMail` connector, you first need to create a [SendGrid](https://sendgrid.com/) account and setup an API key.
32
-
33
- > Secrets like API keys should be stored using the [`_secret`](operators/secret.md) operator.
34
-
35
- In order to send from your custom domain your will need to [authenticate your domain](https://app.sendgrid.com/settings/sender_auth) through SendGrid. See the [SendGrid Docs](https://sendgrid.com/docs) for help on getting started with SendGrid.
36
-
37
- ## Connections
38
-
39
- Connection types:
40
- - SendGridMail
41
-
42
- ## Requests
43
-
44
- Request types:
45
- - SendGridMailSend
46
-
47
- ### Types
48
-
49
- - `email: string | object`: SendGrid accepts emails as either a `string` or an `object`.
50
- - `string`: Can be in the following format; `someone@example.org` or `Some One <someone@example.org>`.
51
- - `object`: With `name' and `email` properties, for example: `{"name": "Some One", "email": "someone@example.org"}`.
52
-
53
- ### SendGridMail
54
-
55
- #### Properties
56
-
57
- - `apiKey: string`: __Required__ - SendGrid API key.
58
- - `from: email`: __Required__ - Email address to send email from.
59
- - `mailSettings: object`: SendGrid mail settings. See [SendGrid API-Reference](https://sendgrid.com/docs/api-reference/)
60
- - `sandboxMode: object`: SendGrid mail sandbox mode settings.
61
- - `enable: boolean`: Sandbox mode enabled when `true`.
62
- - `templateId: string`: SendGrid email template ID to render email when sending.
63
-
64
- ### SendGridMailSend
65
-
66
- #### Properties
67
-
68
- ##### object
69
- A `mail description`:
70
- - `to: email | email[]`: __Required__ - Email address or addresses to send to.
71
- - `cc: email | email[]`: Email address to cc in communication.
72
- - `bcc: email | email[]`: Email address to bcc in communication.
73
- - `replyTo: email | email[]`: Email address to reply to.
74
- - `subject: string`: Email subject.
75
- - `text: string`: Email message in plain text format.
76
- - `html: string`: Email message in html format.
77
- - `dynamicTemplateData: object`: SendGrid template data to render into email template.
78
- - `sendAt: integer`: A unix timestamp allowing you to specify when you want your email to be delivered. You can't schedule more than 72 hours in advance.
79
- - `attachments: object[]`: List of email attachments to include with email. See [SendGrid API-Reference](https://d2w67tjf43xwdp.cloudfront.net/Classroom/Build/Add_Content/attachments.html]).
80
- - `content: string`: __Required__ - Base 64 encoded attachment content.
81
- - `filename: string`: __Required__ - Name of the attachment file.
82
- - `type: string`: The mime type of the content you are attaching. For example, `text/plain` or `text/html`.
83
-
84
- ##### array
85
- An array of `mail description` objects can also be provided.
86
-
87
- ### Examples
88
-
89
- ###### Send a reminder email
90
- ```yaml
91
- connections:
92
- - id: my_sendgrid
93
- type: SendGridMail
94
- properties:
95
- apiKey:
96
- _secret: SENDGRID_API_KEY
97
- from: reminders@example.org
98
- # ...
99
- requests:
100
- - id: send_reminder
101
- type: SendGridMailSend
102
- connectionId: my_sendgrid
103
- properties:
104
- to: Harry Potter <harry@example.org>
105
- subject: Reminder for Mr. Potter to water the 🌱
106
- text: |
107
- Hi Harry
108
-
109
- Please remember to water the magic plants today :)
110
-
111
- Thank you
112
- # ...
113
- ```