Preserve editable routes across source projects and REST
This commit is contained in:
@@ -66,7 +66,7 @@ impl ParseLimits {
|
||||
project
|
||||
.diagrams
|
||||
.values()
|
||||
.map(|d| d.nodes.len())
|
||||
.map(|d| d.nodes.len().saturating_add(d.routes.len()))
|
||||
.sum::<usize>(),
|
||||
)
|
||||
.saturating_add(project.artifact_links.len())
|
||||
@@ -348,6 +348,7 @@ fn reference_field(key: &str) -> bool {
|
||||
| "oa"
|
||||
| "sa"
|
||||
| "diagram"
|
||||
| "edge"
|
||||
)
|
||||
}
|
||||
fn enum_field(key: &str) -> bool {
|
||||
@@ -1532,7 +1533,7 @@ pub(crate) fn resolve_declarations(
|
||||
}
|
||||
DeclKind::Diagram => {
|
||||
let defaults =
|
||||
serde_json::json!({"description":"","layer":"Oa","projection":"Overview"});
|
||||
serde_json::json!({"description":"","layer":"Oa","projection":"Overview","routes":[]});
|
||||
let mut record = merge_fields(defaults.as_object().unwrap().clone(), fields)
|
||||
.map_err(&conversion_error)?;
|
||||
header(&mut record, d, true);
|
||||
|
||||
@@ -1429,7 +1429,7 @@ fn item_key(
|
||||
"literal:{}",
|
||||
&source[value.span.start..value.span.end]
|
||||
)),
|
||||
EditKind::Record(fields) => ["field", "referenced"].into_iter().find_map(|key| {
|
||||
EditKind::Record(fields) => ["field", "referenced", "edge"].into_iter().find_map(|key| {
|
||||
fields.get(key).and_then(|field| {
|
||||
if let EditKind::Reference(alias) = &field.value.kind {
|
||||
aliases.get(alias).map(|id| format!("{key}:{id}"))
|
||||
|
||||
Reference in New Issue
Block a user