@addev-be/ui 2.3.0 → 2.4.1

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 (234) 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/hooks/useDataGrid.js +3 -0
  28. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +1 -2
  29. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +3 -2
  30. package/dist/services/index.js +7 -17
  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 +86 -86
  35. package/src/components/auth/LoginPage.tsx +32 -32
  36. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  37. package/src/components/auth/PasswordResetForm.tsx +112 -112
  38. package/src/components/auth/styles.ts +14 -14
  39. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  40. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  41. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  42. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  43. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  44. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  45. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  46. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  47. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  48. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  49. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  50. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +18 -18
  51. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  52. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  53. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  54. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  55. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  56. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  57. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  58. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  59. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  60. package/src/components/data/DataGrid/FilterModalContent/index.tsx +137 -137
  61. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  62. package/src/components/data/DataGrid/constants.ts +6 -6
  63. package/src/components/data/DataGrid/helpers/columns.tsx +452 -452
  64. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  65. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  66. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  67. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +383 -380
  68. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  69. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  70. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  71. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  72. package/src/components/data/DataGrid/index.tsx +111 -111
  73. package/src/components/data/DataGrid/styles.ts +430 -430
  74. package/src/components/data/DataGrid/types.ts +380 -380
  75. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +524 -524
  76. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  77. package/src/components/data/SqlRequestDataGrid/helpers/rows.ts +24 -24
  78. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  79. package/src/components/data/SqlRequestDataGrid/index.tsx +417 -417
  80. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  81. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  82. package/src/components/data/SqlRequestForeignList/index.tsx +254 -254
  83. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  84. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  85. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  86. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  87. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  88. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  89. package/src/components/data/SqlRequestGrid/index.tsx +304 -304
  90. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  91. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  92. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  93. package/src/components/data/VirtualScroller/index.tsx +89 -89
  94. package/src/components/data/VirtualScroller/styles.ts +57 -57
  95. package/src/components/data/VirtualScroller/types.ts +10 -10
  96. package/src/components/forms/AutoTextArea.tsx +48 -48
  97. package/src/components/forms/Button.tsx +132 -132
  98. package/src/components/forms/Form/Checkbox.tsx +12 -12
  99. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  100. package/src/components/forms/Form/FormGroup.tsx +31 -31
  101. package/src/components/forms/Form/Input.tsx +16 -16
  102. package/src/components/forms/Form/Row.tsx +32 -32
  103. package/src/components/forms/Form/Select.tsx +82 -82
  104. package/src/components/forms/Form/TextArea.tsx +17 -17
  105. package/src/components/forms/Form/index.tsx +48 -48
  106. package/src/components/forms/Form/styles.ts +184 -184
  107. package/src/components/forms/IconButton.tsx +61 -61
  108. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  109. package/src/components/forms/NumberInput.tsx +53 -53
  110. package/src/components/forms/Select.tsx +34 -34
  111. package/src/components/forms/VerticalLabel.tsx +20 -20
  112. package/src/components/forms/styles.ts +42 -42
  113. package/src/components/layout/Columns.ts +28 -28
  114. package/src/components/layout/Dropdown/index.tsx +113 -113
  115. package/src/components/layout/Dropdown/styles.ts +53 -53
  116. package/src/components/layout/Flexbox.ts +21 -21
  117. package/src/components/layout/Grid/index.tsx +8 -8
  118. package/src/components/layout/Grid/styles.ts +34 -34
  119. package/src/components/layout/Loading/index.tsx +29 -29
  120. package/src/components/layout/Loading/styles.ts +29 -29
  121. package/src/components/layout/Masonry/index.tsx +29 -29
  122. package/src/components/layout/Masonry/styles.ts +20 -20
  123. package/src/components/layout/Modal/index.tsx +51 -51
  124. package/src/components/layout/Modal/styles.ts +125 -125
  125. package/src/components/search/HighlightedText.tsx +41 -41
  126. package/src/components/search/QuickSearchBar.tsx +99 -99
  127. package/src/components/search/QuickSearchResults.tsx +86 -86
  128. package/src/components/search/styles.ts +96 -96
  129. package/src/components/search/types.ts +29 -29
  130. package/src/components/ui/Avatar/index.tsx +54 -54
  131. package/src/components/ui/Card/index.tsx +14 -14
  132. package/src/components/ui/Card/styles.ts +37 -37
  133. package/src/components/ui/ContextMenu/index.tsx +79 -79
  134. package/src/components/ui/ContextMenu/styles.ts +119 -119
  135. package/src/components/ui/Ellipsis.tsx +33 -33
  136. package/src/components/ui/Label.tsx +93 -93
  137. package/src/components/ui/Message/index.tsx +57 -57
  138. package/src/components/ui/Message/styles.ts +44 -44
  139. package/src/components/ui/TabsView/TabsList.tsx +44 -44
  140. package/src/components/ui/TabsView/TabsView.tsx +38 -38
  141. package/src/components/ui/TabsView/styles.ts +76 -76
  142. package/src/components/ui/TabsView/types.ts +15 -15
  143. package/src/config/index.ts +10 -10
  144. package/src/helpers/components.ts +9 -9
  145. package/src/helpers/dates.ts +17 -17
  146. package/src/helpers/getScrollbarSize.ts +14 -14
  147. package/src/helpers/numbers.ts +63 -63
  148. package/src/helpers/responsive.ts +83 -83
  149. package/src/helpers/styled/space.ts +114 -114
  150. package/src/helpers/styled/typography.ts +25 -25
  151. package/src/helpers/text.ts +13 -13
  152. package/src/helpers/types.ts +9 -9
  153. package/src/hooks/useContainerMediaQuery.ts +7 -7
  154. package/src/hooks/useElementSize.ts +24 -24
  155. package/src/hooks/useMediaQuery.ts +9 -9
  156. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  157. package/src/hooks/useMutableState.ts +25 -25
  158. package/src/hooks/useShowArchived.ts +28 -28
  159. package/src/hooks/useWindowSize.ts +20 -20
  160. package/src/index.ts +102 -102
  161. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  162. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  163. package/src/providers/LoadingProvider/index.tsx +47 -47
  164. package/src/providers/PortalsProvider/index.tsx +54 -54
  165. package/src/providers/PortalsProvider/styles.ts +31 -31
  166. package/src/providers/SettingsProvider/index.tsx +70 -70
  167. package/src/providers/ThemeProvider/defaultTheme.ts +470 -470
  168. package/src/providers/ThemeProvider/helpers.ts +84 -84
  169. package/src/providers/ThemeProvider/index.ts +66 -66
  170. package/src/providers/ThemeProvider/types.ts +134 -134
  171. package/src/providers/ToastProvider/index.tsx +93 -93
  172. package/src/providers/TrackingProvider/index.tsx +71 -71
  173. package/src/providers/UiProviders/index.tsx +76 -76
  174. package/src/providers/UiProviders/styles.ts +10 -10
  175. package/src/providers/hooks.ts +14 -14
  176. package/src/services/HttpService.ts +92 -92
  177. package/src/services/WebSocketService.ts +155 -155
  178. package/src/services/advancedRequests.ts +102 -102
  179. package/src/services/base.ts +23 -23
  180. package/src/services/globalSearch.ts +32 -32
  181. package/src/services/hooks.ts +92 -92
  182. package/src/services/requests/auth.ts +44 -44
  183. package/src/services/requests/generic.ts +62 -62
  184. package/src/services/requests/tracking.ts +12 -12
  185. package/src/services/requests/userProfiles.ts +35 -35
  186. package/src/services/requests/users.ts +28 -28
  187. package/src/services/smartQueries.ts +122 -122
  188. package/src/services/sqlRequests.ts +111 -111
  189. package/src/services/types/auth.ts +98 -98
  190. package/src/services/types/base.ts +10 -10
  191. package/src/services/types/generic.ts +82 -82
  192. package/src/services/types/tracking.ts +29 -29
  193. package/src/services/types/userProfiles.ts +79 -79
  194. package/src/services/types/users.ts +74 -74
  195. package/src/services/updateSqlRequests.ts +32 -32
  196. package/src/styles/animations.scss +30 -30
  197. package/src/styles/index.scss +42 -42
  198. package/src/types.ts +8 -8
  199. package/src/typings.d.ts +2 -2
  200. package/tsconfig.json +18 -18
  201. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -10
  202. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -173
  203. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +0 -13
  204. package/dist/components/data/DataGrid/FilterValuesScroller.js +0 -73
  205. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  206. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  207. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  208. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  209. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  210. package/dist/components/data/DataGrid/helpers.js +0 -436
  211. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +0 -20
  212. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +0 -160
  213. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +0 -5
  214. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +0 -41
  215. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +0 -2
  216. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +0 -18
  217. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +0 -3
  218. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +0 -15
  219. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +0 -9
  220. package/dist/components/data/SmartQueryDataGrid/hooks.js +0 -63
  221. package/dist/components/data/SmartQueryDataGrid/index.d.ts +0 -12
  222. package/dist/components/data/SmartQueryDataGrid/index.js +0 -242
  223. package/dist/components/data/SmartQueryDataGrid/types.d.ts +0 -22
  224. package/dist/components/data/SmartQueryDataGrid/types.js +0 -2
  225. package/dist/components/forms/Form/InputWithLabel.d.ts +0 -2
  226. package/dist/components/forms/Form/InputWithLabel.js +0 -10
  227. package/dist/components/forms/Form/types.d.ts +0 -7
  228. package/dist/components/forms/Form/types.js +0 -2
  229. package/dist/config/types.d.ts +0 -11
  230. package/dist/config/types.js +0 -2
  231. package/dist/helpers/react.d.ts +0 -2
  232. package/dist/helpers/react.js +0 -8
  233. package/dist/services/requests/userPermissions.d.ts +0 -4
  234. package/dist/services/requests/userPermissions.js +0 -20
