@flusys/ng-storage 0.1.0-beta.3 → 1.0.0-rc

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 (28) hide show
  1. package/README.md +209 -5
  2. package/fesm2022/flusys-ng-storage-file-manager-form.component-CMS_ddbs.mjs +485 -0
  3. package/fesm2022/flusys-ng-storage-file-manager-form.component-CMS_ddbs.mjs.map +1 -0
  4. package/fesm2022/flusys-ng-storage-file-manager-list.component-DDOFAPRD.mjs +305 -0
  5. package/fesm2022/flusys-ng-storage-file-manager-list.component-DDOFAPRD.mjs.map +1 -0
  6. package/fesm2022/flusys-ng-storage-folder-form.component-ClYATZkh.mjs +157 -0
  7. package/fesm2022/flusys-ng-storage-folder-form.component-ClYATZkh.mjs.map +1 -0
  8. package/fesm2022/flusys-ng-storage-folder-list.component-CzONANHt.mjs +200 -0
  9. package/fesm2022/flusys-ng-storage-folder-list.component-CzONANHt.mjs.map +1 -0
  10. package/fesm2022/{flusys-ng-storage-storage-config-form.component-DHzsQ2Mc.mjs → flusys-ng-storage-storage-config-form.component-CODLLCtg.mjs} +211 -238
  11. package/fesm2022/flusys-ng-storage-storage-config-form.component-CODLLCtg.mjs.map +1 -0
  12. package/fesm2022/flusys-ng-storage-storage-config-list.component-BbBx0iSL.mjs +213 -0
  13. package/fesm2022/flusys-ng-storage-storage-config-list.component-BbBx0iSL.mjs.map +1 -0
  14. package/fesm2022/flusys-ng-storage.mjs +391 -103
  15. package/fesm2022/flusys-ng-storage.mjs.map +1 -1
  16. package/package.json +5 -5
  17. package/types/flusys-ng-storage.d.ts +187 -8
  18. package/fesm2022/flusys-ng-storage-file-manager-form.component-BI0hgXeI.mjs +0 -716
  19. package/fesm2022/flusys-ng-storage-file-manager-form.component-BI0hgXeI.mjs.map +0 -1
  20. package/fesm2022/flusys-ng-storage-file-manager-list.component-5gqfPzR3.mjs +0 -475
  21. package/fesm2022/flusys-ng-storage-file-manager-list.component-5gqfPzR3.mjs.map +0 -1
  22. package/fesm2022/flusys-ng-storage-folder-form.component-Cw2aLZkb.mjs +0 -253
  23. package/fesm2022/flusys-ng-storage-folder-form.component-Cw2aLZkb.mjs.map +0 -1
  24. package/fesm2022/flusys-ng-storage-folder-list.component-CN_mTtS5.mjs +0 -267
  25. package/fesm2022/flusys-ng-storage-folder-list.component-CN_mTtS5.mjs.map +0 -1
  26. package/fesm2022/flusys-ng-storage-storage-config-form.component-DHzsQ2Mc.mjs.map +0 -1
  27. package/fesm2022/flusys-ng-storage-storage-config-list.component-tmiE2CpM.mjs +0 -328
  28. package/fesm2022/flusys-ng-storage-storage-config-list.component-tmiE2CpM.mjs.map +0 -1
