mx_message/
error.rs

1// Plasmatic MX Message Parsing Library
2// https://github.com/GoPlasmatic/MXMessage
3//
4// Copyright (c) 2025 Plasmatic
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9//     http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// You may obtain a copy of this library at
18// https://github.com/GoPlasmatic/MXMessage
19
20#[derive(Debug, Clone, PartialEq)]
21pub struct ValidationError {
22    pub code: u32,
23    pub message: String,
24    pub field: Option<String>,
25    pub path: Option<String>,
26}
27
28impl ValidationError {
29    pub fn new(code: u32, message: String) -> Self {
30        ValidationError {
31            code,
32            message,
33            field: None,
34            path: None,
35        }
36    }
37
38    pub fn with_field(mut self, field: String) -> Self {
39        self.field = Some(field);
40        self
41    }
42
43    pub fn with_path(mut self, path: String) -> Self {
44        self.path = Some(path);
45        self
46    }
47}