use crate::ast::protocol::{HttpStatement, RapidProtocolDefinition, RapidRecastHttpMethod};
use crate::ast::{RapidAstStatement, RapidRecastDefinition, Version};
use std::borrow::Cow;
pub fn bare_minimum_schema() -> RapidRecastDefinition<'static> {
RapidRecastDefinition {
id: Cow::Borrowed("unique-schema-id-123"),
language_version: Version {
major: 1,
minor: 2,
patch: 3,
},
file_version: Version {
major: 4,
minor: 5,
patch: 6,
},
name: Some(Cow::Borrowed("some name")),
description: Some(Cow::Borrowed("some description")),
ast: vec![],
}
}
pub fn schema_with_proto_definition() -> RapidRecastDefinition<'static> {
let mut schema = bare_minimum_schema();
schema.ast.push(RapidAstStatement::ProtocolDefinition(
RapidProtocolDefinition::HttpProtocolDefinition(HttpStatement {
sequence: 0,
paths: vec![Cow::Borrowed("/")],
methods: vec![RapidRecastHttpMethod::GET],
actions: vec![],
}),
));
schema
}