@@ -1,102 +1,102 @@
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
- direction?: 'ASC' | 'DESC';
63
- };
64
-
65
- export type AdvancedRequestDTO = {
66
- type: string;
67
- fields: FieldDTO[];
68
- conditions: ConditionDTO[];
69
- orderBy?: OrderByDTO[];
70
- start?: number;
71
- length?: number;
72
- getTotal?: boolean;
73
- unique?: boolean;
74
- };
75
-
76
- export type AdvancedRequestRow<R> = {
77
- [K in keyof R]: R[K] extends string | number | null
78
- ? R[K]
79
- : string | number | null;
80
- };
81
-
82
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
- export type AdvancedResponseDTO<T = any> = {
84
- data: AdvancedRequestRow<T>[];
85
- count?: number;
86
- };
87
-
88
- export type AdvancedRequestFieldDTO =
89
- | string
90
- | {
91
- name: string;
92
- fields: AdvancedRequestFieldDTO[];
93
- };
94
-
95
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
- export const useAdvancedRequestHandler = <T = any>() =>
97
- useWebSocketRequestHandler<AdvancedRequestDTO, AdvancedResponseDTO<T>>(
98
- 'AdvancedRequest'
99
- );
100
-
101
- export const useRawAdvancedRequestHandler = () =>
102
- useWebSocketRequestHandler<AdvancedRequestDTO, string>('RawAdvancedRequest');
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
+ direction?: 'ASC' | 'DESC';
63
+ };
64
+
65
+ export type AdvancedRequestDTO = {
66
+ type: string;
67
+ fields: FieldDTO[];
68
+ conditions: ConditionDTO[];
69
+ orderBy?: OrderByDTO[];
70
+ start?: number;
71
+ length?: number;
72
+ getTotal?: boolean;
73
+ unique?: boolean;
74
+ };
75
+
76
+ export type AdvancedRequestRow<R> = {
77
+ [K in keyof R]: R[K] extends string | number | null
78
+ ? R[K]
79
+ : string | number | null;
80
+ };
81
+
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ export type AdvancedResponseDTO<T = any> = {
84
+ data: AdvancedRequestRow<T>[];
85
+ count?: number;
86
+ };
87
+
88
+ export type AdvancedRequestFieldDTO =
89
+ | string
90
+ | {
91
+ name: string;
92
+ fields: AdvancedRequestFieldDTO[];
93
+ };
94
+
95
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
+ export const useAdvancedRequestHandler = <T = any>() =>
97
+ useWebSocketRequestHandler<AdvancedRequestDTO, AdvancedResponseDTO<T>>(
98
+ 'AdvancedRequest'
99
+ );
100
+
101
+ export const useRawAdvancedRequestHandler = () =>
102
+ useWebSocketRequestHandler<AdvancedRequestDTO, string>('RawAdvancedRequest');
@@ -1,23 +1,23 @@
1
- import { BaseModelDTO } from './types/base';
2
-
3
- export const emptyBaseModel: BaseModelDTO = {
4
- id: '',
5
- };
6
-
7
- export type ArchivableModelDTO = BaseModelDTO & {
8
- archived: boolean | null;
9
- };
10
-
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- export type Request<T = any> = {
13
- id: string;
14
- name: string;
15
- data: T;
16
- };
17
-
18
- export const UUID_REGEX =
19
- /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
20
-
21
- export type GetObjectRequestDTO = {
22
- id: string;
23
- };
1
+ import { BaseModelDTO } from './types/base';
2
+
3
+ export const emptyBaseModel: BaseModelDTO = {
4
+ id: '',
5
+ };
6
+
7
+ export type ArchivableModelDTO = BaseModelDTO & {
8
+ archived: boolean | null;
9
+ };
10
+
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ export type Request<T = any> = {
13
+ id: string;
14
+ name: string;
15
+ data: T;
16
+ };
17
+
18
+ export const UUID_REGEX =
19
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
20
+
21
+ export type GetObjectRequestDTO = {
22
+ id: string;
23
+ };
@@ -1,32 +1,32 @@
1
- import { ConditionDTO, SqlRequestRow } from './sqlRequests';
2
-
3
- import { OrderByDTO } from './sqlRequests';
4
- import { useWebSocketRequestHandler } from './hooks';
5
-
6
- export type GlobalSearchRequestDTO = {
7
- types: Record<
8
- string,
9
- { conditions?: ConditionDTO[]; orderBy?: OrderByDTO[] }
10
- >;
11
- searchTerm: string;
12
- limit?: number;
13
- };
14
-
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- export type GlobalSearchResponseDTO<T = any> = {
17
- data: Record<string, SqlRequestRow<T>[]>;
18
- count?: number;
19
- };
20
-
21
- type GlobalSearchRequestHandler<T> = (
22
- request: GlobalSearchRequestDTO
23
- ) => Promise<GlobalSearchResponseDTO<T>>;
24
-
25
- export const useGlobalSearchRequestHandler = <
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- T = any
28
- >(): GlobalSearchRequestHandler<T> =>
29
- useWebSocketRequestHandler<
30
- GlobalSearchRequestDTO,
31
- GlobalSearchResponseDTO<T>
32
- >('GlobalSearch');
1
+ import { ConditionDTO, SqlRequestRow } from './sqlRequests';
2
+
3
+ import { OrderByDTO } from './sqlRequests';
4
+ import { useWebSocketRequestHandler } from './hooks';
5
+
6
+ export type GlobalSearchRequestDTO = {
7
+ types: Record<
8
+ string,
9
+ { conditions?: ConditionDTO[]; orderBy?: OrderByDTO[] }
10
+ >;
11
+ searchTerm: string;
12
+ limit?: number;
13
+ };
14
+
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ export type GlobalSearchResponseDTO<T = any> = {
17
+ data: Record<string, SqlRequestRow<T>[]>;
18
+ count?: number;
19
+ };
20
+
21
+ type GlobalSearchRequestHandler<T> = (
22
+ request: GlobalSearchRequestDTO
23
+ ) => Promise<GlobalSearchResponseDTO<T>>;
24
+
25
+ export const useGlobalSearchRequestHandler = <
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ T = any
28
+ >(): GlobalSearchRequestHandler<T> =>
29
+ useWebSocketRequestHandler<
30
+ GlobalSearchRequestDTO,
31
+ GlobalSearchResponseDTO<T>
32
+ >('GlobalSearch');
@@ -1,92 +1,92 @@
1
- import { WebSocketError, WebSocketService } from './WebSocketService';
2
- import { useCallback, useState } from 'react';
3
-
4
- import { HttpService } from './HttpService';
5
- import { useLoading } from '../providers/hooks';
6
-
7
- export const useLoadingRequestHandler = <TReq, TRes>(
8
- name: string
9
- ): ((data: TReq) => Promise<TRes>) => {
10
- const { startLoading, stopLoading } = useLoading();
11
-
12
- return useCallback(
13
- (data: TReq) => {
14
- startLoading();
15
- return WebSocketService.getInstance()
16
- .sendRequest<TReq, TRes>(name, data)
17
- .finally(stopLoading);
18
- },
19
- [name, startLoading, stopLoading]
20
- );
21
- };
22
-
23
- export const useWebSocketRequestHandler = <TReq, TRes>(
24
- name: string
25
- ): ((data: TReq) => Promise<TRes>) =>
26
- useCallback(
27
- (data: TReq) => {
28
- return WebSocketService.getInstance().sendRequest<TReq, TRes>(name, data);
29
- },
30
- [name]
31
- );
32
-
33
- export const useHttpRequestHandler = <TReq, TRes>(
34
- name: string
35
- ): ((data: TReq, files?: Record<string, File>) => Promise<TRes>) =>
36
- useCallback(
37
- (data: TReq, files?: Record<string, File>) => {
38
- return HttpService.getInstance().sendRequest<TReq, TRes>(
39
- name,
40
- data,
41
- files
42
- );
43
- },
44
- [name]
45
- );
46
-
47
- export const useRequestState = <TReq, TRes>(name: string, loading = false) => {
48
- const [state, setState] = useState<
49
- 'initial' | 'loading' | 'success' | 'error'
50
- >('initial');
51
- const [status, setStatus] = useState<number | undefined>(undefined);
52
- const [response, setResponse] = useState<TRes | null>(null);
53
-
54
- const handleSendRequest = useWebSocketRequestHandler<TReq, TRes>(name);
55
- const handleSendLoadingRequest = useLoadingRequestHandler<TReq, TRes>(name);
56
-
57
- const sendRequest = useCallback(
58
- async (data: TReq) => {
59
- setState('loading');
60
- try {
61
- const res = await (loading
62
- ? handleSendLoadingRequest
63
- : handleSendRequest)(data);
64
- setStatus(0);
65
- setResponse(res);
66
- setState('success');
67
- return res;
68
- } catch (error) {
69
- setStatus(error instanceof WebSocketError ? error.status : -1);
70
- setState('error');
71
- }
72
- },
73
- [handleSendLoadingRequest, handleSendRequest, loading]
74
- );
75
-
76
- const reset = useCallback(() => {
77
- setState('initial');
78
- setStatus(undefined);
79
- setResponse(null);
80
- }, []);
81
-
82
- return {
83
- status,
84
- isInitial: state === 'initial',
85
- isLoading: state === 'loading',
86
- isSuccess: state === 'success',
87
- isError: state === 'error',
88
- response,
89
- sendRequest,
90
- reset,
91
- };
92
- };
1
+ import { WebSocketError, WebSocketService } from './WebSocketService';
2
+ import { useCallback, useState } from 'react';
3
+
4
+ import { HttpService } from './HttpService';
5
+ import { useLoading } from '../providers/hooks';
6
+
7
+ export const useLoadingRequestHandler = <TReq, TRes>(
8
+ name: string
9
+ ): ((data: TReq) => Promise<TRes>) => {
10
+ const { startLoading, stopLoading } = useLoading();
11
+
12
+ return useCallback(
13
+ (data: TReq) => {
14
+ startLoading();
15
+ return WebSocketService.getInstance()
16
+ .sendRequest<TReq, TRes>(name, data)
17
+ .finally(stopLoading);
18
+ },
19
+ [name, startLoading, stopLoading]
20
+ );
21
+ };
22
+
23
+ export const useWebSocketRequestHandler = <TReq, TRes>(
24
+ name: string
25
+ ): ((data: TReq) => Promise<TRes>) =>
26
+ useCallback(
27
+ (data: TReq) => {
28
+ return WebSocketService.getInstance().sendRequest<TReq, TRes>(name, data);
29
+ },
30
+ [name]
31
+ );
32
+
33
+ export const useHttpRequestHandler = <TReq, TRes>(
34
+ name: string
35
+ ): ((data: TReq, files?: Record<string, File>) => Promise<TRes>) =>
36
+ useCallback(
37
+ (data: TReq, files?: Record<string, File>) => {
38
+ return HttpService.getInstance().sendRequest<TReq, TRes>(
39
+ name,
40
+ data,
41
+ files
42
+ );
43
+ },
44
+ [name]
45
+ );
46
+
47
+ export const useRequestState = <TReq, TRes>(name: string, loading = false) => {
48
+ const [state, setState] = useState<
49
+ 'initial' | 'loading' | 'success' | 'error'
50
+ >('initial');
51
+ const [status, setStatus] = useState<number | undefined>(undefined);
52
+ const [response, setResponse] = useState<TRes | null>(null);
53
+
54
+ const handleSendRequest = useWebSocketRequestHandler<TReq, TRes>(name);
55
+ const handleSendLoadingRequest = useLoadingRequestHandler<TReq, TRes>(name);
56
+
57
+ const sendRequest = useCallback(
58
+ async (data: TReq) => {
59
+ setState('loading');
60
+ try {
61
+ const res = await (loading
62
+ ? handleSendLoadingRequest
63
+ : handleSendRequest)(data);
64
+ setStatus(0);
65
+ setResponse(res);
66
+ setState('success');
67
+ return res;
68
+ } catch (error) {
69
+ setStatus(error instanceof WebSocketError ? error.status : -1);
70
+ setState('error');
71
+ }
72
+ },
73
+ [handleSendLoadingRequest, handleSendRequest, loading]
74
+ );
75
+
76
+ const reset = useCallback(() => {
77
+ setState('initial');
78
+ setStatus(undefined);
79
+ setResponse(null);
80
+ }, []);
81
+
82
+ return {
83
+ status,
84
+ isInitial: state === 'initial',
85
+ isLoading: state === 'loading',
86
+ isSuccess: state === 'success',
87
+ isError: state === 'error',
88
+ response,
89
+ sendRequest,
90
+ reset,
91
+ };
92
+ };
@@ -1,44 +1,44 @@
1
- import {
2
- AuthenticateRequestDTO,
3
- AuthenticateResponseDTO,
4
- CheckRecoveryKeyRequestDTO,
5
- CheckRecoveryKeyResponseDTO,
6
- LoginRequestDTO,
7
- LoginResponseDTO,
8
- LogoutRequestDTO,
9
- LogoutResponseDTO,
10
- ResetPasswordRequestDTO,
11
- ResetPasswordResponseDTO,
12
- SendRecoveryKeyRequestDTO,
13
- SendRecoveryKeyResponseDTO,
14
- } from '../types/auth';
15
-
16
- import { useLoadingRequestHandler } from '../hooks';
17
-
18
- export const useAuthenticateRequestHandler = (name?: string) =>
19
- useLoadingRequestHandler<AuthenticateRequestDTO, AuthenticateResponseDTO>(
20
- name ?? 'Authenticate'
21
- );
22
-
23
- export const useLoginRequestHandler = () =>
24
- useLoadingRequestHandler<LoginRequestDTO, LoginResponseDTO>('Login');
25
-
26
- export const useLogoutRequestHandler = () =>
27
- useLoadingRequestHandler<LogoutRequestDTO, LogoutResponseDTO>('Logout');
28
-
29
- export const useSendRecoveryKeyRequestHandler = () =>
30
- useLoadingRequestHandler<
31
- SendRecoveryKeyRequestDTO,
32
- SendRecoveryKeyResponseDTO
33
- >('SendRecoveryKey');
34
-
35
- export const useCheckRecoveryKeyRequestHandler = () =>
36
- useLoadingRequestHandler<
37
- CheckRecoveryKeyRequestDTO,
38
- CheckRecoveryKeyResponseDTO
39
- >('CheckRecoveryKey');
40
-
41
- export const useResetPasswordRequestHandler = () =>
42
- useLoadingRequestHandler<ResetPasswordRequestDTO, ResetPasswordResponseDTO>(
43
- 'ResetPassword'
44
- );
1
+ import {
2
+ AuthenticateRequestDTO,
3
+ AuthenticateResponseDTO,
4
+ CheckRecoveryKeyRequestDTO,
5
+ CheckRecoveryKeyResponseDTO,
6
+ LoginRequestDTO,
7
+ LoginResponseDTO,
8
+ LogoutRequestDTO,
9
+ LogoutResponseDTO,
10
+ ResetPasswordRequestDTO,
11
+ ResetPasswordResponseDTO,
12
+ SendRecoveryKeyRequestDTO,
13
+ SendRecoveryKeyResponseDTO,
14
+ } from '../types/auth';
15
+
16
+ import { useLoadingRequestHandler } from '../hooks';
17
+
18
+ export const useAuthenticateRequestHandler = (name?: string) =>
19
+ useLoadingRequestHandler<AuthenticateRequestDTO, AuthenticateResponseDTO>(
20
+ name ?? 'Authenticate'
21
+ );
22
+
23
+ export const useLoginRequestHandler = () =>
24
+ useLoadingRequestHandler<LoginRequestDTO, LoginResponseDTO>('Login');
25
+
26
+ export const useLogoutRequestHandler = () =>
27
+ useLoadingRequestHandler<LogoutRequestDTO, LogoutResponseDTO>('Logout');
28
+
29
+ export const useSendRecoveryKeyRequestHandler = () =>
30
+ useLoadingRequestHandler<
31
+ SendRecoveryKeyRequestDTO,
32
+ SendRecoveryKeyResponseDTO
33
+ >('SendRecoveryKey');
34
+
35
+ export const useCheckRecoveryKeyRequestHandler = () =>
36
+ useLoadingRequestHandler<
37
+ CheckRecoveryKeyRequestDTO,
38
+ CheckRecoveryKeyResponseDTO
39
+ >('CheckRecoveryKey');
40
+
41
+ export const useResetPasswordRequestHandler = () =>
42
+ useLoadingRequestHandler<ResetPasswordRequestDTO, ResetPasswordResponseDTO>(
43
+ 'ResetPassword'
44
+ );