@opengis/fastify-table 1.1.50 → 1.1.51

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 (211) hide show
  1. package/.eslintrc.cjs +42 -42
  2. package/.gitlab-ci.yml +18 -18
  3. package/Changelog.md +352 -351
  4. package/README.md +26 -26
  5. package/config.js +10 -10
  6. package/cron/controllers/cronApi.js +22 -22
  7. package/cron/controllers/utils/cronList.js +1 -1
  8. package/cron/funcs/addCron.js +132 -132
  9. package/cron/index.js +10 -10
  10. package/crud/controllers/deleteCrud.js +36 -36
  11. package/crud/controllers/insert.js +71 -71
  12. package/crud/controllers/update.js +76 -76
  13. package/crud/controllers/utils/xssInjection.js +72 -72
  14. package/crud/funcs/dataDelete.js +19 -19
  15. package/crud/funcs/dataInsert.js +30 -30
  16. package/crud/funcs/dataUpdate.js +48 -48
  17. package/crud/funcs/getAccess.js +46 -44
  18. package/crud/funcs/getOpt.js +10 -10
  19. package/crud/funcs/getToken.js +27 -27
  20. package/crud/funcs/isFileExists.js +13 -13
  21. package/crud/funcs/setOpt.js +16 -16
  22. package/crud/funcs/setToken.js +53 -53
  23. package/crud/funcs/utils/getFolder.js +9 -9
  24. package/crud/funcs/utils/logChanges.js +62 -62
  25. package/crud/index.js +36 -36
  26. package/docs/.vitepress/abbr.mjs +26 -26
  27. package/docs/.vitepress/config.mjs +127 -127
  28. package/docs/.vitepress/navigation.mjs +82 -82
  29. package/docs/.vitepress/theme/Layout.vue +17 -17
  30. package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -102
  31. package/docs/.vitepress/theme/components/Panzoom.vue +169 -169
  32. package/docs/.vitepress/theme/index.mjs +15 -15
  33. package/docs/.vitepress/theme/style.scss +163 -163
  34. package/docs/abbr.json +4 -4
  35. package/docs/api/cron/cronApi.md +56 -56
  36. package/docs/api/crud/deleteCrud.md +58 -58
  37. package/docs/api/crud/insert.md +82 -82
  38. package/docs/api/crud/update.md +85 -85
  39. package/docs/api/index.md +47 -47
  40. package/docs/api/notification/testEmail.md +91 -91
  41. package/docs/api/table/card.md +73 -73
  42. package/docs/api/table/data.md +134 -134
  43. package/docs/api/table/export.md +60 -60
  44. package/docs/api/table/filter.md +104 -104
  45. package/docs/api/table/form.md +126 -126
  46. package/docs/api/table/search.md +123 -123
  47. package/docs/api/table/suggest.md +156 -156
  48. package/docs/api/table/table.md +107 -107
  49. package/docs/api/user/user.cls.id.md +77 -77
  50. package/docs/api/user/user.cls.md +49 -49
  51. package/docs/api/user/user.cls.post.md +62 -62
  52. package/docs/api/user/user.info.md +37 -37
  53. package/docs/api/utils/logger.file.md +60 -60
  54. package/docs/api/utils/next.id.md +34 -34
  55. package/docs/api/utils/properties.add.md +127 -127
  56. package/docs/api/utils/properties.get.md +73 -73
  57. package/docs/api/utils/status.monitor.md +36 -36
  58. package/docs/api/widget/widget.del.md +76 -76
  59. package/docs/api/widget/widget.get.md +233 -233
  60. package/docs/api/widget/widget.set.md +88 -88
  61. package/docs/db/admin.md +947 -947
  62. package/docs/db/crm.md +564 -564
  63. package/docs/db/index.md +9 -9
  64. package/docs/db/log.md +204 -204
  65. package/docs/hook/card/afterCard.md +20 -20
  66. package/docs/hook/card/preCard.md +25 -25
  67. package/docs/hook/data/afterData.md +26 -26
  68. package/docs/hook/data/preData.md +26 -26
  69. package/docs/hook/deleteCrud/afterDelete.md +21 -21
  70. package/docs/hook/deleteCrud/preDelete.md +26 -26
  71. package/docs/hook/form/afterForm.md +19 -19
  72. package/docs/hook/form/preForm.md +26 -26
  73. package/docs/hook/getTemplate/afterTemplate.md +24 -24
  74. package/docs/hook/getTemplate/preTemplate.md +29 -29
  75. package/docs/hook/index.md +45 -45
  76. package/docs/hook/insert/afterInsert.md +41 -41
  77. package/docs/hook/insert/preInsert.md +25 -25
  78. package/docs/hook/table/afterTable.md +20 -20
  79. package/docs/hook/table/preTable.md +25 -25
  80. package/docs/hook/update/afterUpdate.md +41 -41
  81. package/docs/hook/update/preUpdate.md +25 -25
  82. package/docs/index.md +42 -42
  83. package/docs/public/fastify-dark.svg +3 -3
  84. package/docs/public/logo-short-dark.svg +11 -11
  85. package/docs/public/logo-short.svg +10 -10
  86. package/docs/public/logo.svg +19 -19
  87. package/docs/readme/index.md +121 -121
  88. package/docs/templates/card.md +83 -83
  89. package/docs/templates/cls.md +29 -29
  90. package/docs/templates/filters.md +91 -91
  91. package/docs/templates/forms.md +139 -139
  92. package/docs/templates/index.md +28 -28
  93. package/docs/templates/select.md +90 -90
  94. package/docs/templates/table.md +162 -162
  95. package/docs/utils/cron/addCron.md +29 -29
  96. package/docs/utils/crud/dataInsert.md +51 -51
  97. package/docs/utils/crud/dataUpdate.md +52 -52
  98. package/docs/utils/crud/getOpt.md +33 -33
  99. package/docs/utils/crud/isFileExists.md +37 -37
  100. package/docs/utils/crud/setOpt.md +37 -37
  101. package/docs/utils/hook/addHook.md +74 -74
  102. package/docs/utils/hook/applyHook.md +64 -64
  103. package/docs/utils/index.md +47 -47
  104. package/docs/utils/notification/addNotification.md +28 -28
  105. package/docs/utils/notification/notification.md +41 -41
  106. package/docs/utils/pg/autoIndex.md +22 -22
  107. package/docs/utils/pg/getMeta.md +58 -58
  108. package/docs/utils/pg/getPG.md +34 -34
  109. package/docs/utils/pg/init.md +29 -29
  110. package/docs/utils/pg/pg.md +70 -70
  111. package/docs/utils/redis/getRedis.md +36 -36
  112. package/docs/utils/redis/rclient.md +74 -74
  113. package/docs/utils/table/getForm.md +68 -68
  114. package/docs/utils/table/getMeta.md +55 -55
  115. package/docs/utils/table/getSelect.md +38 -38
  116. package/docs/utils/table/getSelectMeta.md +46 -46
  117. package/docs/utils/table/getTable.md +77 -77
  118. package/helper.js +30 -30
  119. package/index.js +105 -105
  120. package/migration/exec.migrations.js +79 -79
  121. package/module/core/select/core.user_mentioned.sql +1 -1
  122. package/module/test/cls/itree.composition.json +25 -25
  123. package/module/test/table/test.rest_zone.table.json +265 -265
  124. package/notification/controllers/readNotifications.js +30 -30
  125. package/notification/controllers/testEmail.js +50 -50
  126. package/notification/controllers/userNotifications.js +64 -64
  127. package/notification/funcs/addNotification.js +21 -21
  128. package/notification/funcs/sendNotification.js +112 -112
  129. package/package.json +41 -41
  130. package/pg/funcs/getMeta.js +29 -29
  131. package/pg/funcs/getPG.js +30 -30
  132. package/pg/pgClients.js +20 -20
  133. package/policy/funcs/checkPolicy.js +92 -92
  134. package/policy/funcs/sqlInjection.js +33 -33
  135. package/policy/index.js +14 -14
  136. package/redis/client.js +8 -8
  137. package/redis/funcs/getRedis.js +23 -23
  138. package/redis/funcs/redisClients.js +2 -2
  139. package/redis/index.js +19 -19
  140. package/server/migrations/0.sql +78 -78
  141. package/server/migrations/cls.sql +39 -39
  142. package/server/migrations/log.sql +80 -80
  143. package/server/migrations/properties.sql +144 -144
  144. package/server/migrations/roles.sql +172 -166
  145. package/server/migrations/users.sql +168 -168
  146. package/server.js +26 -26
  147. package/table/controllers/data.js +150 -150
  148. package/table/controllers/filter.js +50 -50
  149. package/table/controllers/form.js +42 -42
  150. package/table/controllers/search.js +80 -80
  151. package/table/controllers/suggest.js +79 -79
  152. package/table/controllers/table.js +83 -83
  153. package/table/controllers/utils/addTemplateDir.js +8 -8
  154. package/table/controllers/utils/getSelect.js +19 -19
  155. package/table/controllers/utils/getSelectMeta.js +66 -66
  156. package/table/controllers/utils/getTemplate_old.js +28 -28
  157. package/table/controllers/utils/getTemplates.js +18 -18
  158. package/table/controllers/utils/gisIRColumn.js +67 -67
  159. package/table/controllers/utils/loadTemplate.js +1 -1
  160. package/table/controllers/utils/loadTemplatePath.js +1 -1
  161. package/table/controllers/utils/userTemplateDir.js +1 -1
  162. package/table/funcs/getFilterSQL/index.js +94 -94
  163. package/table/funcs/getFilterSQL/util/formatValue.js +170 -170
  164. package/table/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  165. package/table/funcs/getFilterSQL/util/getFilterQuery.js +66 -66
  166. package/table/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  167. package/table/funcs/getFilterSQL/util/getTableSql.js +34 -34
  168. package/table/funcs/metaFormat/getSelectVal.js +21 -21
  169. package/table/funcs/metaFormat/index.js +28 -28
  170. package/table/index.js +37 -37
  171. package/table/schema.js +54 -54
  172. package/test/api/applyHook.test.js +95 -95
  173. package/test/api/crud.test.js +89 -89
  174. package/test/api/crud.xss.test.js +80 -80
  175. package/test/api/suggest.test.js +66 -66
  176. package/test/api/table.test.js +134 -134
  177. package/test/api/user.test.js +85 -85
  178. package/test/api/widget.test.js +117 -117
  179. package/test/config.example +18 -18
  180. package/test/funcs/pg.test.js +34 -34
  181. package/test/funcs/redis.test.js +19 -19
  182. package/test/helper/formatDate.test.js +62 -62
  183. package/test/templates/cls/test.json +9 -9
  184. package/test/templates/form/cp_building.form.json +32 -32
  185. package/test/templates/select/account_id.json +3 -3
  186. package/test/templates/select/storage.data.json +2 -2
  187. package/test/templates/select/test.storage.data.json +3 -3
  188. package/test/templates/select/test.suggest.ato_new.json +3 -3
  189. package/test/templates/select/test.suggest.ato_new.sql +25 -25
  190. package/test/templates/select/test.suggest.data.json +4 -4
  191. package/test/templates/select/test.suggest.parent.sql +1 -1
  192. package/test/templates/table/gis.dataset.table.json +20 -20
  193. package/user/controllers/user.cls.id.js +14 -14
  194. package/user/controllers/user.cls.js +75 -75
  195. package/user/controllers/user.cls.post.js +55 -55
  196. package/user/controllers/user.info.js +21 -21
  197. package/util/controllers/logger.file.js +91 -91
  198. package/util/controllers/next.id.js +4 -4
  199. package/util/controllers/properties.add.js +60 -60
  200. package/util/controllers/properties.get.js +19 -19
  201. package/util/controllers/status.monitor.js +8 -8
  202. package/util/controllers/utils/checkUserAccess.js +17 -17
  203. package/util/controllers/utils/getRootDir.js +25 -25
  204. package/util/index.js +23 -23
  205. package/utils.js +104 -104
  206. package/widget/controllers/utils/historyFormat.js +76 -76
  207. package/widget/controllers/utils/obj2db.js +13 -13
  208. package/widget/controllers/widget.del.js +44 -44
  209. package/widget/controllers/widget.get.js +102 -102
  210. package/widget/controllers/widget.set.js +79 -79
  211. package/widget/index.js +40 -40
