refactor: Rename ServerVolume model to reflect that it is tied to provider
parent
9bfaf5d381
commit
149969aed8
|
@ -121,7 +121,7 @@ class ApiProviderVolumeCubit
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> createVolume(final DiskSize size) async {
|
Future<void> createVolume(final DiskSize size) async {
|
||||||
final ServerVolume? volume = (await ProvidersController
|
final ServerProviderVolume? volume = (await ProvidersController
|
||||||
.currentServerProvider!
|
.currentServerProvider!
|
||||||
.createVolume(size.gibibyte.toInt()))
|
.createVolume(size.gibibyte.toInt()))
|
||||||
.data;
|
.data;
|
||||||
|
|
|
@ -5,14 +5,14 @@ class ApiProviderVolumeState extends ServerInstallationDependendState {
|
||||||
|
|
||||||
const ApiProviderVolumeState.initial()
|
const ApiProviderVolumeState.initial()
|
||||||
: this(const [], LoadingStatus.uninitialized, false);
|
: this(const [], LoadingStatus.uninitialized, false);
|
||||||
final List<ServerVolume> _volumes;
|
final List<ServerProviderVolume> _volumes;
|
||||||
final LoadingStatus status;
|
final LoadingStatus status;
|
||||||
final bool isResizing;
|
final bool isResizing;
|
||||||
|
|
||||||
List<ServerVolume> get volumes => _volumes;
|
List<ServerProviderVolume> get volumes => _volumes;
|
||||||
|
|
||||||
ApiProviderVolumeState copyWith({
|
ApiProviderVolumeState copyWith({
|
||||||
final List<ServerVolume>? volumes,
|
final List<ServerProviderVolume>? volumes,
|
||||||
final LoadingStatus? status,
|
final LoadingStatus? status,
|
||||||
final bool? isResizing,
|
final bool? isResizing,
|
||||||
}) =>
|
}) =>
|
||||||
|
|
|
@ -725,7 +725,7 @@ class ServerInstallationCubit extends Cubit<ServerInstallationState> {
|
||||||
ip4: server.ip,
|
ip4: server.ip,
|
||||||
id: server.id,
|
id: server.id,
|
||||||
createTime: server.created,
|
createTime: server.created,
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: 0,
|
id: 0,
|
||||||
name: 'recovered_volume',
|
name: 'recovered_volume',
|
||||||
sizeByte: 0,
|
sizeByte: 0,
|
||||||
|
|
|
@ -313,7 +313,7 @@ class ServerInstallationRepository {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
return ServerHostingDetails(
|
return ServerHostingDetails(
|
||||||
apiToken: result.data,
|
apiToken: result.data,
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
name: '',
|
||||||
sizeByte: 0,
|
sizeByte: 0,
|
||||||
|
@ -350,7 +350,7 @@ class ServerInstallationRepository {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
return ServerHostingDetails(
|
return ServerHostingDetails(
|
||||||
apiToken: result.data,
|
apiToken: result.data,
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
name: '',
|
||||||
sizeByte: 0,
|
sizeByte: 0,
|
||||||
|
@ -385,7 +385,7 @@ class ServerInstallationRepository {
|
||||||
if (await serverApi.isHttpServerWorking()) {
|
if (await serverApi.isHttpServerWorking()) {
|
||||||
return ServerHostingDetails(
|
return ServerHostingDetails(
|
||||||
apiToken: apiToken,
|
apiToken: apiToken,
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
name: '',
|
||||||
serverId: 0,
|
serverId: 0,
|
||||||
|
@ -416,7 +416,7 @@ class ServerInstallationRepository {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
return ServerHostingDetails(
|
return ServerHostingDetails(
|
||||||
apiToken: result.data,
|
apiToken: result.data,
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
name: '',
|
||||||
sizeByte: 0,
|
sizeByte: 0,
|
||||||
|
|
|
@ -15,7 +15,7 @@ class DiskVolume {
|
||||||
|
|
||||||
DiskVolume.fromServerDiscVolume(
|
DiskVolume.fromServerDiscVolume(
|
||||||
final ServerDiskVolume volume,
|
final ServerDiskVolume volume,
|
||||||
final ServerVolume? providerVolume,
|
final ServerProviderVolume? providerVolume,
|
||||||
) : this(
|
) : this(
|
||||||
name: volume.name,
|
name: volume.name,
|
||||||
sizeTotal: DiskSize(
|
sizeTotal: DiskSize(
|
||||||
|
@ -52,7 +52,7 @@ class DiskVolume {
|
||||||
bool root;
|
bool root;
|
||||||
bool isResizable;
|
bool isResizable;
|
||||||
ServerDiskVolume? serverDiskVolume;
|
ServerDiskVolume? serverDiskVolume;
|
||||||
ServerVolume? providerVolume;
|
ServerProviderVolume? providerVolume;
|
||||||
|
|
||||||
/// from 0.0 to 1.0
|
/// from 0.0 to 1.0
|
||||||
double get percentage =>
|
double get percentage =>
|
||||||
|
@ -67,7 +67,7 @@ class DiskVolume {
|
||||||
final bool? root,
|
final bool? root,
|
||||||
final bool? isResizable,
|
final bool? isResizable,
|
||||||
final ServerDiskVolume? serverDiskVolume,
|
final ServerDiskVolume? serverDiskVolume,
|
||||||
final ServerVolume? providerVolume,
|
final ServerProviderVolume? providerVolume,
|
||||||
}) =>
|
}) =>
|
||||||
DiskVolume(
|
DiskVolume(
|
||||||
sizeUsed: sizeUsed ?? this.sizeUsed,
|
sizeUsed: sizeUsed ?? this.sizeUsed,
|
||||||
|
@ -83,14 +83,14 @@ class DiskVolume {
|
||||||
class DiskStatus {
|
class DiskStatus {
|
||||||
DiskStatus.fromVolumes(
|
DiskStatus.fromVolumes(
|
||||||
final List<ServerDiskVolume> serverVolumes,
|
final List<ServerDiskVolume> serverVolumes,
|
||||||
final List<ServerVolume> providerVolumes,
|
final List<ServerProviderVolume> providerVolumes,
|
||||||
) {
|
) {
|
||||||
diskVolumes = serverVolumes.map((
|
diskVolumes = serverVolumes.map((
|
||||||
final ServerDiskVolume volume,
|
final ServerDiskVolume volume,
|
||||||
) {
|
) {
|
||||||
ServerVolume? providerVolume;
|
ServerProviderVolume? providerVolume;
|
||||||
|
|
||||||
for (final ServerVolume iterableProviderVolume in providerVolumes) {
|
for (final ServerProviderVolume iterableProviderVolume in providerVolumes) {
|
||||||
if (iterableProviderVolume.linuxDevice == null ||
|
if (iterableProviderVolume.linuxDevice == null ||
|
||||||
volume.model == null ||
|
volume.model == null ||
|
||||||
volume.serial == null) {
|
volume.serial == null) {
|
||||||
|
|
|
@ -28,7 +28,7 @@ class ServerHostingDetails {
|
||||||
final DateTime? startTime;
|
final DateTime? startTime;
|
||||||
|
|
||||||
@HiveField(4)
|
@HiveField(4)
|
||||||
final ServerVolume volume;
|
final ServerProviderVolume volume;
|
||||||
|
|
||||||
@HiveField(5)
|
@HiveField(5)
|
||||||
final String apiToken;
|
final String apiToken;
|
||||||
|
@ -52,8 +52,8 @@ class ServerHostingDetails {
|
||||||
}
|
}
|
||||||
|
|
||||||
@HiveType(typeId: 5)
|
@HiveType(typeId: 5)
|
||||||
class ServerVolume {
|
class ServerProviderVolume {
|
||||||
ServerVolume({
|
ServerProviderVolume({
|
||||||
required this.id,
|
required this.id,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.sizeByte,
|
required this.sizeByte,
|
||||||
|
|
|
@ -336,7 +336,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
final volumes = await getVolumes();
|
final volumes = await getVolumes();
|
||||||
final ServerVolume volumeToRemove;
|
final ServerProviderVolume volumeToRemove;
|
||||||
volumeToRemove = volumes.data.firstWhere(
|
volumeToRemove = volumes.data.firstWhere(
|
||||||
(final el) => el.serverId == foundServer!.id,
|
(final el) => el.serverId == foundServer!.id,
|
||||||
);
|
);
|
||||||
|
@ -548,10 +548,10 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<List<ServerVolume>>> getVolumes({
|
Future<GenericResult<List<ServerProviderVolume>>> getVolumes({
|
||||||
final String? status,
|
final String? status,
|
||||||
}) async {
|
}) async {
|
||||||
final List<ServerVolume> volumes = [];
|
final List<ServerProviderVolume> volumes = [];
|
||||||
|
|
||||||
final result = await _adapter.api().getVolumes();
|
final result = await _adapter.api().getVolumes();
|
||||||
|
|
||||||
|
@ -568,7 +568,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
int id = 0;
|
int id = 0;
|
||||||
for (final rawVolume in result.data) {
|
for (final rawVolume in result.data) {
|
||||||
final String volumeName = rawVolume.name;
|
final String volumeName = rawVolume.name;
|
||||||
final volume = ServerVolume(
|
final volume = ServerProviderVolume(
|
||||||
id: id++,
|
id: id++,
|
||||||
name: volumeName,
|
name: volumeName,
|
||||||
sizeByte: rawVolume.sizeGigabytes * 1024 * 1024 * 1024,
|
sizeByte: rawVolume.sizeGigabytes * 1024 * 1024 * 1024,
|
||||||
|
@ -597,8 +597,8 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<ServerVolume?>> createVolume(final int gb) async {
|
Future<GenericResult<ServerProviderVolume?>> createVolume(final int gb) async {
|
||||||
ServerVolume? volume;
|
ServerProviderVolume? volume;
|
||||||
|
|
||||||
final result = await _adapter.api().createVolume(gb);
|
final result = await _adapter.api().createVolume(gb);
|
||||||
|
|
||||||
|
@ -623,7 +623,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
final String volumeName = result.data!.name;
|
final String volumeName = result.data!.name;
|
||||||
volume = ServerVolume(
|
volume = ServerProviderVolume(
|
||||||
id: getVolumesResult.data.length,
|
id: getVolumesResult.data.length,
|
||||||
name: volumeName,
|
name: volumeName,
|
||||||
sizeByte: result.data!.sizeGigabytes,
|
sizeByte: result.data!.sizeGigabytes,
|
||||||
|
@ -638,10 +638,10 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<GenericResult<ServerVolume?>> getVolume(
|
Future<GenericResult<ServerProviderVolume?>> getVolume(
|
||||||
final String volumeUuid,
|
final String volumeUuid,
|
||||||
) async {
|
) async {
|
||||||
ServerVolume? requestedVolume;
|
ServerProviderVolume? requestedVolume;
|
||||||
|
|
||||||
final result = await getVolumes();
|
final result = await getVolumes();
|
||||||
|
|
||||||
|
@ -668,7 +668,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> attachVolume(
|
Future<GenericResult<bool>> attachVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final int serverId,
|
final int serverId,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().attachVolume(
|
_adapter.api().attachVolume(
|
||||||
|
@ -678,7 +678,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> detachVolume(
|
Future<GenericResult<bool>> detachVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().detachVolume(
|
_adapter.api().detachVolume(
|
||||||
volume.name,
|
volume.name,
|
||||||
|
@ -687,7 +687,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<void>> deleteVolume(
|
Future<GenericResult<void>> deleteVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().deleteVolume(
|
_adapter.api().deleteVolume(
|
||||||
volume.uuid!,
|
volume.uuid!,
|
||||||
|
@ -695,7 +695,7 @@ class DigitalOceanServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> resizeVolume(
|
Future<GenericResult<bool>> resizeVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final DiskSize size,
|
final DiskSize size,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().resizeVolume(
|
_adapter.api().resizeVolume(
|
||||||
|
|
|
@ -280,7 +280,7 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
id: serverResult.data!.id,
|
id: serverResult.data!.id,
|
||||||
ip4: serverResult.data!.publicNet.ipv4!.ip,
|
ip4: serverResult.data!.publicNet.ipv4!.ip,
|
||||||
createTime: DateTime.now(),
|
createTime: DateTime.now(),
|
||||||
volume: ServerVolume(
|
volume: ServerProviderVolume(
|
||||||
id: volume.id,
|
id: volume.id,
|
||||||
name: volume.name,
|
name: volume.name,
|
||||||
sizeByte: volume.size * 1024 * 1024 * 1024,
|
sizeByte: volume.size * 1024 * 1024 * 1024,
|
||||||
|
@ -580,10 +580,10 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<List<ServerVolume>>> getVolumes({
|
Future<GenericResult<List<ServerProviderVolume>>> getVolumes({
|
||||||
final String? status,
|
final String? status,
|
||||||
}) async {
|
}) async {
|
||||||
final List<ServerVolume> volumes = [];
|
final List<ServerProviderVolume> volumes = [];
|
||||||
|
|
||||||
final result = await _adapter.api().getVolumes();
|
final result = await _adapter.api().getVolumes();
|
||||||
|
|
||||||
|
@ -603,7 +603,7 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
final volumeServer = rawVolume.serverId;
|
final volumeServer = rawVolume.serverId;
|
||||||
final String volumeName = rawVolume.name;
|
final String volumeName = rawVolume.name;
|
||||||
final volumeDevice = rawVolume.linuxDevice;
|
final volumeDevice = rawVolume.linuxDevice;
|
||||||
final volume = ServerVolume(
|
final volume = ServerProviderVolume(
|
||||||
id: volumeId,
|
id: volumeId,
|
||||||
name: volumeName,
|
name: volumeName,
|
||||||
sizeByte: volumeSize,
|
sizeByte: volumeSize,
|
||||||
|
@ -629,8 +629,8 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<ServerVolume?>> createVolume(final int gb) async {
|
Future<GenericResult<ServerProviderVolume?>> createVolume(final int gb) async {
|
||||||
ServerVolume? volume;
|
ServerProviderVolume? volume;
|
||||||
|
|
||||||
final result = await _adapter.api().createVolume(gb);
|
final result = await _adapter.api().createVolume(gb);
|
||||||
|
|
||||||
|
@ -644,7 +644,7 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
volume = ServerVolume(
|
volume = ServerProviderVolume(
|
||||||
id: result.data!.id,
|
id: result.data!.id,
|
||||||
name: result.data!.name,
|
name: result.data!.name,
|
||||||
sizeByte: result.data!.size * 1024 * 1024 * 1024,
|
sizeByte: result.data!.size * 1024 * 1024 * 1024,
|
||||||
|
@ -669,12 +669,12 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<void>> deleteVolume(final ServerVolume volume) async =>
|
Future<GenericResult<void>> deleteVolume(final ServerProviderVolume volume) async =>
|
||||||
_adapter.api().deleteVolume(volume.id);
|
_adapter.api().deleteVolume(volume.id);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> resizeVolume(
|
Future<GenericResult<bool>> resizeVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final DiskSize size,
|
final DiskSize size,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().resizeVolume(
|
_adapter.api().resizeVolume(
|
||||||
|
@ -690,7 +690,7 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> attachVolume(
|
Future<GenericResult<bool>> attachVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final int serverId,
|
final int serverId,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().attachVolume(
|
_adapter.api().attachVolume(
|
||||||
|
@ -706,7 +706,7 @@ class HetznerServerProvider extends ServerProvider {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<GenericResult<bool>> detachVolume(
|
Future<GenericResult<bool>> detachVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
) async =>
|
) async =>
|
||||||
_adapter.api().detachVolume(
|
_adapter.api().detachVolume(
|
||||||
volume.id,
|
volume.id,
|
||||||
|
|
|
@ -94,35 +94,35 @@ abstract class ServerProvider {
|
||||||
/// main server type pricing
|
/// main server type pricing
|
||||||
Future<GenericResult<AdditionalPricing?>> getAdditionalPricing();
|
Future<GenericResult<AdditionalPricing?>> getAdditionalPricing();
|
||||||
|
|
||||||
/// Returns [ServerVolume] of all available volumes
|
/// Returns [ServerProviderVolume] of all available volumes
|
||||||
/// assigned to the authorized user and attached to active machine.
|
/// assigned to the authorized user and attached to active machine.
|
||||||
Future<GenericResult<List<ServerVolume>>> getVolumes({final String? status});
|
Future<GenericResult<List<ServerProviderVolume>>> getVolumes({final String? status});
|
||||||
|
|
||||||
/// Tries to create an empty unattached [ServerVolume].
|
/// Tries to create an empty unattached [ServerProviderVolume].
|
||||||
///
|
///
|
||||||
/// If success, returns this volume information.
|
/// If success, returns this volume information.
|
||||||
Future<GenericResult<ServerVolume?>> createVolume(final int gb);
|
Future<GenericResult<ServerProviderVolume?>> createVolume(final int gb);
|
||||||
|
|
||||||
/// Tries to delete the requested accessible [ServerVolume].
|
/// Tries to delete the requested accessible [ServerProviderVolume].
|
||||||
Future<GenericResult<void>> deleteVolume(final ServerVolume volume);
|
Future<GenericResult<void>> deleteVolume(final ServerProviderVolume volume);
|
||||||
|
|
||||||
/// Tries to resize the requested accessible [ServerVolume]
|
/// Tries to resize the requested accessible [ServerProviderVolume]
|
||||||
/// to the provided size **(not by!)**, must be greater than current size.
|
/// to the provided size **(not by!)**, must be greater than current size.
|
||||||
Future<GenericResult<bool>> resizeVolume(
|
Future<GenericResult<bool>> resizeVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final DiskSize size,
|
final DiskSize size,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Tries to attach the requested accessible [ServerVolume]
|
/// Tries to attach the requested accessible [ServerProviderVolume]
|
||||||
/// to an accessible machine by the provided identificator.
|
/// to an accessible machine by the provided identificator.
|
||||||
Future<GenericResult<bool>> attachVolume(
|
Future<GenericResult<bool>> attachVolume(
|
||||||
final ServerVolume volume,
|
final ServerProviderVolume volume,
|
||||||
final int serverId,
|
final int serverId,
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Tries to attach the requested accessible [ServerVolume]
|
/// Tries to attach the requested accessible [ServerProviderVolume]
|
||||||
/// from any machine.
|
/// from any machine.
|
||||||
Future<GenericResult<bool>> detachVolume(final ServerVolume volume);
|
Future<GenericResult<bool>> detachVolume(final ServerProviderVolume volume);
|
||||||
|
|
||||||
/// Returns metedata of an accessible machine by the provided identificator
|
/// Returns metedata of an accessible machine by the provided identificator
|
||||||
/// to show on ServerDetailsScreen.
|
/// to show on ServerDetailsScreen.
|
||||||
|
|
Loading…
Reference in New Issue