@gridsuite/commons-ui 0.291.0 → 0.293.0

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 (92) hide show
  1. package/dist/components/ui/reactHookForm/directory-item-input/directory-item-input.js +67 -26
  2. package/dist/features/index.js +32 -11
  3. package/dist/features/parameters/voltage-init/equipment-selection-parameters.js +6 -2
  4. package/dist/features/process-configs/common/FormSection.d.ts +8 -0
  5. package/dist/features/process-configs/common/FormSection.js +11 -0
  6. package/dist/features/process-configs/common/FormSubSection.d.ts +8 -0
  7. package/dist/features/process-configs/common/FormSubSection.js +11 -0
  8. package/dist/features/process-configs/common/GeneralInformationSection.d.ts +8 -0
  9. package/dist/features/process-configs/{shortcircuit/sc-process-config-edition.utils.js → common/GeneralInformationSection.js} +57 -54
  10. package/dist/features/process-configs/{security-analysis/index.d.ts → common/ModificationsSubSection.d.ts} +1 -3
  11. package/dist/features/process-configs/common/ModificationsSubSection.js +14 -0
  12. package/dist/features/process-configs/common/ProvidersParametersSubSection.d.ts +5 -0
  13. package/dist/features/process-configs/{loadflow/lf-process-config-edition.js → common/ProvidersParametersSubSection.js} +35 -26
  14. package/dist/features/process-configs/common/SpecificInformationSection.d.ts +8 -0
  15. package/dist/features/process-configs/common/SpecificInformationSection.js +25 -0
  16. package/dist/features/process-configs/common/index.d.ts +13 -1
  17. package/dist/features/process-configs/common/index.js +26 -2
  18. package/dist/features/process-configs/common/process-config-backend.type.d.ts +15 -0
  19. package/dist/features/process-configs/common/process-config-form.constants.d.ts +7 -0
  20. package/dist/features/process-configs/common/process-config-form.constants.js +39 -0
  21. package/dist/features/process-configs/common/process-config-form.schema.d.ts +29 -0
  22. package/dist/features/process-configs/{loadflow/lf-process-config-edition.utils.js → common/process-config-form.schema.js} +33 -51
  23. package/dist/features/process-configs/common/process-config-form.types.d.ts +45 -0
  24. package/dist/features/process-configs/common/process-config-mapping.d.ts +4 -0
  25. package/dist/features/process-configs/common/process-config-mapping.js +57 -0
  26. package/dist/features/process-configs/common/process-config-modifications-edition.utils.d.ts +0 -3
  27. package/dist/features/process-configs/common/process-config-modifications-edition.utils.js +0 -2
  28. package/dist/features/process-configs/common/process-config-type.definitions.d.ts +56 -0
  29. package/dist/features/process-configs/common/process-config-type.definitions.js +70 -0
  30. package/dist/features/process-configs/form/components/ProcessTypeChangeDialog.d.ts +13 -0
  31. package/dist/features/process-configs/form/components/ProcessTypeChangeDialog.js +27 -0
  32. package/dist/features/process-configs/form/components/ProcessTypeSelect.d.ts +6 -0
  33. package/dist/features/process-configs/form/components/ProcessTypeSelect.js +69 -0
  34. package/dist/features/process-configs/form/hooks/usePrefillSelection.d.ts +19 -0
  35. package/dist/features/process-configs/form/hooks/usePrefillSelection.js +51 -0
  36. package/dist/features/process-configs/form/hooks/useProcessConfigForm.d.ts +19 -0
  37. package/dist/features/process-configs/form/hooks/useProcessConfigForm.js +74 -0
  38. package/dist/features/process-configs/form/hooks/useProcessTypeGuard.d.ts +10 -0
  39. package/dist/features/process-configs/form/hooks/useProcessTypeGuard.js +67 -0
  40. package/dist/features/process-configs/form/process-config-form.d.ts +2 -0
  41. package/dist/features/process-configs/form/process-config-form.js +170 -0
  42. package/dist/features/process-configs/form/utils/form.utils.d.ts +3 -0
  43. package/dist/features/process-configs/form/utils/form.utils.js +36 -0
  44. package/dist/features/process-configs/index.d.ts +3 -5
  45. package/dist/features/process-configs/index.js +33 -12
  46. package/dist/features/process-configs/process-config-edition-dialog.d.ts +2 -0
  47. package/dist/features/process-configs/{process-config.utils.js → process-config-edition-dialog.js} +86 -26
  48. package/dist/index.js +32 -11
  49. package/dist/translations/en/businessErrorsEn.d.ts +1 -0
  50. package/dist/translations/en/businessErrorsEn.js +2 -1
  51. package/dist/translations/en/parameters.d.ts +1 -0
  52. package/dist/translations/en/parameters.js +2 -1
  53. package/dist/translations/en/processConfigEn.d.ts +18 -0
  54. package/dist/translations/en/processConfigEn.js +19 -1
  55. package/dist/translations/fr/businessErrorsFr.d.ts +1 -0
  56. package/dist/translations/fr/businessErrorsFr.js +2 -1
  57. package/dist/translations/fr/parameters.d.ts +1 -0
  58. package/dist/translations/fr/parameters.js +3 -2
  59. package/dist/translations/fr/processConfigFr.d.ts +18 -0
  60. package/dist/translations/fr/processConfigFr.js +19 -1
  61. package/package.json +1 -1
  62. package/dist/features/process-configs/lf-process-config-edition-dialog.d.ts +0 -3
  63. package/dist/features/process-configs/lf-process-config-edition-dialog.js +0 -128
  64. package/dist/features/process-configs/loadflow/index.d.ts +0 -9
  65. package/dist/features/process-configs/loadflow/index.js +0 -9
  66. package/dist/features/process-configs/loadflow/lf-process-config-edition.d.ts +0 -1
  67. package/dist/features/process-configs/loadflow/lf-process-config-edition.utils.d.ts +0 -39
  68. package/dist/features/process-configs/loadflow/lf-process-config.type.d.ts +0 -6
  69. package/dist/features/process-configs/process-config-edition.utils.d.ts +0 -13
  70. package/dist/features/process-configs/process-config.type.d.ts +0 -16
  71. package/dist/features/process-configs/process-config.type.js +0 -1
  72. package/dist/features/process-configs/process-config.utils.d.ts +0 -33
  73. package/dist/features/process-configs/sa-process-config-edition-dialog.d.ts +0 -3
  74. package/dist/features/process-configs/sa-process-config-edition-dialog.js +0 -128
  75. package/dist/features/process-configs/sc-process-config-edition-dialog.d.ts +0 -3
  76. package/dist/features/process-configs/sc-process-config-edition-dialog.js +0 -141
  77. package/dist/features/process-configs/security-analysis/index.js +0 -9
  78. package/dist/features/process-configs/security-analysis/sa-process-config-edition.d.ts +0 -1
  79. package/dist/features/process-configs/security-analysis/sa-process-config-edition.js +0 -100
  80. package/dist/features/process-configs/security-analysis/sa-process-config-edition.utils.d.ts +0 -45
  81. package/dist/features/process-configs/security-analysis/sa-process-config-edition.utils.js +0 -111
  82. package/dist/features/process-configs/security-analysis/sa-process-config.type.d.ts +0 -7
  83. package/dist/features/process-configs/security-analysis/sa-process-config.type.js +0 -1
  84. package/dist/features/process-configs/shortcircuit/index.d.ts +0 -9
  85. package/dist/features/process-configs/shortcircuit/index.js +0 -9
  86. package/dist/features/process-configs/shortcircuit/sc-process-config-edition.d.ts +0 -1
  87. package/dist/features/process-configs/shortcircuit/sc-process-config-edition.js +0 -90
  88. package/dist/features/process-configs/shortcircuit/sc-process-config-edition.utils.d.ts +0 -39
  89. package/dist/features/process-configs/shortcircuit/sc-process-config.type.d.ts +0 -6
  90. package/dist/features/process-configs/shortcircuit/sc-process-config.type.js +0 -1
  91. /package/dist/features/process-configs/{loadflow/lf-process-config.type.js → common/process-config-backend.type.js} +0 -0
  92. /package/dist/features/process-configs/{process-config-edition.utils.js → common/process-config-form.types.js} +0 -0
