mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2024-10-01 04:22:54 +00:00
32 lines
811 B
Python
32 lines
811 B
Python
|
"""Storage queries."""
|
||
|
# pylint: disable=too-few-public-methods
|
||
|
import typing
|
||
|
import strawberry
|
||
|
from selfprivacy_api.utils.block_devices import BlockDevices
|
||
|
|
||
|
|
||
|
@strawberry.type
|
||
|
class StorageVolume:
|
||
|
total_space: int
|
||
|
free_space: int
|
||
|
used_space: int
|
||
|
root: bool
|
||
|
name: str
|
||
|
|
||
|
|
||
|
@strawberry.type
|
||
|
class Storage:
|
||
|
@strawberry.field
|
||
|
def volumes(self) -> typing.List[StorageVolume]:
|
||
|
"""Get list of volumes"""
|
||
|
return [
|
||
|
StorageVolume(
|
||
|
total_space=volume.fssize if volume.fssize is not None else volume.size,
|
||
|
free_space=volume.fsavail,
|
||
|
used_space=volume.fsused,
|
||
|
root=volume.name == "sda1",
|
||
|
name=volume.name,
|
||
|
)
|
||
|
for volume in BlockDevices().get_block_devices()
|
||
|
]
|