@addev-be/ui 1.1.5 → 1.1.6

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 (262) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/table.svg +1 -1
  21. package/assets/icons/up.svg +1 -1
  22. package/assets/icons/user-tie.svg +1 -1
  23. package/assets/icons/x-bar.svg +3 -3
  24. package/dist/components/data/DataGrid/styles.js +1 -1
  25. package/dist/components/forms/Form/CustomSelect.d.ts +13 -0
  26. package/dist/components/forms/Form/CustomSelect.js +51 -0
  27. package/dist/components/forms/Form/index.d.ts +11 -0
  28. package/dist/components/forms/Form/index.js +2 -0
  29. package/dist/components/layout/Dropdown/styles.d.ts +1 -0
  30. package/dist/components/layout/Dropdown/styles.js +5 -2
  31. package/eslint.config.js +3 -3
  32. package/package.json +2 -2
  33. package/src/Icons.tsx +138 -138
  34. package/src/components/auth/LoginForm.tsx +84 -84
  35. package/src/components/auth/LoginPage.tsx +32 -32
  36. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  37. package/src/components/auth/PasswordResetForm.tsx +112 -112
  38. package/src/components/auth/index.ts +4 -4
  39. package/src/components/auth/styles.ts +14 -14
  40. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  41. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  42. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  43. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  44. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  45. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  46. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  47. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +75 -75
  48. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  49. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  50. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  51. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +19 -19
  52. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  53. package/src/components/data/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  54. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  55. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  56. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  57. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  58. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  59. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  60. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  61. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  62. package/src/components/data/DataGrid/FilterModalContent/index.tsx +135 -135
  63. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  64. package/src/components/data/DataGrid/constants.ts +6 -6
  65. package/src/components/data/DataGrid/helpers/columns.tsx +453 -453
  66. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  67. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  68. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  69. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +380 -380
  70. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  71. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  72. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  73. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  74. package/src/components/data/DataGrid/index.tsx +122 -122
  75. package/src/components/data/DataGrid/styles.ts +430 -430
  76. package/src/components/data/DataGrid/types.ts +380 -380
  77. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  78. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -526
  79. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  80. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  81. package/src/components/data/SqlRequestDataGrid/index.tsx +420 -420
  82. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  83. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  84. package/src/components/data/SqlRequestForeignList/index.tsx +257 -257
  85. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  86. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  87. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  88. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  89. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  90. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  91. package/src/components/data/SqlRequestGrid/index.tsx +315 -315
  92. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  93. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  94. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  95. package/src/components/data/VirtualScroller/index.tsx +89 -89
  96. package/src/components/data/VirtualScroller/styles.ts +57 -57
  97. package/src/components/data/VirtualScroller/types.ts +10 -10
  98. package/src/components/data/index.ts +16 -16
  99. package/src/components/forms/AutoTextArea.tsx +48 -48
  100. package/src/components/forms/Button.tsx +132 -132
  101. package/src/components/forms/Form/Checkbox.tsx +12 -12
  102. package/src/components/forms/Form/CustomSelect.tsx +94 -0
  103. package/src/components/forms/Form/FormGroup.tsx +31 -31
  104. package/src/components/forms/Form/Input.tsx +16 -16
  105. package/src/components/forms/Form/Row.tsx +32 -32
  106. package/src/components/forms/Form/Select.tsx +87 -87
  107. package/src/components/forms/Form/TextArea.tsx +17 -17
  108. package/src/components/forms/Form/index.tsx +48 -45
  109. package/src/components/forms/Form/styles.ts +184 -184
  110. package/src/components/forms/IconButton.tsx +67 -67
  111. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  112. package/src/components/forms/NumberInput.tsx +53 -53
  113. package/src/components/forms/Select.tsx +34 -34
  114. package/src/components/forms/VerticalLabel.tsx +20 -20
  115. package/src/components/forms/index.ts +9 -9
  116. package/src/components/forms/styles.ts +42 -42
  117. package/src/components/index.ts +6 -6
  118. package/src/components/layout/Columns.ts +28 -28
  119. package/src/components/layout/Dropdown/index.tsx +113 -113
  120. package/src/components/layout/Dropdown/styles.ts +53 -45
  121. package/src/components/layout/Flexbox.ts +21 -21
  122. package/src/components/layout/Grid/index.tsx +8 -8
  123. package/src/components/layout/Grid/styles.ts +34 -34
  124. package/src/components/layout/Loading/index.tsx +29 -29
  125. package/src/components/layout/Loading/styles.ts +29 -29
  126. package/src/components/layout/Masonry/index.tsx +29 -29
  127. package/src/components/layout/Masonry/styles.ts +20 -20
  128. package/src/components/layout/Modal/index.tsx +51 -51
  129. package/src/components/layout/Modal/styles.ts +125 -125
  130. package/src/components/layout/index.ts +7 -7
  131. package/src/components/search/HighlightedText.tsx +41 -41
  132. package/src/components/search/QuickSearchBar.tsx +99 -99
  133. package/src/components/search/QuickSearchResults.tsx +86 -86
  134. package/src/components/search/index.ts +9 -9
  135. package/src/components/search/styles.ts +96 -96
  136. package/src/components/search/types.ts +29 -29
  137. package/src/components/ui/Avatar/index.tsx +54 -54
  138. package/src/components/ui/Avatar/styles.ts +61 -61
  139. package/src/components/ui/Card/index.tsx +14 -14
  140. package/src/components/ui/Card/styles.ts +37 -37
  141. package/src/components/ui/ContextMenu/index.tsx +79 -79
  142. package/src/components/ui/ContextMenu/styles.ts +119 -119
  143. package/src/components/ui/Ellipsis.tsx +34 -34
  144. package/src/components/ui/Label.tsx +99 -99
  145. package/src/components/ui/Message/index.tsx +57 -57
  146. package/src/components/ui/Message/styles.ts +40 -40
  147. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  148. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  149. package/src/components/ui/TabsView/index.ts +3 -3
  150. package/src/components/ui/TabsView/styles.ts +73 -73
  151. package/src/components/ui/TabsView/types.ts +12 -12
  152. package/src/components/ui/index.ts +7 -7
  153. package/src/config/index.ts +14 -14
  154. package/src/helpers/components.ts +23 -23
  155. package/src/helpers/dates.ts +17 -17
  156. package/src/helpers/getScrollbarSize.ts +14 -14
  157. package/src/helpers/index.ts +5 -5
  158. package/src/helpers/numbers.ts +63 -63
  159. package/src/helpers/responsive.ts +83 -83
  160. package/src/helpers/styled/space.ts +111 -111
  161. package/src/helpers/styled/typography.ts +25 -25
  162. package/src/helpers/text.ts +13 -13
  163. package/src/helpers/types.ts +9 -9
  164. package/src/hooks/index.ts +7 -7
  165. package/src/hooks/useContainerMediaQuery.ts +7 -7
  166. package/src/hooks/useElementSize.ts +24 -24
  167. package/src/hooks/useMediaQuery.ts +9 -9
  168. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  169. package/src/hooks/useMutableState.ts +17 -17
  170. package/src/hooks/useShowArchived.ts +28 -28
  171. package/src/hooks/useWindowSize.ts +20 -20
  172. package/src/index.ts +13 -13
  173. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  174. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  175. package/src/providers/LoadingProvider/index.tsx +47 -47
  176. package/src/providers/PortalsProvider/index.tsx +54 -54
  177. package/src/providers/PortalsProvider/styles.ts +31 -31
  178. package/src/providers/SettingsProvider/index.tsx +70 -70
  179. package/src/providers/ThemeProvider/ThemeProvider.ts +66 -66
  180. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  181. package/src/providers/ThemeProvider/helpers.ts +84 -84
  182. package/src/providers/ThemeProvider/index.ts +5 -5
  183. package/src/providers/ThemeProvider/types.ts +134 -134
  184. package/src/providers/ToastProvider/index.tsx +93 -93
  185. package/src/providers/TrackingProvider/hooks.ts +14 -14
  186. package/src/providers/TrackingProvider/index.tsx +71 -71
  187. package/src/providers/UiProviders/index.tsx +76 -76
  188. package/src/providers/UiProviders/styles.ts +10 -10
  189. package/src/providers/hooks.ts +14 -14
  190. package/src/providers/index.ts +9 -9
  191. package/src/services/HttpService.ts +92 -92
  192. package/src/services/WebSocketService.ts +155 -155
  193. package/src/services/advancedRequests.ts +102 -102
  194. package/src/services/base.ts +23 -23
  195. package/src/services/globalSearch.ts +32 -32
  196. package/src/services/hooks.ts +92 -92
  197. package/src/services/index.ts +21 -21
  198. package/src/services/requests/auth.ts +44 -44
  199. package/src/services/requests/generic.ts +62 -62
  200. package/src/services/requests/tracking.ts +12 -12
  201. package/src/services/requests/userProfiles.ts +35 -35
  202. package/src/services/requests/users.ts +28 -28
  203. package/src/services/smartQueries.ts +122 -122
  204. package/src/services/sqlRequests.ts +111 -111
  205. package/src/services/types/auth.ts +98 -98
  206. package/src/services/types/base.ts +10 -10
  207. package/src/services/types/generic.ts +82 -82
  208. package/src/services/types/tracking.ts +29 -29
  209. package/src/services/types/userProfiles.ts +79 -79
  210. package/src/services/types/users.ts +74 -74
  211. package/src/services/updateSqlRequests.ts +32 -32
  212. package/src/styles/animations.scss +30 -30
  213. package/src/styles/index.scss +42 -42
  214. package/src/typings.d.ts +17 -17
  215. package/tsconfig.json +18 -18
  216. package/tsconfig.tsbuildinfo +1 -1
  217. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  218. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -77
  219. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  220. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -105
  221. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  222. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  223. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  224. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  225. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  226. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  227. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  228. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  229. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  230. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  231. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  232. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  233. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  234. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  235. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  236. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  237. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  238. package/dist/components/data/DataGrid/helpers.js +0 -436
  239. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  240. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  241. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  242. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  243. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  244. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  245. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  246. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  247. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  248. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  249. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  250. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  251. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  252. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  253. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  254. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  255. package/dist/components/forms/Form/types.d.ts +0 -7
  256. package/dist/components/forms/Form/types.js +0 -2
  257. package/dist/config/types.d.ts +0 -11
  258. package/dist/config/types.js +0 -2
  259. package/dist/helpers/styled/index.d.ts +0 -1
  260. package/dist/helpers/styled/index.js +0 -17
  261. package/dist/services/requests/userPermissions.d.ts +0 -4
  262. package/dist/services/requests/userPermissions.js +0 -20