@@ -1,111 +0,0 @@
1
- import * as yup from "yup";
2
- import { FieldConstants } from "../../../utils/constants/fieldConstants.js";
3
- import { YUP_REQUIRED } from "../../../utils/constants/translationKeys.js";
4
- import "../../../utils/conversionUtils.js";
5
- import "../../../utils/types/equipmentType.js";
6
- import "react/jsx-runtime";
7
- import "@mui/icons-material";
8
- import { fetchElementNames } from "../../../services/directory.js";
9
- import { ProcessType } from "../common/process-config.type.js";
10
- import { emptyProcessConfigModificationsFormData, getProcessConfigModificationsFormData, processConfigModificationsShape, getProcessConfigModificationsBackendFromFormData } from "../common/process-config-modifications-edition.utils.js";
11
- import "react-hook-form";
12
- import "react";
13
- import "react-intl";
14
- import "@mui/material";
15
- import "../../../components/ui/overflowableText/OverflowableText.js";
16
- import "localized-countries";
17
- import "notistack";
18
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
19
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
- import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
21
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
22
- import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
23
- import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
24
- import "@hello-pangea/dnd";
25
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
26
- import { getNameElementEditorEmptyFormData, getNameElementEditorSchema } from "../../../components/ui/dialogs/name-element-editor/name-element-editor-utils.js";
27
- import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
28
- import "../../../chunks/module.pXeJjFiM.js";
29
- import "react-resizable-panels";
30
- import "react-papaparse";
31
- import "react-dom";
32
- import "../../../chunks/index.BJsVzTMz.js";
33
- import "clsx";
34
- import "../../../components/composite/filter/FilterCreationDialog.js";
35
- import "../../../components/composite/filter/HeaderFilterForm.js";
36
- import "../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
37
- import "../../../components/composite/filter/expert/ExpertFilterForm.js";
38
- import "../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
39
- import "../../../components/composite/filter/expert/expertFilterConstants.js";
40
- import "react-querybuilder";
41
- import "uuid";
42
- import "../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
43
- import "../../../components/composite/filter/utils/filterFormUtils.js";
44
- import "@react-querybuilder/material";
45
- import "../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
46
- import "../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
47
- import "../../../components/composite/agGridTable/BottomTableButtons.js";
48
- import "../../../components/composite/agGridTable/CustomAgGridTable.js";
49
- import "ag-grid-community";
50
- import "../../../components/composite/customAGGrid/customAggrid.js";
51
- import "../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
52
- import "mathjs";
53
- import "../../../components/composite/report/report-viewer/log-table/log-table.js";
54
- import "react-window";
55
- import "../../../components/composite/report/report-treeview/treeview-item.js";
56
- import "../../../components/composite/report/report-viewer/context/report-viewer-context.js";
57
- function getNamedSAProcessConfigFormSchema(initialName) {
58
- const formSchema = yup.object().shape({
59
- ...processConfigModificationsShape,
60
- [FieldConstants.LOADFLOW_PARAMETERS]: yup.array().required().of(yup.object().shape({ id: yup.string().required(), name: yup.string().required() })).length(1, YUP_REQUIRED),
61
- [FieldConstants.SECURITY_ANALYSIS_PARAMETERS]: yup.array().required().of(yup.object().shape({ id: yup.string().required(), name: yup.string().required() })).length(1, YUP_REQUIRED)
62
- });
63
- return formSchema.concat(getNameElementEditorSchema(initialName));
64
- }
65
- function getEmptySAProcessConfigFormData(initialName, initialDescription) {
66
- return {
67
- ...getNameElementEditorEmptyFormData(initialName, initialDescription),
68
- ...emptyProcessConfigModificationsFormData,
69
- [FieldConstants.LOADFLOW_PARAMETERS]: [],
70
- [FieldConstants.SECURITY_ANALYSIS_PARAMETERS]: []
71
- };
72
- }
73
- async function getNamedSAProcessConfigFormData(processConfig, name, description) {
74
- const allUuids = /* @__PURE__ */ new Set([
75
- ...processConfig.modifications.map((modification) => modification.modificationUuid),
76
- processConfig.securityAnalysisParametersUuid,
77
- processConfig.loadflowParametersUuid
78
- ]);
79
- const elementNamesByUuid = await fetchElementNames(allUuids);
80
- return {
81
- name,
82
- description: description ?? void 0,
83
- ...getProcessConfigModificationsFormData(processConfig.modifications, elementNamesByUuid),
84
- [FieldConstants.SECURITY_ANALYSIS_PARAMETERS]: [
85
- {
86
- id: processConfig.securityAnalysisParametersUuid,
87
- name: elementNamesByUuid[processConfig.securityAnalysisParametersUuid]
88
- }
89
- ],
90
- [FieldConstants.LOADFLOW_PARAMETERS]: [
91
- {
92
- id: processConfig.loadflowParametersUuid,
93
- name: elementNamesByUuid[processConfig.loadflowParametersUuid]
94
- }
95
- ]
96
- };
97
- }
98
- function getSAProcessConfigBackendFromFormData(formData) {
99
- return {
100
- processType: ProcessType.SECURITY_ANALYSIS,
101
- ...getProcessConfigModificationsBackendFromFormData(formData[FieldConstants.MODIFICATIONS]),
102
- securityAnalysisParametersUuid: formData[FieldConstants.SECURITY_ANALYSIS_PARAMETERS][0].id,
103
- loadflowParametersUuid: formData[FieldConstants.LOADFLOW_PARAMETERS][0].id
104
- };
105
- }
106
- export {
107
- getEmptySAProcessConfigFormData,
108
- getNamedSAProcessConfigFormData,
109
- getNamedSAProcessConfigFormSchema,
110
- getSAProcessConfigBackendFromFormData
111
- };
@@ -1,7 +0,0 @@
1
- import { UUID } from 'node:crypto';
2
- import { ProcessConfigBaseBackend, ProcessType } from '../common';
3
- export interface SecurityAnalysisProcessConfigBackend extends ProcessConfigBaseBackend {
4
- processType: ProcessType.SECURITY_ANALYSIS;
5
- securityAnalysisParametersUuid: UUID;
6
- loadflowParametersUuid: UUID;
7
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
- * This Source Code Form is subject to the terms of the Mozilla Public
4
- * License, v. 2.0. If a copy of the MPL was not distributed with this
5
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
- */
7
- export * from './sc-process-config.type';
8
- export * from './sc-process-config-edition';
9
- export * from './sc-process-config-edition.utils';
@@ -1,9 +0,0 @@
1
- import { SCProcessConfigEdition } from "./sc-process-config-edition.js";
2
- import { getEmptySCProcessConfigFormData, getNamedSCProcessConfigFormData, getNamedSCProcessConfigFormSchema, getSCProcessConfigBackendFromFormData } from "./sc-process-config-edition.utils.js";
3
- export {
4
- SCProcessConfigEdition,
5
- getEmptySCProcessConfigFormData,
6
- getNamedSCProcessConfigFormData,
7
- getNamedSCProcessConfigFormSchema,
8
- getSCProcessConfigBackendFromFormData
9
- };
@@ -1 +0,0 @@
1
- export declare function SCProcessConfigEdition(): import("react").JSX.Element;
@@ -1,90 +0,0 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { Box } from "@mui/material";
3
- import { FormattedMessage } from "react-intl";
4
- import "../common/process-config-modifications-edition.utils.js";
5
- import { ProcessConfigModificationsEdition } from "../common/process-config-modifications-edition.js";
6
- import { FieldConstants } from "../../../utils/constants/fieldConstants.js";
7
- import "../../../utils/conversionUtils.js";
8
- import { ElementType } from "../../../utils/types/elementType.js";
9
- import "../../../utils/types/equipmentType.js";
10
- import "@mui/icons-material";
11
- import "react";
12
- import "../../../components/ui/overflowableText/OverflowableText.js";
13
- import "react-hook-form";
14
- import "localized-countries";
15
- import "notistack";
16
- import "../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
- import "yup";
18
- import "../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
- import "../../../components/ui/reactHookForm/numbers/RangeInput.js";
20
- import "../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
21
- import "../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
22
- import "../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
23
- import "@hello-pangea/dnd";
24
- import "../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
25
- import "../../../components/ui/snackbarProvider/SnackbarProvider.js";
26
- import "../../../chunks/module.pXeJjFiM.js";
27
- import "react-resizable-panels";
28
- import "react-papaparse";
29
- import "../../parameters/common/parameter-layout/parameter-layout-provider.js";
30
- import { ParameterLineDirectoryItemsInput } from "../../parameters/common/widget/parameter-line-directory-items-input.js";
31
- import "../../parameters/common/widget/parameter-line-slider.js";
32
- import "../../parameters/common/contingency-table/contingency-table.js";
33
- import "../../parameters/common/contingency-table/columns-definitions.js";
34
- import "@hookform/resolvers/yup";
35
- import "../../parameters/network-visualizations/constants.js";
36
- import "../../parameters/loadflow/load-flow-parameters-context.js";
37
- import "../../parameters/loadflow/load-flow-parameters-utils.js";
38
- import "../../parameters/loadflow/load-flow-parameters-content.js";
39
- import "../../parameters/short-circuit/short-circuit-parameters-content.js";
40
- import "../../parameters/short-circuit/short-circuit-parameters-utils.js";
41
- import "../../parameters/voltage-init/constants.js";
42
- import "../../parameters/voltage-init/voltage-init-form-utils.js";
43
- import "react-dom";
44
- import "../../parameters/security-analysis/constants.js";
45
- import "../../parameters/security-analysis/security-analysis-parameters-utils.js";
46
- import "../../parameters/sensi/utils.js";
47
- import "../../parameters/sensi/columns-definitions.js";
48
- import "../../parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js";
49
- import "../../parameters/dynamic-simulation/dynamic-simulation.type.js";
50
- import "../../parameters/dynamic-simulation/time-delay/time-delay-parameters-utils.js";
51
- import "../../parameters/dynamic-simulation/time-delay/time-delay-parameters.js";
52
- import "../../parameters/dynamic-simulation/solver/solver-parameters-utils.js";
53
- import "../../parameters/dynamic-simulation/solver/solver-parameters.js";
54
- import "../../parameters/dynamic-simulation/mapping/mapping-parameters-utils.js";
55
- import "../../parameters/dynamic-simulation/network/network-parameters-utils.js";
56
- import "../../parameters/dynamic-simulation/network/network-parameters.js";
57
- import "../../parameters/dynamic-simulation/curve/dialog/curve-preview.js";
58
- import "../../parameters/dynamic-simulation/curve/dialog/curve-selector.js";
59
- import "../../parameters/dynamic-simulation/curve/common/grid-search.js";
60
- import "../../../components/composite/customAGGrid/customAggrid.js";
61
- import "../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
62
- import "mathjs";
63
- import "../../parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js";
64
- import "../../parameters/dynamic-security-analysis/scenario-parameters.js";
65
- import "../../parameters/dynamic-security-analysis/contingency-parameters.js";
66
- import "../../parameters/dynamic-security-analysis/dynamic-security-analysis.type.js";
67
- import "../../parameters/dynamic-margin-calculation/time-delay-parameters.js";
68
- import "../../parameters/dynamic-margin-calculation/loads-variations-parameters.js";
69
- import "../../parameters/dynamic-margin-calculation/dynamic-margin-calculation.type.js";
70
- import "../../parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js";
71
- function SCProcessConfigEdition() {
72
- return /* @__PURE__ */ jsxs(Fragment, { children: [
73
- /* @__PURE__ */ jsx(Box, { component: "h3", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "process_config/modifications" }) }),
74
- /* @__PURE__ */ jsx(ProcessConfigModificationsEdition, { name: FieldConstants.MODIFICATIONS }),
75
- /* @__PURE__ */ jsx(Box, { component: "h3", children: /* @__PURE__ */ jsx(FormattedMessage, { id: "process_config/providersParameters" }) }),
76
- /* @__PURE__ */ jsx(
77
- ParameterLineDirectoryItemsInput,
78
- {
79
- label: "process_config/shortcircuit",
80
- elementType: ElementType.SHORT_CIRCUIT_PARAMETERS,
81
- name: FieldConstants.SHORTCIRCUIT_PARAMETERS,
82
- allowMultiSelect: false,
83
- hideErrorMessage: false
84
- }
85
- )
86
- ] });
87
- }
88
- export {
89
- SCProcessConfigEdition
90
- };
@@ -1,39 +0,0 @@
1
- import { ShortcircuitProcessConfigBackend } from './sc-process-config.type';
2
- /**
3
- * Copyright (c) 2026, RTE (http://www.rte-france.com)
4
- * This Source Code Form is subject to the terms of the Mozilla Public
5
- * License, v. 2.0. If a copy of the MPL was not distributed with this
6
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
- */
8
- import * as yup from 'yup';
9
- export declare function getNamedSCProcessConfigFormSchema(initialName: string | null): yup.ObjectSchema<{
10
- shortcircuitParameters: {
11
- name?: string | undefined;
12
- id: string;
13
- }[];
14
- modifications: {
15
- description?: string | null | undefined;
16
- active: NonNullable<boolean | undefined>;
17
- modification: {
18
- name?: string | undefined;
19
- id: string;
20
- }[];
21
- }[];
22
- } & {
23
- name: string | null | undefined;
24
- description: string | null | undefined;
25
- }, yup.AnyObject, {
26
- shortcircuitParameters: "";
27
- modifications: "";
28
- name: undefined;
29
- description: undefined;
30
- }, "">;
31
- export type NamedSCProcessConfigFormSchema = yup.InferType<ReturnType<typeof getNamedSCProcessConfigFormSchema>>;
32
- export declare function getEmptySCProcessConfigFormData(initialName: string | null, initialDescription: string | null): {
33
- shortcircuitParameters: never[];
34
- modifications: never[];
35
- name: string | null;
36
- description: string | null;
37
- };
38
- export declare function getNamedSCProcessConfigFormData(processConfig: ShortcircuitProcessConfigBackend, name: string, description: string | null): Promise<NamedSCProcessConfigFormSchema>;
39
- export declare function getSCProcessConfigBackendFromFormData(formData: NamedSCProcessConfigFormSchema): ShortcircuitProcessConfigBackend;
@@ -1,6 +0,0 @@
1
- import { UUID } from 'node:crypto';
2
- import { ProcessConfigBaseBackend, ProcessType } from '../common';
3
- export interface ShortcircuitProcessConfigBackend extends ProcessConfigBaseBackend {
4
- processType: ProcessType.SHORT_CIRCUIT;
5
- shortCircuitParametersUuid: UUID;
6
- }