decodeRequest static method
Decode request from JSON bytes
Implementation
static MailboxMgmtRequest decodeRequest(Uint8List bytes) {
try {
final json = utf8.decode(bytes);
final data = jsonDecode(json) as Map<String, dynamic>;
final operation = data['operationType'] as String;
switch (operation) {
case 'createMailbox':
return CreateMailboxRequest.fromJson(data);
case 'grantAccess':
return GrantAccessRequest.fromJson(data);
case 'revokeAccess':
return RevokeAccessRequest.fromJson(data);
case 'listACL':
return ListACLRequest.fromJson(data);
case 'updateConfig':
return UpdateMailboxConfigRequest.fromJson(data);
case 'deleteMailbox':
return DeleteMailboxRequest.fromJson(data);
case 'listMailboxes':
return ListMailboxesRequest.fromJson(data);
case 'getMailboxInfo':
return GetMailboxInfoRequest.fromJson(data);
case 'queryCapacity':
return QueryCapacityRequest.fromJson(data);
default:
throw FormatException('Unknown operation type: $operation');
}
} catch (e) {
throw FormatException('Failed to decode mailbox management request: $e');
}
}