[#3] Added generate proto script create container method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
This commit is contained in:
parent
19282f13cc
commit
3afa14db95
52 changed files with 1381 additions and 74 deletions
44
frostfs_sdk/models/mappers/session_mapper.py
Normal file
44
frostfs_sdk/models/mappers/session_mapper.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
from google.protobuf.message import DecodeError
|
||||
from frostfs_sdk.protos.models.session import types_pb2 as types_pb2_session
|
||||
|
||||
|
||||
class SessionMapper:
|
||||
@staticmethod
|
||||
def serialize(token: types_pb2_session.SessionToken) -> bytes:
|
||||
"""
|
||||
Serializes a SessionToken object into a byte array.
|
||||
|
||||
:param token: A SessionToken Protobuf object.
|
||||
:return: A byte array representing the serialized SessionToken.
|
||||
:raises ValueError: If the input token is None.
|
||||
:raises Exception: If serialization fails.
|
||||
"""
|
||||
if token is None:
|
||||
raise ValueError(f"Input parameter is missing: {types_pb2_session.SessionToken.__name__}")
|
||||
|
||||
try:
|
||||
# Serialize the token to bytes
|
||||
return token.SerializeToString()
|
||||
except Exception as e:
|
||||
raise Exception(f"Serialization failed: {str(e)}")
|
||||
|
||||
@staticmethod
|
||||
def deserialize_session_token(bytes_data: bytes) -> types_pb2_session.SessionToken:
|
||||
"""
|
||||
Deserializes a byte array into a SessionToken object.
|
||||
|
||||
:param bytes_data: A byte array representing the serialized SessionToken.
|
||||
:return: A SessionToken Protobuf object.
|
||||
:raises ValueError: If the input byte array is None or empty.
|
||||
:raises Exception: If deserialization fails.
|
||||
"""
|
||||
if not bytes_data:
|
||||
raise ValueError(f"Input parameter is missing: {types_pb2_session.SessionToken.__name__}")
|
||||
|
||||
try:
|
||||
# Deserialize the byte array into a SessionToken object
|
||||
session_token = types_pb2_session.SessionToken()
|
||||
session_token.ParseFromString(bytes_data)
|
||||
return session_token
|
||||
except DecodeError as e:
|
||||
raise Exception(f"Deserialization failed: {str(e)}")
|
Loading…
Add table
Add a link
Reference in a new issue