p2panda_rs/schema/system/
error.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2
3use thiserror::Error;
4
5use crate::document::DocumentViewValue;
6
7/// Custom error types for system schema views.
8#[derive(Error, Debug)]
9pub enum SystemSchemaError {
10    /// Passed field type does not match the expected type.
11    #[error("invalid field \"{0}\" with value {1:#?}")]
12    InvalidField(String, DocumentViewValue),
13
14    /// Missing expected field.
15    #[error("missing field \"{0}\"")]
16    MissingField(String),
17
18    /// Additional field found.
19    #[error("additional field found")]
20    AdditionalFields,
21
22    /// Invalid field type found.
23    #[error("invalid field type")]
24    InvalidFieldType(#[from] crate::schema::error::FieldTypeError),
25}