@addev-be/ui 2.7.3 → 2.7.5

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