bfg-common 1.5.648 → 1.5.650

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 (101) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +25 -1
  7. package/assets/localization/local_en.json +25 -1
  8. package/assets/localization/local_hy.json +25 -1
  9. package/assets/localization/local_kk.json +25 -1
  10. package/assets/localization/local_ru.json +25 -1
  11. package/assets/localization/local_zh.json +25 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  22. package/components/common/browse/lib/models/interfaces.ts +5 -5
  23. package/components/common/diagramMain/network/Contents.vue +497 -497
  24. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  25. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  26. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +99 -99
  27. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  28. package/components/common/pages/backups/DetailView.vue +52 -52
  29. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  30. package/components/common/pages/backups/modals/Modals.vue +243 -243
  31. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  32. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  33. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  34. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  35. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  36. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  37. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  38. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  39. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  40. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  41. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  42. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  43. package/components/common/select/radio/RadioGroup.vue +137 -137
  44. package/components/common/spiceConsole/Drawer.vue +420 -420
  45. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  46. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  47. package/components/common/tools/Actions.vue +207 -207
  48. package/components/common/treeView/TreeView.vue +52 -52
  49. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  50. package/components/common/vm/actions/clone/new/New.vue +438 -437
  51. package/components/common/vm/actions/clone/old/Old.vue +1 -0
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  55. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  56. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  57. package/components/common/vm/actions/common/select/options/New.vue +4 -0
  58. package/components/common/vm/actions/common/select/options/Old.vue +8 -1
  59. package/components/common/vm/actions/common/select/options/Options.vue +6 -1
  60. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  61. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  62. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  64. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  65. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  66. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  67. package/components/common/wizards/common/compatibility/New.vue +99 -99
  68. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  69. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  70. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  71. package/components/common/wizards/common/steps/name/New.vue +221 -221
  72. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  73. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  74. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  75. package/components/common/wizards/datastore/add/Add.vue +228 -228
  76. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  77. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  78. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +1 -1
  79. package/composables/useAppVersion.ts +21 -21
  80. package/composables/useLocal.ts +6 -6
  81. package/composables/useLocalCommon.ts +39 -39
  82. package/package.json +1 -1
  83. package/plugins/console.ts +21 -21
  84. package/plugins/mouse.ts +21 -21
  85. package/plugins/panelStates.ts +70 -70
  86. package/plugins/text.ts +59 -59
  87. package/plugins/time.ts +58 -58
  88. package/public/spice-console/application/clientgui.js +854 -854
  89. package/public/spice-console/application/packetfactory.js +211 -211
  90. package/public/spice-console/application/virtualmouse.js +147 -147
  91. package/public/spice-console/lib/images/bitmap.js +203 -203
  92. package/public/spice-console/network/spicechannel.js +440 -440
  93. package/public/spice-console/process/cursorprocess.js +128 -128
  94. package/public/spice-console/process/inputprocess.js +227 -227
  95. package/public/spice-console/process/mainprocess.js +212 -212
  96. package/public/spice-console/run.js +210 -210
  97. package/store/main/mutations.ts +7 -7
  98. package/store/main/state.ts +7 -7
  99. package/store/tasks/actions.ts +165 -165
  100. package/store/tasks/mappers/recentTasks.ts +123 -123
  101. package/store/tasks/mutations.ts +82 -82
