@addev-be/ui 1.1.5 → 1.1.7

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 (245) 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/up.svg +1 -1
  21. package/assets/icons/user-tie.svg +1 -1
  22. package/assets/icons/x-bar.svg +3 -3
  23. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +8 -9
  24. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +72 -21
  25. package/dist/components/data/AdvancedRequestDataGrid/index.js +2 -2
  26. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +1 -1
  27. package/dist/components/data/DataGrid/styles.js +1 -1
  28. package/dist/components/forms/Form/CustomSelect.d.ts +13 -0
  29. package/dist/components/forms/Form/CustomSelect.js +51 -0
  30. package/dist/components/forms/Form/index.d.ts +11 -0
  31. package/dist/components/forms/Form/index.js +2 -0
  32. package/dist/components/layout/Dropdown/styles.d.ts +1 -0
  33. package/dist/components/layout/Dropdown/styles.js +5 -2
  34. package/eslint.config.js +3 -3
  35. package/package.json +2 -2
  36. package/src/Icons.tsx +138 -138
  37. package/src/components/auth/LoginForm.tsx +84 -84
  38. package/src/components/auth/LoginPage.tsx +32 -32
  39. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  40. package/src/components/auth/PasswordResetForm.tsx +112 -112
  41. package/src/components/auth/index.ts +4 -4
  42. package/src/components/auth/styles.ts +14 -14
  43. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  44. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  45. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  46. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  47. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  48. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  49. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  50. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +75 -75
  51. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  52. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  53. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  54. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +19 -19
  55. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  56. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  57. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  58. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  59. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  60. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  61. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  62. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  63. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  64. package/src/components/data/DataGrid/FilterModalContent/index.tsx +135 -135
  65. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  66. package/src/components/data/DataGrid/constants.ts +6 -6
  67. package/src/components/data/DataGrid/helpers/columns.tsx +453 -453
  68. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  69. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  70. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  71. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +380 -380
  72. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  73. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  74. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  75. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  76. package/src/components/data/DataGrid/index.tsx +122 -122
  77. package/src/components/data/DataGrid/styles.ts +430 -430
  78. package/src/components/data/DataGrid/types.ts +380 -380
  79. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  80. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -526
  81. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  82. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  83. package/src/components/data/SqlRequestDataGrid/index.tsx +420 -420
  84. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  85. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  86. package/src/components/data/SqlRequestForeignList/index.tsx +257 -257
  87. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  88. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  89. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  90. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  91. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  92. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  93. package/src/components/data/SqlRequestGrid/index.tsx +315 -315
  94. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  95. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  96. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  97. package/src/components/data/VirtualScroller/index.tsx +89 -89
  98. package/src/components/data/VirtualScroller/styles.ts +57 -57
  99. package/src/components/data/VirtualScroller/types.ts +10 -10
  100. package/src/components/data/index.ts +16 -16
  101. package/src/components/forms/AutoTextArea.tsx +48 -48
  102. package/src/components/forms/Button.tsx +132 -132
  103. package/src/components/forms/Form/Checkbox.tsx +12 -12
  104. package/src/components/forms/Form/CustomSelect.tsx +94 -0
  105. package/src/components/forms/Form/FormGroup.tsx +31 -31
  106. package/src/components/forms/Form/Input.tsx +16 -16
  107. package/src/components/forms/Form/Row.tsx +32 -32
  108. package/src/components/forms/Form/Select.tsx +87 -87
  109. package/src/components/forms/Form/TextArea.tsx +17 -17
  110. package/src/components/forms/Form/index.tsx +48 -45
  111. package/src/components/forms/Form/styles.ts +184 -184
  112. package/src/components/forms/IconButton.tsx +67 -67
  113. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  114. package/src/components/forms/NumberInput.tsx +53 -53
  115. package/src/components/forms/Select.tsx +34 -34
  116. package/src/components/forms/VerticalLabel.tsx +20 -20
  117. package/src/components/forms/index.ts +9 -9
  118. package/src/components/forms/styles.ts +42 -42
  119. package/src/components/index.ts +6 -6
  120. package/src/components/layout/Columns.ts +28 -28
  121. package/src/components/layout/Dropdown/index.tsx +113 -113
  122. package/src/components/layout/Dropdown/styles.ts +53 -45
  123. package/src/components/layout/Flexbox.ts +21 -21
  124. package/src/components/layout/Grid/index.tsx +8 -8
  125. package/src/components/layout/Grid/styles.ts +34 -34
  126. package/src/components/layout/Loading/index.tsx +29 -29
  127. package/src/components/layout/Loading/styles.ts +29 -29
  128. package/src/components/layout/Masonry/index.tsx +29 -29
  129. package/src/components/layout/Masonry/styles.ts +20 -20
  130. package/src/components/layout/Modal/index.tsx +51 -51
  131. package/src/components/layout/Modal/styles.ts +125 -125
  132. package/src/components/layout/index.ts +7 -7
  133. package/src/components/search/HighlightedText.tsx +41 -41
  134. package/src/components/search/QuickSearchBar.tsx +99 -99
  135. package/src/components/search/QuickSearchResults.tsx +86 -86
  136. package/src/components/search/index.ts +9 -9
  137. package/src/components/search/styles.ts +96 -96
  138. package/src/components/search/types.ts +29 -29
  139. package/src/components/ui/Avatar/index.tsx +54 -54
  140. package/src/components/ui/Card/index.tsx +14 -14
  141. package/src/components/ui/Card/styles.ts +37 -37
  142. package/src/components/ui/ContextMenu/index.tsx +79 -79
  143. package/src/components/ui/ContextMenu/styles.ts +119 -119
  144. package/src/components/ui/Ellipsis.tsx +34 -34
  145. package/src/components/ui/Label.tsx +99 -99
  146. package/src/components/ui/Message/index.tsx +57 -57
  147. package/src/components/ui/Message/styles.ts +40 -40
  148. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  149. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  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/dates.ts +17 -17
  155. package/src/helpers/getScrollbarSize.ts +14 -14
  156. package/src/helpers/index.ts +5 -5
  157. package/src/helpers/numbers.ts +63 -63
  158. package/src/helpers/responsive.ts +83 -83
  159. package/src/helpers/styled/typography.ts +25 -25
  160. package/src/helpers/text.ts +13 -13
  161. package/src/helpers/types.ts +9 -9
  162. package/src/hooks/index.ts +7 -7
  163. package/src/hooks/useContainerMediaQuery.ts +7 -7
  164. package/src/hooks/useElementSize.ts +24 -24
  165. package/src/hooks/useMediaQuery.ts +9 -9
  166. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  167. package/src/hooks/useMutableState.ts +17 -17
  168. package/src/hooks/useShowArchived.ts +28 -28
  169. package/src/hooks/useWindowSize.ts +20 -20
  170. package/src/index.ts +13 -13
  171. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  172. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  173. package/src/providers/LoadingProvider/index.tsx +47 -47
  174. package/src/providers/PortalsProvider/index.tsx +54 -54
  175. package/src/providers/PortalsProvider/styles.ts +31 -31
  176. package/src/providers/SettingsProvider/index.tsx +70 -70
  177. package/src/providers/ThemeProvider/ThemeProvider.ts +66 -66
  178. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  179. package/src/providers/ThemeProvider/helpers.ts +84 -84
  180. package/src/providers/ThemeProvider/index.ts +5 -5
  181. package/src/providers/ThemeProvider/types.ts +134 -134
  182. package/src/providers/ToastProvider/index.tsx +93 -93
  183. package/src/providers/TrackingProvider/index.tsx +71 -71
  184. package/src/providers/UiProviders/index.tsx +76 -76
  185. package/src/providers/UiProviders/styles.ts +10 -10
  186. package/src/providers/hooks.ts +14 -14
  187. package/src/providers/index.ts +9 -9
  188. package/src/services/HttpService.ts +92 -92
  189. package/src/services/WebSocketService.ts +155 -155
  190. package/src/services/advancedRequests.ts +102 -102
  191. package/src/services/base.ts +23 -23
  192. package/src/services/globalSearch.ts +32 -32
  193. package/src/services/hooks.ts +92 -92
  194. package/src/services/index.ts +21 -21
  195. package/src/services/requests/auth.ts +44 -44
  196. package/src/services/requests/generic.ts +62 -62
  197. package/src/services/requests/tracking.ts +12 -12
  198. package/src/services/requests/userProfiles.ts +35 -35
  199. package/src/services/requests/users.ts +28 -28
  200. package/src/services/smartQueries.ts +122 -122
  201. package/src/services/sqlRequests.ts +111 -111
  202. package/src/services/types/auth.ts +98 -98
  203. package/src/services/types/base.ts +10 -10
  204. package/src/services/types/generic.ts +82 -82
  205. package/src/services/types/tracking.ts +29 -29
  206. package/src/services/types/userProfiles.ts +79 -79
  207. package/src/services/types/users.ts +74 -74
  208. package/src/services/updateSqlRequests.ts +32 -32
  209. package/src/styles/animations.scss +30 -30
  210. package/src/styles/index.scss +42 -42
  211. package/src/typings.d.ts +17 -17
  212. package/tsconfig.json +18 -18
  213. package/tsconfig.tsbuildinfo +1 -1
  214. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  215. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  216. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  217. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  218. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  219. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  220. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  221. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  222. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  223. package/dist/components/data/DataGrid/helpers.js +0 -436
  224. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  225. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  226. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  227. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  228. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  229. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  230. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  231. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  232. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  233. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  234. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  235. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  236. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  237. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  238. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  239. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  240. package/dist/components/forms/Form/types.d.ts +0 -7
  241. package/dist/components/forms/Form/types.js +0 -2
  242. package/dist/config/types.d.ts +0 -11
  243. package/dist/config/types.js +0 -2
  244. package/dist/services/requests/userPermissions.d.ts +0 -4
  245. 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;