@@ -1,122 +1,122 @@
1
- import { useWebSocketRequestHandler } from './hooks';
2
-
3
- export type FieldDTO<T extends string = string> = {
4
- fieldName?: T;
5
- fieldAlias?: string;
6
- operator?:
7
- | 'add'
8
- | 'avg'
9
- | 'concat'
10
- | 'count'
11
- | 'divide'
12
- | 'groupConcat'
13
- | 'if'
14
- | 'ifNull'
15
- | 'jsonObject'
16
- | 'length'
17
- | 'max'
18
- | 'min'
19
- | 'modulo'
20
- | 'multiply'
21
- | 'subtract'
22
- | 'sum'
23
- | 'trim';
24
- operands?: FieldDTO[];
25
- constantValue?: string | number | boolean | null;
26
- groupBy?: boolean;
27
- };
28
-
29
- export type ConditionOperator =
30
- | 'lessThan'
31
- | 'lessThanOrEqual'
32
- | 'lessThanOrEquals'
33
- | 'equals'
34
- | 'notEquals'
35
- | 'greaterThanOrEqual'
36
- | 'greaterThanOrEquals'
37
- | 'greaterThan'
38
- | 'like'
39
- | 'contains'
40
- | 'notContains'
41
- | 'startsWith'
42
- | 'endsWith'
43
- | 'notLike'
44
- | 'inRange'
45
- | 'between'
46
- | 'isNull'
47
- | 'isNotNull'
48
- | 'inArray'
49
- | 'in'
50
- | 'not'
51
- | 'and'
52
- | 'or';
53
-
54
- export type HavingDTO = {
55
- operator: ConditionOperator;
56
- value?:
57
- | string
58
- | number
59
- | boolean
60
- | null
61
- | (string | number | boolean | null)[];
62
- };
63
-
64
- export type ConditionDTO = HavingDTO & {
65
- field: string | FieldDTO;
66
- children?: boolean;
67
- };
68
-
69
- export type OrderByDirection = 'ascending' | 'descending';
70
-
71
- export type FooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
72
-
73
- export type ColumnDTO = {
74
- key: string;
75
- field: FieldDTO;
76
- having?: HavingDTO;
77
- orderBy?: OrderByDirection;
78
- groupBy?: boolean;
79
- footer?: FooterFunction;
80
- };
81
-
82
- export type ColumnWithHavingDTO = ColumnDTO &
83
- Required<Pick<ColumnDTO, 'having'>>;
84
- export type ColumnWithFooterDTO = ColumnDTO &
85
- Required<Pick<ColumnDTO, 'footer'>>;
86
-
87
- export type QueryDTO = {
88
- type: string;
89
- columns?: ColumnDTO[];
90
- filterColumn?: ColumnDTO;
91
- where?: ConditionDTO[];
92
- offset?: number;
93
- limit?: number;
94
- getCount?: boolean;
95
- unique?: boolean;
96
- };
97
-
98
- export type RequestRow<R> = {
99
- [K in keyof R]: R[K] extends string | number | null | undefined
100
- ? R[K]
101
- : string | number | null | undefined;
102
- };
103
-
104
- export type ResponseDTO<T = unknown> = {
105
- data: RequestRow<T>[];
106
- count?: number;
107
- totals?: Record<string, string | number | null | undefined>;
108
- };
109
-
110
- export type RequestHandler<T> = (request: QueryDTO) => Promise<ResponseDTO<T>>;
111
-
112
- export const useSmartQueryHandler = <T = unknown>(
113
- name: string
114
- ): [
115
- RequestHandler<T>,
116
- RequestHandler<{ id: string }>,
117
- RequestHandler<Partial<T>>
118
- ] => [
119
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<T>>(name),
120
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<{ id: string }>>(name),
121
- useWebSocketRequestHandler<QueryDTO, ResponseDTO<Partial<T>>>(name),
122
- ];
1
+ import { useWebSocketRequestHandler } from './hooks';
2
+
3
+ export type FieldDTO<T extends string = string> = {
4
+ fieldName?: T;
5
+ fieldAlias?: string;
6
+ operator?:
7
+ | 'add'
8
+ | 'avg'
9
+ | 'concat'
10
+ | 'count'
11
+ | 'divide'
12
+ | 'groupConcat'
13
+ | 'if'
14
+ | 'ifNull'
15
+ | 'jsonObject'
16
+ | 'length'
17
+ | 'max'
18
+ | 'min'
19
+ | 'modulo'
20
+ | 'multiply'
21
+ | 'subtract'
22
+ | 'sum'
23
+ | 'trim';
24
+ operands?: FieldDTO[];
25
+ constantValue?: string | number | boolean | null;
26
+ groupBy?: boolean;
27
+ };
28
+
29
+ export type ConditionOperator =
30
+ | 'lessThan'
31
+ | 'lessThanOrEqual'
32
+ | 'lessThanOrEquals'
33
+ | 'equals'
34
+ | 'notEquals'
35
+ | 'greaterThanOrEqual'
36
+ | 'greaterThanOrEquals'
37
+ | 'greaterThan'
38
+ | 'like'
39
+ | 'contains'
40
+ | 'notContains'
41
+ | 'startsWith'
42
+ | 'endsWith'
43
+ | 'notLike'
44
+ | 'inRange'
45
+ | 'between'
46
+ | 'isNull'
47
+ | 'isNotNull'
48
+ | 'inArray'
49
+ | 'in'
50
+ | 'not'
51
+ | 'and'
52
+ | 'or';
53
+
54
+ export type HavingDTO = {
55
+ operator: ConditionOperator;
56
+ value?:
57
+ | string
58
+ | number
59
+ | boolean
60
+ | null
61
+ | (string | number | boolean | null)[];
62
+ };
63
+
64
+ export type ConditionDTO = HavingDTO & {
65
+ field: string | FieldDTO;
66
+ children?: boolean;
67
+ };
68
+
69
+ export type OrderByDirection = 'ascending' | 'descending';
70
+
71
+ export type FooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
72
+
73
+ export type ColumnDTO = {
74
+ key: string;
75
+ field: FieldDTO;
76
+ having?: HavingDTO;
77
+ orderBy?: OrderByDirection;
78
+ groupBy?: boolean;
79
+ footer?: FooterFunction;
80
+ };
81
+
82
+ export type ColumnWithHavingDTO = ColumnDTO &
83
+ Required<Pick<ColumnDTO, 'having'>>;
84
+ export type ColumnWithFooterDTO = ColumnDTO &
85
+ Required<Pick<ColumnDTO, 'footer'>>;
86
+
87
+ export type QueryDTO = {
88
+ type: string;
89
+ columns?: ColumnDTO[];
90
+ filterColumn?: ColumnDTO;
91
+ where?: ConditionDTO[];
92
+ offset?: number;
93
+ limit?: number;
94
+ getCount?: boolean;
95
+ unique?: boolean;
96
+ };
97
+
98
+ export type RequestRow<R> = {
99
+ [K in keyof R]: R[K] extends string | number | null | undefined
100
+ ? R[K]
101
+ : string | number | null | undefined;
102
+ };
103
+
104
+ export type ResponseDTO<T = unknown> = {
105
+ data: RequestRow<T>[];
106
+ count?: number;
107
+ totals?: Record<string, string | number | null | undefined>;
108
+ };
109
+
110
+ export type RequestHandler<T> = (request: QueryDTO) => Promise<ResponseDTO<T>>;
111
+
112
+ export const useSmartQueryHandler = <T = unknown>(
113
+ name: string
114
+ ): [
115
+ RequestHandler<T>,
116
+ RequestHandler<{ id: string }>,
117
+ RequestHandler<Partial<T>>
118
+ ] => [
119
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<T>>(name),
120
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<{ id: string }>>(name),
121
+ useWebSocketRequestHandler<QueryDTO, ResponseDTO<Partial<T>>>(name),
122
+ ];
@@ -1,111 +1,111 @@
1
- import { useWebSocketRequestHandler } from './hooks';
2
-
3
- export type FieldDTO<T extends string = string> = {
4
- fieldName?: T;
5
- fieldAlias?: string;
6
- operator?:
7
- | 'add'
8
- | 'concat'
9
- | 'divide'
10
- | 'groupConcat'
11
- | 'if'
12
- | 'ifNull'
13
- | 'jsonObject'
14
- | 'length'
15
- | 'modulo'
16
- | 'multiply'
17
- | 'subtract'
18
- | 'sum'
19
- | 'trim';
20
- operands?: FieldDTO[];
21
- constantValue?: string | number | boolean | null;
22
- groupBy?: boolean;
23
- };
24
-
25
- export type ConditionDTO = {
26
- field: string;
27
- operator:
28
- | 'lessThan'
29
- | 'lessThanOrEqual'
30
- | 'lessThanOrEquals'
31
- | 'equals'
32
- | 'notEquals'
33
- | 'greaterThanOrEqual'
34
- | 'greaterThanOrEquals'
35
- | 'greaterThan'
36
- | 'like'
37
- | 'contains'
38
- | 'notContains'
39
- | 'startsWith'
40
- | 'endsWith'
41
- | 'notLike'
42
- | 'inRange'
43
- | 'between'
44
- | 'isNull'
45
- | 'isNotNull'
46
- | 'inArray'
47
- | 'in'
48
- | 'not'
49
- | 'and'
50
- | 'or';
51
- value?:
52
- | string
53
- | number
54
- | boolean
55
- | null
56
- | (string | number | boolean | null)[];
57
- children?: boolean;
58
- };
59
-
60
- export type OrderByDTO = {
61
- field: string;
62
- type: string;
63
- direction?: 'ASC' | 'DESC';
64
- };
65
-
66
- export type SqlRequestFooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
67
-
68
- export type SqlRequestDTO = {
69
- columns?: string[];
70
- returnColumns?: string[];
71
- columnTypes?: string[];
72
- totalColumns?: Record<string, SqlRequestFooterFunction>;
73
- conditions?: ConditionDTO[];
74
- orderBy?: OrderByDTO[];
75
- start?: number;
76
- length?: number;
77
- getCount?: boolean;
78
- unique?: boolean;
79
- };
80
-
81
- export type SqlRequestRow<R> = {
82
- [K in keyof R]: R[K] extends string | number | null | undefined
83
- ? R[K]
84
- : string | number | null | undefined;
85
- };
86
-
87
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
- export type SqlResponseDTO<T = any> = {
89
- data: SqlRequestRow<T>[];
90
- count?: number;
91
- totals?: Record<string, string | number | null | undefined>;
92
- };
93
-
94
- type SqlRequestHandler<T> = (
95
- request: SqlRequestDTO
96
- ) => Promise<SqlResponseDTO<T>>;
97
-
98
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
- export const useSqlRequestHandler = <T = any>(
100
- name: string
101
- ): [
102
- SqlRequestHandler<T>,
103
- SqlRequestHandler<{ Id: string }>,
104
- SqlRequestHandler<Partial<T>>
105
- ] => [
106
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<T>>(name),
107
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<{ Id: string }>>(
108
- name
109
- ),
110
- useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<Partial<T>>>(name),
111
- ];
1
+ import { useWebSocketRequestHandler } from './hooks';
2
+
3
+ export type FieldDTO<T extends string = string> = {
4
+ fieldName?: T;
5
+ fieldAlias?: string;
6
+ operator?:
7
+ | 'add'
8
+ | 'concat'
9
+ | 'divide'
10
+ | 'groupConcat'
11
+ | 'if'
12
+ | 'ifNull'
13
+ | 'jsonObject'
14
+ | 'length'
15
+ | 'modulo'
16
+ | 'multiply'
17
+ | 'subtract'
18
+ | 'sum'
19
+ | 'trim';
20
+ operands?: FieldDTO[];
21
+ constantValue?: string | number | boolean | null;
22
+ groupBy?: boolean;
23
+ };
24
+
25
+ export type ConditionDTO = {
26
+ field: string;
27
+ operator:
28
+ | 'lessThan'
29
+ | 'lessThanOrEqual'
30
+ | 'lessThanOrEquals'
31
+ | 'equals'
32
+ | 'notEquals'
33
+ | 'greaterThanOrEqual'
34
+ | 'greaterThanOrEquals'
35
+ | 'greaterThan'
36
+ | 'like'
37
+ | 'contains'
38
+ | 'notContains'
39
+ | 'startsWith'
40
+ | 'endsWith'
41
+ | 'notLike'
42
+ | 'inRange'
43
+ | 'between'
44
+ | 'isNull'
45
+ | 'isNotNull'
46
+ | 'inArray'
47
+ | 'in'
48
+ | 'not'
49
+ | 'and'
50
+ | 'or';
51
+ value?:
52
+ | string
53
+ | number
54
+ | boolean
55
+ | null
56
+ | (string | number | boolean | null)[];
57
+ children?: boolean;
58
+ };
59
+
60
+ export type OrderByDTO = {
61
+ field: string;
62
+ type: string;
63
+ direction?: 'ASC' | 'DESC';
64
+ };
65
+
66
+ export type SqlRequestFooterFunction = 'sum' | 'avg' | 'count' | 'max' | 'min';
67
+
68
+ export type SqlRequestDTO = {
69
+ columns?: string[];
70
+ returnColumns?: string[];
71
+ columnTypes?: string[];
72
+ totalColumns?: Record<string, SqlRequestFooterFunction>;
73
+ conditions?: ConditionDTO[];
74
+ orderBy?: OrderByDTO[];
75
+ start?: number;
76
+ length?: number;
77
+ getCount?: boolean;
78
+ unique?: boolean;
79
+ };
80
+
81
+ export type SqlRequestRow<R> = {
82
+ [K in keyof R]: R[K] extends string | number | null | undefined
83
+ ? R[K]
84
+ : string | number | null | undefined;
85
+ };
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
88
+ export type SqlResponseDTO<T = any> = {
89
+ data: SqlRequestRow<T>[];
90
+ count?: number;
91
+ totals?: Record<string, string | number | null | undefined>;
92
+ };
93
+
94
+ type SqlRequestHandler<T> = (
95
+ request: SqlRequestDTO
96
+ ) => Promise<SqlResponseDTO<T>>;
97
+
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ export const useSqlRequestHandler = <T = any>(
100
+ name: string
101
+ ): [
102
+ SqlRequestHandler<T>,
103
+ SqlRequestHandler<{ Id: string }>,
104
+ SqlRequestHandler<Partial<T>>
105
+ ] => [
106
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<T>>(name),
107
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<{ Id: string }>>(
108
+ name
109
+ ),
110
+ useWebSocketRequestHandler<SqlRequestDTO, SqlResponseDTO<Partial<T>>>(name),
111
+ ];
@@ -1,98 +1,98 @@
1
- import * as z from 'zod';
2
-
3
- import { userDtoSchema } from './users';
4
-
5
- export const loginRequestDtoSchema = z.object({
6
- username: z.string(),
7
- password: z.string(),
8
- });
9
-
10
- export const loginResponseDtoSchema = z.object({
11
- status: z.number(),
12
- token: z.string(),
13
- user: userDtoSchema.nullable(),
14
- });
15
-
16
- export type LoginRequestDTO = z.infer<typeof loginRequestDtoSchema>;
17
- export type LoginResponseDTO = z.infer<typeof loginResponseDtoSchema>;
18
-
19
- /*****/
20
-
21
- export const logoutRequestDtoSchema = z.object({});
22
-
23
- export const logoutResponseDtoSchema = z.object({
24
- status: z.number(),
25
- });
26
-
27
- export type LogoutRequestDTO = z.infer<typeof logoutRequestDtoSchema>;
28
- export type LogoutResponseDTO = z.infer<typeof logoutResponseDtoSchema>;
29
-
30
- /*****/
31
-
32
- export const authenticateRequestDtoSchema = z.object({
33
- token: z.string(),
34
- });
35
-
36
- export const authenticateResponseDtoSchema = z.object({
37
- status: z.number(),
38
- user: userDtoSchema.nullable(),
39
- });
40
-
41
- export type AuthenticateRequestDTO = z.infer<
42
- typeof authenticateRequestDtoSchema
43
- >;
44
- export type AuthenticateResponseDTO = z.infer<
45
- typeof authenticateResponseDtoSchema
46
- >;
47
-
48
- /*****/
49
-
50
- export const sendRecoveryKeyRequestDtoSchema = z.object({
51
- email: z.string(),
52
- });
53
-
54
- export const sendRecoveryKeyResponseDtoSchema = z.object({
55
- status: z.number(),
56
- });
57
-
58
- export type SendRecoveryKeyRequestDTO = z.infer<
59
- typeof sendRecoveryKeyRequestDtoSchema
60
- >;
61
- export type SendRecoveryKeyResponseDTO = z.infer<
62
- typeof sendRecoveryKeyResponseDtoSchema
63
- >;
64
-
65
- /*****/
66
-
67
- export const checkRecoveryKeyRequestDtoSchema = z.object({
68
- key: z.string(),
69
- });
70
-
71
- export const checkRecoveryKeyResponseDtoSchema = z.object({
72
- status: z.number(),
73
- });
74
-
75
- export type CheckRecoveryKeyRequestDTO = z.infer<
76
- typeof checkRecoveryKeyRequestDtoSchema
77
- >;
78
- export type CheckRecoveryKeyResponseDTO = z.infer<
79
- typeof checkRecoveryKeyResponseDtoSchema
80
- >;
81
-
82
- /*****/
83
-
84
- export const resetPasswordRequestDtoSchema = z.object({
85
- key: z.string(),
86
- password: z.string(),
87
- });
88
-
89
- export const resetPasswordResponseDtoSchema = z.object({
90
- status: z.number(),
91
- });
92
-
93
- export type ResetPasswordRequestDTO = z.infer<
94
- typeof resetPasswordRequestDtoSchema
95
- >;
96
- export type ResetPasswordResponseDTO = z.infer<
97
- typeof resetPasswordResponseDtoSchema
98
- >;
1
+ import * as z from 'zod';
2
+
3
+ import { userDtoSchema } from './users';
4
+
5
+ export const loginRequestDtoSchema = z.object({
6
+ username: z.string(),
7
+ password: z.string(),
8
+ });
9
+
10
+ export const loginResponseDtoSchema = z.object({
11
+ status: z.number(),
12
+ token: z.string(),
13
+ user: userDtoSchema.nullable(),
14
+ });
15
+
16
+ export type LoginRequestDTO = z.infer<typeof loginRequestDtoSchema>;
17
+ export type LoginResponseDTO = z.infer<typeof loginResponseDtoSchema>;
18
+
19
+ /*****/
20
+
21
+ export const logoutRequestDtoSchema = z.object({});
22
+
23
+ export const logoutResponseDtoSchema = z.object({
24
+ status: z.number(),
25
+ });
26
+
27
+ export type LogoutRequestDTO = z.infer<typeof logoutRequestDtoSchema>;
28
+ export type LogoutResponseDTO = z.infer<typeof logoutResponseDtoSchema>;
29
+
30
+ /*****/
31
+
32
+ export const authenticateRequestDtoSchema = z.object({
33
+ token: z.string(),
34
+ });
35
+
36
+ export const authenticateResponseDtoSchema = z.object({
37
+ status: z.number(),
38
+ user: userDtoSchema.nullable(),
39
+ });
40
+
41
+ export type AuthenticateRequestDTO = z.infer<
42
+ typeof authenticateRequestDtoSchema
43
+ >;
44
+ export type AuthenticateResponseDTO = z.infer<
45
+ typeof authenticateResponseDtoSchema
46
+ >;
47
+
48
+ /*****/
49
+
50
+ export const sendRecoveryKeyRequestDtoSchema = z.object({
51
+ email: z.string(),
52
+ });
53
+
54
+ export const sendRecoveryKeyResponseDtoSchema = z.object({
55
+ status: z.number(),
56
+ });
57
+
58
+ export type SendRecoveryKeyRequestDTO = z.infer<
59
+ typeof sendRecoveryKeyRequestDtoSchema
60
+ >;
61
+ export type SendRecoveryKeyResponseDTO = z.infer<
62
+ typeof sendRecoveryKeyResponseDtoSchema
63
+ >;
64
+
65
+ /*****/
66
+
67
+ export const checkRecoveryKeyRequestDtoSchema = z.object({
68
+ key: z.string(),
69
+ });
70
+
71
+ export const checkRecoveryKeyResponseDtoSchema = z.object({
72
+ status: z.number(),
73
+ });
74
+
75
+ export type CheckRecoveryKeyRequestDTO = z.infer<
76
+ typeof checkRecoveryKeyRequestDtoSchema
77
+ >;
78
+ export type CheckRecoveryKeyResponseDTO = z.infer<
79
+ typeof checkRecoveryKeyResponseDtoSchema
80
+ >;
81
+
82
+ /*****/
83
+
84
+ export const resetPasswordRequestDtoSchema = z.object({
85
+ key: z.string(),
86
+ password: z.string(),
87
+ });
88
+
89
+ export const resetPasswordResponseDtoSchema = z.object({
90
+ status: z.number(),
91
+ });
92
+
93
+ export type ResetPasswordRequestDTO = z.infer<
94
+ typeof resetPasswordRequestDtoSchema
95
+ >;
96
+ export type ResetPasswordResponseDTO = z.infer<
97
+ typeof resetPasswordResponseDtoSchema
98
+ >;
@@ -1,10 +1,10 @@
1
- import * as z from 'zod';
2
-
3
- export const baseModelDtoSchema = z.object({
4
- id: z.string().nullable(),
5
- });
6
-
7
- export type BaseModelDTO = z.infer<typeof baseModelDtoSchema>;
8
-
9
- export const UUID_REGEX =
10
- /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
1
+ import * as z from 'zod';
2
+
3
+ export const baseModelDtoSchema = z.object({
4
+ id: z.string().nullable(),
5
+ });
6
+
7
+ export type BaseModelDTO = z.infer<typeof baseModelDtoSchema>;
8
+
9
+ export const UUID_REGEX =
10
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;