@@ -1,193 +1,193 @@
1
- <template>
2
- <ui-modal
3
- :title="localization.common.changePassword"
4
- :texts="modalTexts"
5
- :subtitle="props.subtitle"
6
- width="560px"
7
- test-id="change-password-modal"
8
- show
9
- @submit="onSubmit"
10
- @hide="onHideModal"
11
- >
12
- <template #content>
13
- <ui-modal-block-standard>
14
- <ui-alert
15
- v-if="alertErrorText"
16
- :messages="[alertErrorText]"
17
- test-id="change-password-error-alert"
18
- type="error"
19
- class="change-password__alert"
20
- hide-close-button
21
- />
22
-
23
- <p class="change-password__description">
24
- {{ description }}
25
- </p>
26
-
27
- <div class="change-password__form">
28
- <ui-input
29
- v-model="modelLocal.current_password"
30
- :label="localization.common.currentPassword"
31
- :error="passwordErrorText"
32
- :autocomplete="'new-password'"
33
- type="password"
34
- test-id="change-password-password-field"
35
- />
36
-
37
- <ui-input
38
- v-model="modelLocal.new_password"
39
- :label="localization.common.newPassword"
40
- :error="newPasswordErrorText"
41
- test-id="change-password-new-password-field"
42
- type="password"
43
- />
44
-
45
- <ui-input
46
- v-model="modelLocal.confirm_password"
47
- :label="localization.common.confirmNewPassword"
48
- :error="confirmPasswordErrorText"
49
- test-id="change-password-confirm-password-field"
50
- type="password"
51
- />
52
- </div>
53
- </ui-modal-block-standard>
54
- </template>
55
-
56
- <template #footerLeftContent><span /></template>
57
- </ui-modal>
58
- </template>
59
-
60
- <script setup lang="ts">
61
- import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
62
- import type { UI_I_Localization } from '~/lib/models/interfaces'
63
- import type { UI_I_ChangePasswordForm } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/models/interfaces'
64
- import type { UI_T_Project } from '~/lib/models/types'
65
- import type { UI_I_InitialValidationFields } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/models/interfaces'
66
- import {
67
- validateField,
68
- getPasswordMismatchError,
69
- } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils'
70
-
71
- const props = defineProps<{
72
- project: UI_T_Project
73
- subtitle: string
74
- firstTime: boolean
75
- }>()
76
- const emits = defineEmits<{
77
- (event: 'hide'): void
78
- (event: 'change-password'): void
79
- }>()
80
- const modelLocal = defineModel<UI_I_ChangePasswordForm>({ required: true })
81
-
82
- const localization = computed<UI_I_Localization>(() => useLocal())
83
-
84
- const description = ref<string>(props.firstTime
85
- ? localization.value.common.firstTimeChangePasswordDesc
86
- : localization.value.common.changePasswordDesc)
87
-
88
- const modalTexts = computed<UI_I_ModalTexts>(() => {
89
- return {
90
- button1: localization.value.common.cancel,
91
- button2: localization.value.common.save,
92
- }
93
- })
94
-
95
- const alertErrorText = ref<string>('')
96
- const initValidationFields = ref<UI_I_InitialValidationFields>({
97
- currentPassword: false,
98
- newPassword: false,
99
- confirmPassword: false,
100
- })
101
- const initValidation = (types: string[]): boolean => {
102
- types.forEach((type) => (initValidationFields.value[type] = true))
103
-
104
- return (
105
- !!passwordErrorText.value ||
106
- !!newPasswordErrorText.value ||
107
- !!confirmPasswordErrorText.value
108
- )
109
- }
110
-
111
- const passwordErrorText = computed<string>(() => {
112
- if (!initValidationFields.value.currentPassword) return ''
113
-
114
- return !modelLocal.value.current_password
115
- ? localization.value.common.fieldRequired
116
- : ''
117
- })
118
- const newPasswordErrorText = computed<string>(() => {
119
- if (!initValidationFields.value.newPassword) return ''
120
-
121
- const { new_password, confirm_password } = modelLocal.value
122
- return !new_password
123
- ? localization.value.common.fieldRequired
124
- : getPasswordMismatchError(
125
- localization.value,
126
- new_password,
127
- confirm_password
128
- )
129
- })
130
- const confirmPasswordErrorText = computed<string>(() => {
131
- if (!initValidationFields.value.confirmPassword) return ''
132
- const { new_password, confirm_password } = modelLocal.value
133
- return !confirm_password
134
- ? localization.value.common.fieldRequired
135
- : getPasswordMismatchError(
136
- localization.value,
137
- new_password,
138
- confirm_password
139
- )
140
- })
141
- const onSubmit = (): void => {
142
- const isFieldValid = initValidation([
143
- 'currentPassword',
144
- 'newPassword',
145
- 'confirmPassword',
146
- ])
147
-
148
- const { current_password, new_password } = modelLocal.value
149
-
150
- if (!isFieldValid) {
151
- alertErrorText.value = validateField(
152
- localization.value,
153
- current_password,
154
- new_password
155
- )
156
- }
157
-
158
- !isFieldValid && !alertErrorText.value && emits('change-password')
159
- }
160
- const onHideModal = (): void => {
161
- emits('hide')
162
- }
163
- </script>
164
-
165
- <style lang="scss" scoped>
166
- @import 'assets/scss/common/mixins.scss';
167
- .modal-container-standard {
168
- padding-top: 8px;
169
- padding-bottom: 8px;
170
-
171
- .change-password {
172
- &__description {
173
- color: #9da6ad;
174
- font-size: 12px;
175
- font-weight: 400;
176
- line-height: 14.52px;
177
- margin-bottom: 20px;
178
- }
179
- &__alert {
180
- padding: 10px 12px;
181
- margin-bottom: 12px;
182
- :deep(svg) {
183
- width: 16px;
184
- height: 16px;
185
- }
186
- }
187
- &__form {
188
- @include flex($dir: column);
189
- row-gap: 16px;
190
- }
191
- }
192
- }
193
- </style>
1
+ <template>
2
+ <ui-modal
3
+ :title="localization.common.changePassword"
4
+ :texts="modalTexts"
5
+ :subtitle="props.subtitle"
6
+ width="560px"
7
+ test-id="change-password-modal"
8
+ show
9
+ @submit="onSubmit"
10
+ @hide="onHideModal"
11
+ >
12
+ <template #content>
13
+ <ui-modal-block-standard>
14
+ <ui-alert
15
+ v-if="alertErrorText"
16
+ :messages="[alertErrorText]"
17
+ test-id="change-password-error-alert"
18
+ type="error"
19
+ class="change-password__alert"
20
+ hide-close-button
21
+ />
22
+
23
+ <p class="change-password__description">
24
+ {{ description }}
25
+ </p>
26
+
27
+ <div class="change-password__form">
28
+ <ui-input
29
+ v-model="modelLocal.current_password"
30
+ :label="localization.common.currentPassword"
31
+ :error="passwordErrorText"
32
+ :autocomplete="'new-password'"
33
+ type="password"
34
+ test-id="change-password-password-field"
35
+ />
36
+
37
+ <ui-input
38
+ v-model="modelLocal.new_password"
39
+ :label="localization.common.newPassword"
40
+ :error="newPasswordErrorText"
41
+ test-id="change-password-new-password-field"
42
+ type="password"
43
+ />
44
+
45
+ <ui-input
46
+ v-model="modelLocal.confirm_password"
47
+ :label="localization.common.confirmNewPassword"
48
+ :error="confirmPasswordErrorText"
49
+ test-id="change-password-confirm-password-field"
50
+ type="password"
51
+ />
52
+ </div>
53
+ </ui-modal-block-standard>
54
+ </template>
55
+
56
+ <template #footerLeftContent><span /></template>
57
+ </ui-modal>
58
+ </template>
59
+
60
+ <script setup lang="ts">
61
+ import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
62
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
63
+ import type { UI_I_ChangePasswordForm } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/models/interfaces'
64
+ import type { UI_T_Project } from '~/lib/models/types'
65
+ import type { UI_I_InitialValidationFields } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/models/interfaces'
66
+ import {
67
+ validateField,
68
+ getPasswordMismatchError,
69
+ } from '~/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils'
70
+
71
+ const props = defineProps<{
72
+ project: UI_T_Project
73
+ subtitle: string
74
+ firstTime: boolean
75
+ }>()
76
+ const emits = defineEmits<{
77
+ (event: 'hide'): void
78
+ (event: 'change-password'): void
79
+ }>()
80
+ const modelLocal = defineModel<UI_I_ChangePasswordForm>({ required: true })
81
+
82
+ const localization = computed<UI_I_Localization>(() => useLocal())
83
+
84
+ const description = ref<string>(props.firstTime
85
+ ? localization.value.common.firstTimeChangePasswordDesc
86
+ : localization.value.common.changePasswordDesc)
87
+
88
+ const modalTexts = computed<UI_I_ModalTexts>(() => {
89
+ return {
90
+ button1: localization.value.common.cancel,
91
+ button2: localization.value.common.save,
92
+ }
93
+ })
94
+
95
+ const alertErrorText = ref<string>('')
96
+ const initValidationFields = ref<UI_I_InitialValidationFields>({
97
+ currentPassword: false,
98
+ newPassword: false,
99
+ confirmPassword: false,
100
+ })
101
+ const initValidation = (types: string[]): boolean => {
102
+ types.forEach((type) => (initValidationFields.value[type] = true))
103
+
104
+ return (
105
+ !!passwordErrorText.value ||
106
+ !!newPasswordErrorText.value ||
107
+ !!confirmPasswordErrorText.value
108
+ )
109
+ }
110
+
111
+ const passwordErrorText = computed<string>(() => {
112
+ if (!initValidationFields.value.currentPassword) return ''
113
+
114
+ return !modelLocal.value.current_password
115
+ ? localization.value.common.fieldRequired
116
+ : ''
117
+ })
118
+ const newPasswordErrorText = computed<string>(() => {
119
+ if (!initValidationFields.value.newPassword) return ''
120
+
121
+ const { new_password, confirm_password } = modelLocal.value
122
+ return !new_password
123
+ ? localization.value.common.fieldRequired
124
+ : getPasswordMismatchError(
125
+ localization.value,
126
+ new_password,
127
+ confirm_password
128
+ )
129
+ })
130
+ const confirmPasswordErrorText = computed<string>(() => {
131
+ if (!initValidationFields.value.confirmPassword) return ''
132
+ const { new_password, confirm_password } = modelLocal.value
133
+ return !confirm_password
134
+ ? localization.value.common.fieldRequired
135
+ : getPasswordMismatchError(
136
+ localization.value,
137
+ new_password,
138
+ confirm_password
139
+ )
140
+ })
141
+ const onSubmit = (): void => {
142
+ const isFieldValid = initValidation([
143
+ 'currentPassword',
144
+ 'newPassword',
145
+ 'confirmPassword',
146
+ ])
147
+
148
+ const { current_password, new_password } = modelLocal.value
149
+
150
+ if (!isFieldValid) {
151
+ alertErrorText.value = validateField(
152
+ localization.value,
153
+ current_password,
154
+ new_password
155
+ )
156
+ }
157
+
158
+ !isFieldValid && !alertErrorText.value && emits('change-password')
159
+ }
160
+ const onHideModal = (): void => {
161
+ emits('hide')
162
+ }
163
+ </script>
164
+
165
+ <style lang="scss" scoped>
166
+ @import 'assets/scss/common/mixins.scss';
167
+ .modal-container-standard {
168
+ padding-top: 8px;
169
+ padding-bottom: 8px;
170
+
171
+ .change-password {
172
+ &__description {
173
+ color: #9da6ad;
174
+ font-size: 12px;
175
+ font-weight: 400;
176
+ line-height: 14.52px;
177
+ margin-bottom: 20px;
178
+ }
179
+ &__alert {
180
+ padding: 10px 12px;
181
+ margin-bottom: 12px;
182
+ :deep(svg) {
183
+ width: 16px;
184
+ height: 16px;
185
+ }
186
+ }
187
+ &__form {
188
+ @include flex($dir: column);
189
+ row-gap: 16px;
190
+ }
191
+ }
192
+ }
193
+ </style>
@@ -1,52 +1,52 @@
1
- <template>
2
- <div class="detail-view overflow-auto py-0 px-6">
3
- <table v-if="detailData" class="table table-noborder">
4
- <tbody>
5
- <tr>
6
- <td class="left">{{ localization.common.name }}</td>
7
- <td class="left backup-name-label">{{ detailData.name }}</td>
8
- </tr>
9
- <tr>
10
- <td class="left">{{ localization.common.description }}</td>
11
- <td class="left backup-name-label">{{ detailData.description }}</td>
12
- </tr>
13
- <tr>
14
- <td class="left">{{ localization.common.timestamp }}</td>
15
- <td class="left backup-name-label">{{ detailData.timestamp }}</td>
16
- </tr>
17
- </tbody>
18
- </table>
19
- </div>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import type { UI_I_Localization } from '~/lib/models/interfaces'
24
- import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
25
-
26
- const props = defineProps<{
27
- detail: UI_I_BackupsTreeNode | null
28
- }>()
29
-
30
- const localization = computed<UI_I_Localization>(() => useLocal())
31
-
32
- const detailData = ref<UI_I_BackupsTreeNode | null>(null)
33
- watch(
34
- () => props.detail,
35
- (newValue) => {
36
- detailData.value = newValue
37
- },
38
- { immediate: true, deep: true }
39
- )
40
- </script>
41
-
42
- <style scoped lang="scss">
43
- .detail-view {
44
- width: 50%;
45
-
46
- .table {
47
- .left:not(.backup-name-label) {
48
- width: 320px;
49
- }
50
- }
51
- }
52
- </style>
1
+ <template>
2
+ <div class="detail-view overflow-auto py-0 px-6">
3
+ <table v-if="detailData" class="table table-noborder">
4
+ <tbody>
5
+ <tr>
6
+ <td class="left">{{ localization.common.name }}</td>
7
+ <td class="left backup-name-label">{{ detailData.name }}</td>
8
+ </tr>
9
+ <tr>
10
+ <td class="left">{{ localization.common.description }}</td>
11
+ <td class="left backup-name-label">{{ detailData.description }}</td>
12
+ </tr>
13
+ <tr>
14
+ <td class="left">{{ localization.common.timestamp }}</td>
15
+ <td class="left backup-name-label">{{ detailData.timestamp }}</td>
16
+ </tr>
17
+ </tbody>
18
+ </table>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
24
+ import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
25
+
26
+ const props = defineProps<{
27
+ detail: UI_I_BackupsTreeNode | null
28
+ }>()
29
+
30
+ const localization = computed<UI_I_Localization>(() => useLocal())
31
+
32
+ const detailData = ref<UI_I_BackupsTreeNode | null>(null)
33
+ watch(
34
+ () => props.detail,
35
+ (newValue) => {
36
+ detailData.value = newValue
37
+ },
38
+ { immediate: true, deep: true }
39
+ )
40
+ </script>
41
+
42
+ <style scoped lang="scss">
43
+ .detail-view {
44
+ width: 50%;
45
+
46
+ .table {
47
+ .left:not(.backup-name-label) {
48
+ width: 320px;
49
+ }
50
+ }
51
+ }
52
+ </style>
@@ -1,36 +1,36 @@
1
- import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
3
- import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
4
-
5
- export interface API_UI_I_Backup {
6
- creation_time: number
7
- creation_type: number
8
- description: string
9
- kind: number // TODO
10
- msg: string
11
- name: string
12
- state: number // TODO
13
- uuid: string
14
- vm_name: string
15
- vmid: string
16
- storage_id: string
17
- storage_name: string
18
- }
19
-
20
- export interface UI_I_Backup extends API_UI_I_Backup {}
21
-
22
- export interface UI_I_BackupsTreeNode
23
- extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
24
- parent_id: string
25
- timestamp: string
26
- description: string
27
- }
28
-
29
- export interface UI_I_BackupAction {
30
- action: UI_T_BackupActionType | ''
31
- id?: string
32
- name?: string
33
- backupId?: string
34
- bucketId?: string
35
- storageId?: string
36
- }
1
+ import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
3
+ import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
4
+
5
+ export interface API_UI_I_Backup {
6
+ creation_time: number
7
+ creation_type: number
8
+ description: string
9
+ kind: number // TODO
10
+ msg: string
11
+ name: string
12
+ state: number // TODO
13
+ uuid: string
14
+ vm_name: string
15
+ vmid: string
16
+ storage_id: string
17
+ storage_name: string
18
+ }
19
+
20
+ export interface UI_I_Backup extends API_UI_I_Backup {}
21
+
22
+ export interface UI_I_BackupsTreeNode
23
+ extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
24
+ parent_id: string
25
+ timestamp: string
26
+ description: string
27
+ }
28
+
29
+ export interface UI_I_BackupAction {
30
+ action: UI_T_BackupActionType | ''
31
+ id?: string
32
+ name?: string
33
+ backupId?: string
34
+ bucketId?: string
35
+ storageId?: string
36
+ }