Skip to content

Commit 8fb77b7

Browse files
committed
wip
1 parent edc55e3 commit 8fb77b7

File tree

12 files changed

+30
-15
lines changed

12 files changed

+30
-15
lines changed

rust/signed_doc/src/validator/mod.rs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
pub(crate) mod json_schema;
44
pub(crate) mod rules;
55

6-
use std::{
7-
collections::HashMap,
8-
sync::{Arc, LazyLock},
9-
};
6+
use std::{collections::HashMap, sync::LazyLock};
107

118
use anyhow::Context;
129
use catalyst_signed_doc_macro;
@@ -27,7 +24,7 @@ use crate::{
2724
catalyst_signed_doc_macro::catalyst_signed_documents_rules!();
2825

2926
/// A table representing a full set or validation rules per document id.
30-
static DOCUMENT_RULES: LazyLock<HashMap<DocType, Arc<Rules>>> = LazyLock::new(document_rules_init);
27+
static DOCUMENT_RULES: LazyLock<HashMap<DocType, Rules>> = LazyLock::new(document_rules_init);
3128

3229
/// Proposal
3330
/// Require field: type, id, ver, template, parameters
@@ -156,22 +153,18 @@ fn proposal_submission_action_rule() -> Rules {
156153
}
157154

158155
/// `DOCUMENT_RULES` initialization function
159-
fn document_rules_init() -> HashMap<DocType, Arc<Rules>> {
156+
fn document_rules_init() -> HashMap<DocType, Rules> {
160157
let mut document_rules_map = HashMap::new();
161158

162159
for (doc_type, rule) in documents_rules() {
163-
document_rules_map.insert(doc_type, Arc::new(rule));
160+
document_rules_map.insert(doc_type, rule);
164161
}
165162

166-
let proposal_rules = Arc::new(proposal_rule());
167-
let comment_rules = Arc::new(proposal_comment_rule());
168-
let action_rules = Arc::new(proposal_submission_action_rule());
169-
170-
document_rules_map.insert(PROPOSAL.clone(), Arc::clone(&proposal_rules));
171-
document_rules_map.insert(PROPOSAL_COMMENT.clone(), Arc::clone(&comment_rules));
163+
document_rules_map.insert(PROPOSAL.clone(), proposal_rule());
164+
document_rules_map.insert(PROPOSAL_COMMENT.clone(), proposal_comment_rule());
172165
document_rules_map.insert(
173166
PROPOSAL_SUBMISSION_ACTION.clone(),
174-
Arc::clone(&action_rules),
167+
proposal_submission_action_rule(),
175168
);
176169

177170
document_rules_map

rust/signed_doc/src/validator/rules/content.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! `template` rule type impl.
22
3-
use std::fmt::Write;
3+
use std::fmt::{Debug, Write};
44

55
use crate::{
66
metadata::ContentType,
@@ -16,7 +16,19 @@ pub(crate) enum ContentSchema {
1616
Json(json_schema::JsonSchema),
1717
}
1818

19+
impl Debug for ContentSchema {
20+
fn fmt(
21+
&self,
22+
f: &mut std::fmt::Formatter<'_>,
23+
) -> std::fmt::Result {
24+
match self {
25+
Self::Json(_) => writeln!(f, "JsonSchema"),
26+
}
27+
}
28+
}
29+
1930
/// Document's content validation rule
31+
#[derive(Debug)]
2032
pub(crate) enum ContentRule {
2133
/// Based on the 'template' field and loaded corresponding template document
2234
Templated {

rust/signed_doc/src/validator/rules/content_encoding.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use crate::{metadata::ContentEncoding, CatalystSignedDocument};
44

55
/// `content-encoding` field validation rule
6+
#[derive(Debug)]
67
pub(crate) struct ContentEncodingRule {
78
/// expected `content-encoding` field
89
pub(crate) exp: ContentEncoding,

rust/signed_doc/src/validator/rules/content_type.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use crate::{metadata::ContentType, CatalystSignedDocument};
44

55
/// `content-type` field validation rule
6+
#[derive(Debug)]
67
pub(crate) struct ContentTypeRule {
78
/// expected `content-type` field
89
pub(crate) exp: ContentType,

rust/signed_doc/src/validator/rules/doc_ref.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use crate::{
88
};
99

1010
/// `ref` field validation rule
11+
#[derive(Debug)]
1112
pub(crate) enum RefRule {
1213
/// Is 'ref' specified
1314
Specified {

rust/signed_doc/src/validator/rules/id.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use anyhow::Context;
77
use crate::{providers::CatalystSignedDocumentProvider, CatalystSignedDocument};
88

99
/// Signed Document `id` field validation rule
10+
#[derive(Debug)]
1011
pub(crate) struct IdRule;
1112

1213
impl IdRule {

rust/signed_doc/src/validator/rules/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pub(crate) use signature_kid::SignatureKidRule;
2828
pub(crate) use ver::VerRule;
2929

3030
/// Struct represented a full collection of rules for all fields
31+
#[derive(Debug)]
3132
pub(crate) struct Rules {
3233
/// 'id' field validation rule
3334
pub(crate) id: IdRule,

rust/signed_doc/src/validator/rules/parameters.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use crate::{
99
};
1010

1111
/// `parameters` field validation rule
12+
#[derive(Debug)]
1213
pub(crate) enum ParametersRule {
1314
/// Is `parameters` specified
1415
Specified {

rust/signed_doc/src/validator/rules/reply.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use crate::{
66
};
77

88
/// `reply` field validation rule
9+
#[derive(Debug)]
910
pub(crate) enum ReplyRule {
1011
/// Is 'reply' specified
1112
Specified {

rust/signed_doc/src/validator/rules/section.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use crate::CatalystSignedDocument;
44

55
/// `section` field validation rule
6+
#[derive(Debug)]
67
pub(crate) enum SectionRule {
78
/// Is 'section' specified
89
#[allow(dead_code)]

0 commit comments

Comments
 (0)