diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/partition-assistant/partition-assistant.component.ts b/ogWebconsole/src/app/components/groups/components/client-main-view/partition-assistant/partition-assistant.component.ts index b9e5db1..2786d6e 100644 --- a/ogWebconsole/src/app/components/groups/components/client-main-view/partition-assistant/partition-assistant.component.ts +++ b/ogWebconsole/src/app/components/groups/components/client-main-view/partition-assistant/partition-assistant.component.ts @@ -4,7 +4,7 @@ import {Component, EventEmitter, Inject, Input, OnInit, Output, AfterViewInit, O import { HttpClient } from '@angular/common/http'; import { ToastrService } from 'ngx-toastr'; import {ActivatedRoute, Router} from "@angular/router"; -import { PARTITION_TYPES } from '../../../../../shared/constants/partition-types'; +import { MSDOS_PARTITION_TYPES, GPT_PARTITION_TYPES } from '../../../../../shared/constants/partition-types'; import { FILESYSTEM_TYPES } from '../../../../../shared/constants/filesystem-types'; import { ConfigService } from '@services/config.service'; import {CreateTaskComponent} from "../../../../commands/commands-task/create-task/create-task.component"; @@ -38,7 +38,6 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes baseUrl: string; private apiUrl: string; @Output() dataChange = new EventEmitter(); - partitionTypes = PARTITION_TYPES; filesystemTypes = FILESYSTEM_TYPES; errorMessage = ''; originalPartitions: any[] = []; @@ -918,7 +917,8 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes return 'EMPTY'; } - const isValidCode = this.partitionTypes.some(type => type.name === partitionCode); + const types = this.partitionCode === 'GPT' ? GPT_PARTITION_TYPES : MSDOS_PARTITION_TYPES; + const isValidCode = types.some(type => type.name === partitionCode); return isValidCode ? partitionCode : 'EMPTY'; } @@ -938,12 +938,13 @@ export class PartitionAssistantComponent implements OnInit, AfterViewInit, OnDes } getAvailablePartitionTypes(partition: Partition) { + const types = this.partitionCode === 'GPT' ? GPT_PARTITION_TYPES : MSDOS_PARTITION_TYPES; const hasExtended = this.selectedDisk?.partitions.some( (p: Partition) => !p.removed && p.partitionCode === 'EXTENDED' && p !== partition ); return hasExtended - ? this.partitionTypes.filter((t: any) => t.name !== 'EXTENDED') - : this.partitionTypes; + ? types.filter((t) => t.name !== 'EXTENDED') + : types; } get orderedPartitions(): Partition[] { diff --git a/ogWebconsole/src/app/shared/constants/partition-types.ts b/ogWebconsole/src/app/shared/constants/partition-types.ts index 9f1f30d..b26bc7f 100644 --- a/ogWebconsole/src/app/shared/constants/partition-types.ts +++ b/ogWebconsole/src/app/shared/constants/partition-types.ts @@ -1,70 +1,54 @@ -export const PARTITION_TYPES = [ - { code: 61186, name: 'BIOS-BOOT', active: false }, - { code: 202, name: 'CACHE', active: false }, - { code: 51712, name: 'CACHE', active: false }, - { code: 32512, name: 'CHROMEOS-KRN', active: true }, - { code: 32513, name: 'CHROMEOS', active: true }, - { code: 32514, name: 'CHROMEOS-RESERV', active: true }, - { code: 218, name: 'DATA', active: true }, - { code: 239, name: 'EFI', active: true }, - { code: 61184, name: 'EFI', active: true }, - { code: 0, name: 'EMPTY', active: false }, - { code: 1, name: 'FAT12', active: true }, - { code: 6, name: 'FAT16', active: true }, - { code: 11, name: 'FAT32', active: true }, - { code: 165, name: 'FREEBSD', active: true }, - { code: 42243, name: 'FREEBSD', active: true }, - { code: 42244, name: 'FREEBSD', active: true }, - { code: 42241, name: 'FREEBSD-BOOT', active: true }, - { code: 42240, name: 'FREEBSD-DISK', active: false }, - { code: 42242, name: 'FREEBSD-SWAP', active: false }, - { code: 238, name: 'GPT', active: false }, - { code: 43776, name: 'HFS-BOOT', active: true }, - { code: 175, name: 'HFS', active: true }, - { code: 44800, name: 'HFS', active: true }, - { code: 44801, name: 'HFS-RAID', active: true }, - { code: 44802, name: 'HFS-RAID', active: true }, - { code: 17, name: 'HFAT12', active: true }, - { code: 22, name: 'HFAT16', active: true }, - { code: 27, name: 'HFAT32', active: true }, - { code: 39, name: 'HNTFS-WINRE', active: true }, - { code: 131, name: 'LINUX', active: true }, - { code: 33536, name: 'LINUX', active: true }, - { code: 33538, name: 'LINUX', active: true }, - { code: 142, name: 'LINUX-LVM', active: true }, - { code: 36352, name: 'LINUX-LVM', active: true }, - { code: 64768, name: 'LINUX-RAID', active: true }, - { code: 253, name: 'LINUX-RAID', active: true }, - { code: 33537, name: 'LINUX-RESERV', active: true }, - { code: 130, name: 'LINUX-SWAP', active: false }, - { code: 33280, name: 'LINUX-SWAP', active: false }, - { code: 65536, name: 'LVM-LV', active: true }, - { code: 61185, name: 'MBR', active: false }, - { code: 169, name: 'NETBSD', active: true }, - { code: 43266, name: 'NETBSD', active: true }, - { code: 43267, name: 'NETBSD', active: true }, - { code: 43268, name: 'NETBSD', active: true }, - { code: 43269, name: 'NETBSD', active: true }, - { code: 43270, name: 'NETBSD-RAID', active: true }, - { code: 43265, name: 'NETBSD-SWAP', active: false }, - { code: 7, name: 'NTFS', active: true }, - { code: 166, name: 'OPENBSD', active: true }, - { code: 5, name: 'EXTENDED', active: false }, - { code: 48896, name: 'SOLARIS', active: true }, - { code: 191, name: 'SOLARIS', active: true }, - { code: 48900, name: 'SOLARIS', active: true }, - { code: 48901, name: 'SOLARIS', active: true }, - { code: 48899, name: 'SOLARIS-DISK', active: true }, - { code: 48640, name: 'SOLARIS-BOOT', active: true }, - { code: 190, name: 'SOLARIS-BOOT', active: true }, - { code: 48898, name: 'SOLARIS-SWAP', active: false }, - { code: 64256, name: 'VMFS', active: true }, - { code: 251, name: 'VMFS', active: true }, - { code: 64258, name: 'VMFS-KRN', active: true }, - { code: 64257, name: 'VMFS-RESERV', active: true }, - { code: 9984, name: 'WIN-RECOV', active: true }, - { code: 3073, name: 'WIN-RESERV', active: true }, - { code: 1792, name: 'WINDOWS', active: true }, - { code: 65535, name: 'UNKNOWN', active: true }, - { code: 65552, name: 'ZFS-VOL', active: true }, +export const MSDOS_PARTITION_TYPES: { name: string; code: string }[] = [ + { name: 'EMPTY', code: '0' }, + { name: 'FAT12', code: '1' }, + { name: 'EXTENDED', code: '5' }, + { name: 'FAT16', code: '6' }, + { name: 'NTFS', code: '7' }, + { name: 'FAT32', code: 'b' }, + { name: 'HFAT12', code: '11' }, + { name: 'HFAT16', code: '16' }, + { name: 'HNTFS', code: '17' }, + { name: 'HNTFS-WINRE', code: '27' }, + { name: 'HFAT32', code: '1b' }, + { name: 'LINUX-SWAP', code: '82' }, + { name: 'LINUX', code: '83' }, + { name: 'LINUX-LVM', code: '8e' }, + { name: 'FREEBSD', code: 'a5' }, + { name: 'OPENBSD', code: 'a6' }, + { name: 'HFS', code: 'af' }, + { name: 'SOLARIS-BOOT',code: 'be' }, + { name: 'SOLARIS', code: 'bf' }, + { name: 'CACHE', code: 'ca' }, + { name: 'DATA', code: 'da' }, + { name: 'GPT', code: 'ee' }, + { name: 'EFI', code: 'ef' }, + { name: 'VMFS', code: 'fb' }, + { name: 'LINUX-RAID', code: 'fd' }, +]; + +export const GPT_PARTITION_TYPES: { name: string; code: string }[] = [ + { name: 'EMPTY', code: '0' }, + { name: 'NTFS', code: '0700' }, + { name: 'WIN-RESERV', code: '0C01' }, + { name: 'CHROMEOS-KRN', code: '7F00' }, + { name: 'CHROMEOS', code: '7F01' }, + { name: 'CHROMEOS-RESERV', code: '7F02' }, + { name: 'LINUX-SWAP', code: '8200' }, + { name: 'LINUX', code: '8300' }, + { name: 'LINUX-RESERV', code: '8301' }, + { name: 'LINUX-LVM', code: '8E00' }, + { name: 'FREEBSD-DISK', code: 'A500' }, + { name: 'FREEBSD-BOOT', code: 'A501' }, + { name: 'FREEBSD-SWAP', code: 'A502' }, + { name: 'FREEBSD', code: 'A503' }, + { name: 'HFS-BOOT', code: 'AB00' }, + { name: 'HFS', code: 'AF00' }, + { name: 'HFS-RAID', code: 'AF01' }, + { name: 'SOLARIS-BOOT', code: 'BE00' }, + { name: 'SOLARIS', code: 'BF00' }, + { name: 'SOLARIS-SWAP', code: 'BF02' }, + { name: 'SOLARIS-DISK', code: 'BF03' }, + { name: 'CACHE', code: 'CA00' }, + { name: 'EFI', code: 'EF00' }, + { name: 'LINUX-RAID', code: 'FD00' }, ];