@@ -1,328 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, signal, computed, Component } from '@angular/core';
3
- import { Router } from '@angular/router';
4
- import { APP_CONFIG, DEFAULT_APP_NAME } from '@flusys/ng-core';
5
- import { LAYOUT_AUTH_STATE } from '@flusys/ng-layout';
6
- import { AngularModule, PrimeModule } from '@flusys/ng-shared';
7
- import { MessageService, ConfirmationService } from 'primeng/api';
8
- import { firstValueFrom } from 'rxjs';
9
- import { StorageConfigApiService, FileLocationEnum } from './flusys-ng-storage.mjs';
10
- import * as i1 from 'primeng/tag';
11
- import * as i3 from 'primeng/button';
12
- import * as i4 from 'primeng/table';
13
- import * as i5 from '@angular/common';
14
-
15
- /**
16
- * Storage Config List Component
17
- * Displays all storage configurations with company filter (if enabled)
18
- * Shows current company name in header
19
- */
20
- class StorageConfigListComponent {
21
- router = inject(Router);
22
- messageService = inject(MessageService);
23
- confirmationService = inject(ConfirmationService);
24
- configService = inject(StorageConfigApiService);
25
- appConfig = inject(APP_CONFIG);
26
- companyContext = inject(LAYOUT_AUTH_STATE);
27
- /** Loading state */
28
- isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
29
- /** Configs list */
30
- configs = signal([], ...(ngDevMode ? [{ debugName: "configs" }] : []));
31
- /** Total records for pagination */
32
- totalRecords = signal(0, ...(ngDevMode ? [{ debugName: "totalRecords" }] : []));
33
- /** Page size */
34
- pageSize = signal(50, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
35
- /** Current page */
36
- currentPage = signal(1, ...(ngDevMode ? [{ debugName: "currentPage" }] : []));
37
- /** Show company info if company feature enabled */
38
- showCompanyInfo = computed(() => this.appConfig.enableCompanyFeature, ...(ngDevMode ? [{ debugName: "showCompanyInfo" }] : []));
39
- /** Current company name */
40
- currentCompanyName = computed(() => this.companyContext.currentCompanyInfo()?.name ?? DEFAULT_APP_NAME, ...(ngDevMode ? [{ debugName: "currentCompanyName" }] : []));
41
- ngOnInit() {
42
- this.loadConfigs();
43
- }
44
- async loadConfigs() {
45
- this.isLoading.set(true);
46
- try {
47
- const response = await firstValueFrom(this.configService.getAll('', {
48
- pagination: {
49
- currentPage: this.currentPage() - 1,
50
- pageSize: this.pageSize(),
51
- },
52
- filter: {},
53
- select: [],
54
- sort: {},
55
- }));
56
- if (response.success) {
57
- this.configs.set(response.data ?? []);
58
- this.totalRecords.set(response.meta?.total ?? 0);
59
- }
60
- }
61
- catch (error) {
62
- this.messageService.add({
63
- severity: 'error',
64
- summary: 'Error',
65
- detail: 'Failed to load storage configurations.',
66
- });
67
- }
68
- finally {
69
- this.isLoading.set(false);
70
- }
71
- }
72
- onPageChange(event) {
73
- this.currentPage.set(event.first / event.rows + 1);
74
- this.pageSize.set(event.rows);
75
- this.loadConfigs();
76
- }
77
- onCreate() {
78
- this.router.navigate(['/storage/configs/new']);
79
- }
80
- onEdit(configId) {
81
- this.router.navigate(['/storage/configs', configId]);
82
- }
83
- onDelete(config) {
84
- this.confirmationService.confirm({
85
- message: `Are you sure you want to delete "${config.name}"?`,
86
- header: 'Delete Configuration',
87
- icon: 'pi pi-exclamation-triangle',
88
- acceptButtonStyleClass: 'p-button-danger',
89
- accept: async () => {
90
- try {
91
- await this.configService.deleteAsync({
92
- id: config.id,
93
- type: 'delete',
94
- });
95
- this.messageService.add({
96
- severity: 'success',
97
- summary: 'Success',
98
- detail: 'Storage configuration deleted successfully.',
99
- });
100
- this.loadConfigs();
101
- }
102
- catch (error) {
103
- this.messageService.add({
104
- severity: 'error',
105
- summary: 'Error',
106
- detail: 'Failed to delete storage configuration.',
107
- });
108
- }
109
- },
110
- });
111
- }
112
- getProviderIcon(storage) {
113
- switch (storage) {
114
- case FileLocationEnum.AWS:
115
- return 'pi pi-cloud';
116
- case FileLocationEnum.AZURE:
117
- return 'pi pi-cloud';
118
- case FileLocationEnum.SFTP:
119
- return 'pi pi-server';
120
- case FileLocationEnum.LOCAL:
121
- return 'pi pi-folder';
122
- default:
123
- return 'pi pi-database';
124
- }
125
- }
126
- getProviderLabel(storage) {
127
- switch (storage) {
128
- case FileLocationEnum.AWS:
129
- return 'AWS S3';
130
- case FileLocationEnum.AZURE:
131
- return 'Azure Blob';
132
- case FileLocationEnum.SFTP:
133
- return 'SFTP';
134
- case FileLocationEnum.LOCAL:
135
- return 'Local';
136
- default:
137
- return storage;
138
- }
139
- }
140
- getProviderSeverity(storage) {
141
- switch (storage) {
142
- case FileLocationEnum.AWS:
143
- return 'warn';
144
- case FileLocationEnum.AZURE:
145
- return 'info';
146
- case FileLocationEnum.SFTP:
147
- return 'secondary';
148
- case FileLocationEnum.LOCAL:
149
- return 'success';
150
- default:
151
- return 'secondary';
152
- }
153
- }
154
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StorageConfigListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: StorageConfigListComponent, isStandalone: true, selector: "lib-storage-config-list", ngImport: i0, template: `
156
- <div class="card">
157
- <div class="flex justify-between items-center mb-4">
158
- <div>
159
- <h3 class="text-xl font-semibold">Storage Configurations</h3>
160
- @if (showCompanyInfo()) {
161
- <p class="text-sm text-gray-600 mt-1">
162
- Company: {{ currentCompanyName() }}
163
- </p>
164
- }
165
- </div>
166
- <p-button
167
- label="New Configuration"
168
- icon="pi pi-plus"
169
- (onClick)="onCreate()"
170
- />
171
- </div>
172
-
173
- <p-table
174
- [value]="configs()"
175
- [loading]="isLoading()"
176
- [paginator]="true"
177
- [rows]="pageSize()"
178
- [totalRecords]="totalRecords()"
179
- [lazy]="true"
180
- (onLazyLoad)="onPageChange($event)"
181
- styleClass="p-datatable-sm"
182
- >
183
- <ng-template #header>
184
- <tr>
185
- <th>Name</th>
186
- <th>Provider</th>
187
- <th>Created</th>
188
- <th>Actions</th>
189
- </tr>
190
- </ng-template>
191
- <ng-template #body let-config>
192
- <tr>
193
- <td>
194
- <i [class]="getProviderIcon(config.storage)" class="mr-2"></i>
195
- {{ config.name }}
196
- </td>
197
- <td>
198
- <p-tag
199
- [value]="getProviderLabel(config.storage)"
200
- [severity]="getProviderSeverity(config.storage)"
201
- />
202
- </td>
203
- <td>{{ config.createdAt | date: 'short' }}</td>
204
- <td>
205
- <p-button
206
- icon="pi pi-pencil"
207
- [text]="true"
208
- severity="secondary"
209
- size="small"
210
- (onClick)="onEdit(config.id)"
211
- />
212
- <p-button
213
- icon="pi pi-trash"
214
- [text]="true"
215
- severity="danger"
216
- size="small"
217
- (onClick)="onDelete(config)"
218
- />
219
- </td>
220
- </tr>
221
- </ng-template>
222
- <ng-template #emptymessage>
223
- <tr>
224
- <td colspan="4" class="text-center py-4">
225
- @if (showCompanyInfo()) {
226
- No storage configurations found in current company
227
- } @else {
228
- No storage configurations found
229
- }
230
- </td>
231
- </tr>
232
- </ng-template>
233
- </p-table>
234
- </div>
235
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "ngmodule", type: PrimeModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
236
- }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: StorageConfigListComponent, decorators: [{
238
- type: Component,
239
- args: [{
240
- selector: 'lib-storage-config-list',
241
- standalone: true,
242
- imports: [AngularModule, PrimeModule],
243
- template: `
244
- <div class="card">
245
- <div class="flex justify-between items-center mb-4">
246
- <div>
247
- <h3 class="text-xl font-semibold">Storage Configurations</h3>
248
- @if (showCompanyInfo()) {
249
- <p class="text-sm text-gray-600 mt-1">
250
- Company: {{ currentCompanyName() }}
251
- </p>
252
- }
253
- </div>
254
- <p-button
255
- label="New Configuration"
256
- icon="pi pi-plus"
257
- (onClick)="onCreate()"
258
- />
259
- </div>
260
-
261
- <p-table
262
- [value]="configs()"
263
- [loading]="isLoading()"
264
- [paginator]="true"
265
- [rows]="pageSize()"
266
- [totalRecords]="totalRecords()"
267
- [lazy]="true"
268
- (onLazyLoad)="onPageChange($event)"
269
- styleClass="p-datatable-sm"
270
- >
271
- <ng-template #header>
272
- <tr>
273
- <th>Name</th>
274
- <th>Provider</th>
275
- <th>Created</th>
276
- <th>Actions</th>
277
- </tr>
278
- </ng-template>
279
- <ng-template #body let-config>
280
- <tr>
281
- <td>
282
- <i [class]="getProviderIcon(config.storage)" class="mr-2"></i>
283
- {{ config.name }}
284
- </td>
285
- <td>
286
- <p-tag
287
- [value]="getProviderLabel(config.storage)"
288
- [severity]="getProviderSeverity(config.storage)"
289
- />
290
- </td>
291
- <td>{{ config.createdAt | date: 'short' }}</td>
292
- <td>
293
- <p-button
294
- icon="pi pi-pencil"
295
- [text]="true"
296
- severity="secondary"
297
- size="small"
298
- (onClick)="onEdit(config.id)"
299
- />
300
- <p-button
301
- icon="pi pi-trash"
302
- [text]="true"
303
- severity="danger"
304
- size="small"
305
- (onClick)="onDelete(config)"
306
- />
307
- </td>
308
- </tr>
309
- </ng-template>
310
- <ng-template #emptymessage>
311
- <tr>
312
- <td colspan="4" class="text-center py-4">
313
- @if (showCompanyInfo()) {
314
- No storage configurations found in current company
315
- } @else {
316
- No storage configurations found
317
- }
318
- </td>
319
- </tr>
320
- </ng-template>
321
- </p-table>
322
- </div>
323
- `,
324
- }]
325
- }] });
326
-
327
- export { StorageConfigListComponent };
328
- //# sourceMappingURL=flusys-ng-storage-storage-config-list.component-tmiE2CpM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flusys-ng-storage-storage-config-list.component-tmiE2CpM.mjs","sources":["../../../projects/ng-storage/pages/storage-config/storage-config-list.component.ts"],"sourcesContent":["import { Component, computed, inject, OnInit, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { APP_CONFIG, DEFAULT_APP_NAME } from '@flusys/ng-core';\nimport { LAYOUT_AUTH_STATE } from '@flusys/ng-layout';\nimport { AngularModule, PrimeModule } from '@flusys/ng-shared';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { firstValueFrom } from 'rxjs';\nimport { FileLocationEnum } from '../../enums/file-location.enum';\nimport { IStorageConfig } from '../../interfaces/storage-config.interface';\nimport { StorageConfigApiService } from '../../services/storage-config-api.service';\n\n/**\n * Storage Config List Component\n * Displays all storage configurations with company filter (if enabled)\n * Shows current company name in header\n */\n@Component({\n selector: 'lib-storage-config-list',\n standalone: true,\n imports: [AngularModule, PrimeModule],\n template: `\n <div class=\"card\">\n <div class=\"flex justify-between items-center mb-4\">\n <div>\n <h3 class=\"text-xl font-semibold\">Storage Configurations</h3>\n @if (showCompanyInfo()) {\n <p class=\"text-sm text-gray-600 mt-1\">\n Company: {{ currentCompanyName() }}\n </p>\n }\n </div>\n <p-button\n label=\"New Configuration\"\n icon=\"pi pi-plus\"\n (onClick)=\"onCreate()\"\n />\n </div>\n\n <p-table\n [value]=\"configs()\"\n [loading]=\"isLoading()\"\n [paginator]=\"true\"\n [rows]=\"pageSize()\"\n [totalRecords]=\"totalRecords()\"\n [lazy]=\"true\"\n (onLazyLoad)=\"onPageChange($event)\"\n styleClass=\"p-datatable-sm\"\n >\n <ng-template #header>\n <tr>\n <th>Name</th>\n <th>Provider</th>\n <th>Created</th>\n <th>Actions</th>\n </tr>\n </ng-template>\n <ng-template #body let-config>\n <tr>\n <td>\n <i [class]=\"getProviderIcon(config.storage)\" class=\"mr-2\"></i>\n {{ config.name }}\n </td>\n <td>\n <p-tag\n [value]=\"getProviderLabel(config.storage)\"\n [severity]=\"getProviderSeverity(config.storage)\"\n />\n </td>\n <td>{{ config.createdAt | date: 'short' }}</td>\n <td>\n <p-button\n icon=\"pi pi-pencil\"\n [text]=\"true\"\n severity=\"secondary\"\n size=\"small\"\n (onClick)=\"onEdit(config.id)\"\n />\n <p-button\n icon=\"pi pi-trash\"\n [text]=\"true\"\n severity=\"danger\"\n size=\"small\"\n (onClick)=\"onDelete(config)\"\n />\n </td>\n </tr>\n </ng-template>\n <ng-template #emptymessage>\n <tr>\n <td colspan=\"4\" class=\"text-center py-4\">\n @if (showCompanyInfo()) {\n No storage configurations found in current company\n } @else {\n No storage configurations found\n }\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n `,\n})\nexport class StorageConfigListComponent implements OnInit {\n private readonly router = inject(Router);\n private readonly messageService = inject(MessageService);\n private readonly confirmationService = inject(ConfirmationService);\n private readonly configService = inject(StorageConfigApiService);\n private readonly appConfig = inject(APP_CONFIG);\n private readonly companyContext = inject(LAYOUT_AUTH_STATE);\n\n /** Loading state */\n readonly isLoading = signal(false);\n\n /** Configs list */\n readonly configs = signal<IStorageConfig[]>([]);\n\n /** Total records for pagination */\n readonly totalRecords = signal(0);\n\n /** Page size */\n readonly pageSize = signal(50);\n\n /** Current page */\n readonly currentPage = signal(1);\n\n /** Show company info if company feature enabled */\n readonly showCompanyInfo = computed(\n () => this.appConfig.enableCompanyFeature,\n );\n\n /** Current company name */\n readonly currentCompanyName = computed(\n () => this.companyContext.currentCompanyInfo()?.name ?? DEFAULT_APP_NAME,\n );\n\n ngOnInit(): void {\n this.loadConfigs();\n }\n\n async loadConfigs(): Promise<void> {\n this.isLoading.set(true);\n try {\n const response = await firstValueFrom(\n this.configService.getAll('', {\n pagination: {\n currentPage: this.currentPage() - 1,\n pageSize: this.pageSize(),\n },\n filter: {},\n select: [],\n sort: {},\n }),\n );\n\n if (response.success) {\n this.configs.set(response.data ?? []);\n this.totalRecords.set(response.meta?.total ?? 0);\n }\n } catch (error) {\n this.messageService.add({\n severity: 'error',\n summary: 'Error',\n detail: 'Failed to load storage configurations.',\n });\n } finally {\n this.isLoading.set(false);\n }\n }\n\n onPageChange(event: any): void {\n this.currentPage.set(event.first / event.rows + 1);\n this.pageSize.set(event.rows);\n this.loadConfigs();\n }\n\n onCreate(): void {\n this.router.navigate(['/storage/configs/new']);\n }\n\n onEdit(configId: string): void {\n this.router.navigate(['/storage/configs', configId]);\n }\n\n onDelete(config: IStorageConfig): void {\n this.confirmationService.confirm({\n message: `Are you sure you want to delete \"${config.name}\"?`,\n header: 'Delete Configuration',\n icon: 'pi pi-exclamation-triangle',\n acceptButtonStyleClass: 'p-button-danger',\n accept: async () => {\n try {\n await this.configService.deleteAsync({\n id: config.id,\n type: 'delete',\n });\n this.messageService.add({\n severity: 'success',\n summary: 'Success',\n detail: 'Storage configuration deleted successfully.',\n });\n this.loadConfigs();\n } catch (error) {\n this.messageService.add({\n severity: 'error',\n summary: 'Error',\n detail: 'Failed to delete storage configuration.',\n });\n }\n },\n });\n }\n\n getProviderIcon(storage: FileLocationEnum): string {\n switch (storage) {\n case FileLocationEnum.AWS:\n return 'pi pi-cloud';\n case FileLocationEnum.AZURE:\n return 'pi pi-cloud';\n case FileLocationEnum.SFTP:\n return 'pi pi-server';\n case FileLocationEnum.LOCAL:\n return 'pi pi-folder';\n default:\n return 'pi pi-database';\n }\n }\n\n getProviderLabel(storage: FileLocationEnum): string {\n switch (storage) {\n case FileLocationEnum.AWS:\n return 'AWS S3';\n case FileLocationEnum.AZURE:\n return 'Azure Blob';\n case FileLocationEnum.SFTP:\n return 'SFTP';\n case FileLocationEnum.LOCAL:\n return 'Local';\n default:\n return storage;\n }\n }\n\n getProviderSeverity(\n storage: FileLocationEnum,\n ): 'success' | 'secondary' | 'info' | 'warn' | 'danger' | 'contrast' {\n switch (storage) {\n case FileLocationEnum.AWS:\n return 'warn';\n case FileLocationEnum.AZURE:\n return 'info';\n case FileLocationEnum.SFTP:\n return 'secondary';\n case FileLocationEnum.LOCAL:\n return 'success';\n default:\n return 'secondary';\n }\n }\n}\n"],"names":["i2","i3","i4"],"mappings":"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"}