@@ -1,41 +1,41 @@
1
- # notification
2
-
3
- ## Опис
4
-
5
- Функція `notification` призначена для відправки повідомлень
6
-
7
- ``` js
8
- notification({
9
- pg,
10
- funcs,
11
- log,
12
- to,
13
- title: `Test email title`,
14
- message: `Lorem Ipsum Lorem Ipsum`,
15
- template,
16
- table,
17
- id,
18
- nocache,
19
- file,
20
- });
21
- ```
22
-
23
- ## Параметри
24
-
25
- :::tabs
26
- == params
27
-
28
- | Параметр | Тип | Опис |
29
- | -------- | ------ | ------------------------- |
30
- | `pg` | Object | Клієнт postgres |
31
- | `funcs` | Object | Функції |
32
- | `log` | Object | Pino logger |
33
- | `to` | String | Ел. пошта отримувача |
34
- | `title` | String | Заголовок повідомлення |
35
- | `message` | String | Текст повідомлення |
36
- | `template` | String | Шаблон (pt) |
37
- | `table` | String | Таблиця БД |
38
- | `id` | String | ID об'єкту |
39
- | `nocache` | Number | Відключити кешування |
40
- | `file` | Array | Шляхи до файлів |
41
- :::
1
+ # notification
2
+
3
+ ## Опис
4
+
5
+ Функція `notification` призначена для відправки повідомлень
6
+
7
+ ``` js
8
+ notification({
9
+ pg,
10
+ funcs,
11
+ log,
12
+ to,
13
+ title: `Test email title`,
14
+ message: `Lorem Ipsum Lorem Ipsum`,
15
+ template,
16
+ table,
17
+ id,
18
+ nocache,
19
+ file,
20
+ });
21
+ ```
22
+
23
+ ## Параметри
24
+
25
+ :::tabs
26
+ == params
27
+
28
+ | Параметр | Тип | Опис |
29
+ | -------- | ------ | ------------------------- |
30
+ | `pg` | Object | Клієнт postgres |
31
+ | `funcs` | Object | Функції |
32
+ | `log` | Object | Pino logger |
33
+ | `to` | String | Ел. пошта отримувача |
34
+ | `title` | String | Заголовок повідомлення |
35
+ | `message` | String | Текст повідомлення |
36
+ | `template` | String | Шаблон (pt) |
37
+ | `table` | String | Таблиця БД |
38
+ | `id` | String | ID об'єкту |
39
+ | `nocache` | Number | Відключити кешування |
40
+ | `file` | Array | Шляхи до файлів |
41
+ :::
@@ -1,22 +1,22 @@
1
- # autoindex
2
-
3
- ## Опис
4
-
5
- Функція `autoIndex` призначена для автоматичного створення індексів у базі даних на основі заданих фільтрів. Вона використовує клієнт PostgreSQL та Redis для управління індексами.
6
-
7
- ``` js
8
- autoIndex({
9
- table, columns: filter,
10
- });
11
- ```
12
-
13
- ## Параметри
14
-
15
- :::tabs
16
- == params
17
-
18
- | Параметр | Тип | Опис |
19
- | -------- | ------ | --------------------------------------------------- |
20
- | `table` | String | Назва таблиці в базі даних |
21
- | `columns` | Array | Масив фільтрів, на основі яких створюються індекси |
22
- :::
1
+ # autoindex
2
+
3
+ ## Опис
4
+
5
+ Функція `autoIndex` призначена для автоматичного створення індексів у базі даних на основі заданих фільтрів. Вона використовує клієнт PostgreSQL та Redis для управління індексами.
6
+
7
+ ``` js
8
+ autoIndex({
9
+ table, columns: filter,
10
+ });
11
+ ```
12
+
13
+ ## Параметри
14
+
15
+ :::tabs
16
+ == params
17
+
18
+ | Параметр | Тип | Опис |
19
+ | -------- | ------ | --------------------------------------------------- |
20
+ | `table` | String | Назва таблиці в базі даних |
21
+ | `columns` | Array | Масив фільтрів, на основі яких створюються індекси |
22
+ :::
@@ -1,59 +1,59 @@
1
- # getMeta
2
-
3
- ## Опис
4
-
5
- Метадані таблиці
6
-
7
- ```js
8
- getMeta({table: 'data_user.work'});
9
- ```
10
-
11
- ## Параметри
12
-
13
- :::tabs
14
- == params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ------- |
18
- | table | string | Таблиця |
19
-
20
- :::
21
-
22
- ## Відповідь
23
-
24
- :::details Приклад відповіді
25
-
26
- ```json
27
- {
28
- "res": {
29
- "pk": "id_work",
30
- "columns": [
31
- {
32
- "name": "id_work",
33
- "tableID": 8966220,
34
- "columnID": 1,
35
- "dataTypeID": 25,
36
- "dataTypeSize": -1,
37
- "dataTypeModifier": -1,
38
- "format": "text"
39
- },
40
- {
41
- "name": "type_work",
42
- "tableID": 8966220,
43
- "columnID": 2,
44
- "dataTypeID": 23,
45
- "dataTypeSize": 4,
46
- "dataTypeModifier": -1,
47
- "format": "text"
48
- }
49
- ],
50
- "geom": {
51
- "bounds": null,
52
- "count": "0",
53
- "srid": null,
54
- "geometry": null
55
- }
56
- }
57
- }
58
- ```
1
+ # getMeta
2
+
3
+ ## Опис
4
+
5
+ Метадані таблиці
6
+
7
+ ```js
8
+ getMeta({table: 'data_user.work'});
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ :::tabs
14
+ == params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ------- |
18
+ | table | string | Таблиця |
19
+
20
+ :::
21
+
22
+ ## Відповідь
23
+
24
+ :::details Приклад відповіді
25
+
26
+ ```json
27
+ {
28
+ "res": {
29
+ "pk": "id_work",
30
+ "columns": [
31
+ {
32
+ "name": "id_work",
33
+ "tableID": 8966220,
34
+ "columnID": 1,
35
+ "dataTypeID": 25,
36
+ "dataTypeSize": -1,
37
+ "dataTypeModifier": -1,
38
+ "format": "text"
39
+ },
40
+ {
41
+ "name": "type_work",
42
+ "tableID": 8966220,
43
+ "columnID": 2,
44
+ "dataTypeID": 23,
45
+ "dataTypeSize": 4,
46
+ "dataTypeModifier": -1,
47
+ "format": "text"
48
+ }
49
+ ],
50
+ "geom": {
51
+ "bounds": null,
52
+ "count": "0",
53
+ "srid": null,
54
+ "geometry": null
55
+ }
56
+ }
57
+ }
58
+ ```
59
59
  :::
@@ -1,34 +1,34 @@
1
- # getPG
2
-
3
- ## Опис
4
-
5
- Функція створює та повертає об'єкт для взаємодії з базою даних PostgreSQL. Використовується для отримання екземпляру підключення до бази даних.
6
-
7
- ```js
8
- getPG({ db: 'mbk_rivne_dma' });
9
- ```
10
-
11
- ## Параметри
12
-
13
- :::tabs
14
- == params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ---------- |
18
- | user | object | Користувач |
19
- | password | object | Пароль |
20
- | host | object | Хост |
21
- | port | object | Порт |
22
- | db | object | База даних |
23
-
24
- :::
25
-
26
- ## Відповідь
27
-
28
- :::details Приклад відповіді
29
-
30
- ```txt
31
- pg client function
32
- ```
33
-
34
- :::
1
+ # getPG
2
+
3
+ ## Опис
4
+
5
+ Функція створює та повертає об'єкт для взаємодії з базою даних PostgreSQL. Використовується для отримання екземпляру підключення до бази даних.
6
+
7
+ ```js
8
+ getPG({ db: 'mbk_rivne_dma' });
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ :::tabs
14
+ == params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ---------- |
18
+ | user | object | Користувач |
19
+ | password | object | Пароль |
20
+ | host | object | Хост |
21
+ | port | object | Порт |
22
+ | db | object | База даних |
23
+
24
+ :::
25
+
26
+ ## Відповідь
27
+
28
+ :::details Приклад відповіді
29
+
30
+ ```txt
31
+ pg client function
32
+ ```
33
+
34
+ :::
@@ -1,30 +1,30 @@
1
- # init
2
-
3
- ## Опис
4
-
5
- Init
6
-
7
- ```js
8
- init(client);
9
- ```
10
-
11
- ## Параметри
12
-
13
- :::tabs
14
- == params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ------ |
18
- | client | String | Клієнт |
19
-
20
-
21
- :::
22
-
23
- ## Відповідь
24
-
25
- :::details Приклад відповіді
26
-
27
- ```json
28
-
29
- ```
1
+ # init
2
+
3
+ ## Опис
4
+
5
+ Init
6
+
7
+ ```js
8
+ init(client);
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ :::tabs
14
+ == params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ------ |
18
+ | client | String | Клієнт |
19
+
20
+
21
+ :::
22
+
23
+ ## Відповідь
24
+
25
+ :::details Приклад відповіді
26
+
27
+ ```json
28
+
29
+ ```
30
30
  :::
@@ -1,70 +1,70 @@
1
- # pg
2
-
3
- [node pg](https://node-postgres.com/features/queries) - документація модуля `pg`
4
-
5
- ## PG Props
6
-
7
- ```js
8
- pg.pk["admin.cls"] // cls_id ; pk[table]
9
- pg.pgType[12] // int; type[typeid]
10
- pg.procList.includes("admin.next_id") // true
11
- pg.tableList.includes("admin.cls") // true
12
- pg.geom["admin.cls"] // false
13
- ```
14
-
15
- ## Параметри
16
-
17
- ```js
18
- pg.query(query, args?)
19
- ```
20
-
21
- | Назва | Тип | Опис |
22
- | -------- | ------- | -------------------------------- |
23
- | query | string | Запит sql |
24
- | args | array | Параметри запиту |
25
-
26
- ```js
27
- const query = 'INSERT INTO users(name, email) VALUES($1, $2) RETURNING *'
28
- const args = ['brianc', 'brian.m.carlson@gmail.com']
29
- const querySelect = 'select * from users where name = $1 and email = $2'
30
-
31
- pg.query(query) // Query Native
32
- pg.query(query, args) // Parameterized query Native
33
-
34
- pg.queryCache(querySelect) // Query with Cache Result
35
- pg.queryCache(querySelect, args) // Parameterized query with Cache Result
36
- ```
37
-
38
- ## pg.queryCache
39
-
40
- Повертає один рядок/об'єкт => `object`
41
-
42
- Отримай запит кешує в редіс. Якщо вже є кеш по цьому запиту, то повертає кеш.
43
- Якщо кеша немає то робить новий запит до бази даних.
44
-
45
- ```js
46
- const { sid } = await pg.queryCache('select sid from admin.site');
47
- console.log(sid); // 35
48
- ```
49
-
50
- ## pg.query
51
-
52
- Повертає масив рядків/об'єктів та структуру => `object`
53
-
54
- ```js
55
- const { rows, fields } = await pg.query('select sid from admin.site');
56
- console.log(rows); // [{sid:35}]
57
- console.log(fields); // опис полів запиту
58
-
59
- ```
60
-
61
- ## pg.queryNotice
62
-
63
- Повертає масив рядків /об'єктів, а також дозволяє вивести notice при відпрацюванні функції БД => `object`
64
-
65
- ```js
66
- const send = (txt) => { console.log(txt); };
67
- const { rows } = await pg.queryNotice('select gis_sync_sandbox.upload_data_check($1)', [{ din, uid }], send);
68
- console.log(rows); // [{ status: 2 }]
69
-
70
- ```
1
+ # pg
2
+
3
+ [node pg](https://node-postgres.com/features/queries) - документація модуля `pg`
4
+
5
+ ## PG Props
6
+
7
+ ```js
8
+ pg.pk["admin.cls"] // cls_id ; pk[table]
9
+ pg.pgType[12] // int; type[typeid]
10
+ pg.procList.includes("admin.next_id") // true
11
+ pg.tableList.includes("admin.cls") // true
12
+ pg.geom["admin.cls"] // false
13
+ ```
14
+
15
+ ## Параметри
16
+
17
+ ```js
18
+ pg.query(query, args?)
19
+ ```
20
+
21
+ | Назва | Тип | Опис |
22
+ | -------- | ------- | -------------------------------- |
23
+ | query | string | Запит sql |
24
+ | args | array | Параметри запиту |
25
+
26
+ ```js
27
+ const query = 'INSERT INTO users(name, email) VALUES($1, $2) RETURNING *'
28
+ const args = ['brianc', 'brian.m.carlson@gmail.com']
29
+ const querySelect = 'select * from users where name = $1 and email = $2'
30
+
31
+ pg.query(query) // Query Native
32
+ pg.query(query, args) // Parameterized query Native
33
+
34
+ pg.queryCache(querySelect) // Query with Cache Result
35
+ pg.queryCache(querySelect, args) // Parameterized query with Cache Result
36
+ ```
37
+
38
+ ## pg.queryCache
39
+
40
+ Повертає один рядок/об'єкт => `object`
41
+
42
+ Отримай запит кешує в редіс. Якщо вже є кеш по цьому запиту, то повертає кеш.
43
+ Якщо кеша немає то робить новий запит до бази даних.
44
+
45
+ ```js
46
+ const { sid } = await pg.queryCache('select sid from admin.site');
47
+ console.log(sid); // 35
48
+ ```
49
+
50
+ ## pg.query
51
+
52
+ Повертає масив рядків/об'єктів та структуру => `object`
53
+
54
+ ```js
55
+ const { rows, fields } = await pg.query('select sid from admin.site');
56
+ console.log(rows); // [{sid:35}]
57
+ console.log(fields); // опис полів запиту
58
+
59
+ ```
60
+
61
+ ## pg.queryNotice
62
+
63
+ Повертає масив рядків /об'єктів, а також дозволяє вивести notice при відпрацюванні функції БД => `object`
64
+
65
+ ```js
66
+ const send = (txt) => { console.log(txt); };
67
+ const { rows } = await pg.queryNotice('select gis_sync_sandbox.upload_data_check($1)', [{ din, uid }], send);
68
+ console.log(rows); // [{ status: 2 }]
69
+
70
+ ```
@@ -1,36 +1,36 @@
1
- # getRedis
2
-
3
- ## Опис
4
-
5
- Отримує конфіг Redis
6
-
7
- ```js
8
- getRedis({ db: 0 });
9
- ```
10
-
11
- ## Параметри
12
-
13
- ::: tabs
14
- ==params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ---------- |
18
- | db | Object | База даних |
19
-
20
- :::
21
-
22
- ## Приклад
23
-
24
- ```js
25
- getRedis({ db: 0 })
26
- ```
27
-
28
- ## Відповідь
29
-
30
- :::details Приклад відповіді
31
-
32
- ```txt
33
- rclient function
34
- ```
35
-
36
- :::
1
+ # getRedis
2
+
3
+ ## Опис
4
+
5
+ Отримує конфіг Redis
6
+
7
+ ```js
8
+ getRedis({ db: 0 });
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ::: tabs
14
+ ==params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ---------- |
18
+ | db | Object | База даних |
19
+
20
+ :::
21
+
22
+ ## Приклад
23
+
24
+ ```js
25
+ getRedis({ db: 0 })
26
+ ```
27
+
28
+ ## Відповідь
29
+
30
+ :::details Приклад відповіді
31
+
32
+ ```txt
33
+ rclient function
34
+ ```
35
+
36
+ :::