reactivated relation_completer

This commit is contained in:
Sascha Kühl
2025-12-12 08:49:40 +01:00
parent 79c46bbd38
commit 758ea96ea4
3 changed files with 76 additions and 58 deletions
@@ -194,30 +194,31 @@ void foreign_node_completer<NodeType>::on_has_many(const char * /*id*/,
template<typename NodeType>
template<class CollectionType>
void foreign_node_completer<NodeType>::on_has_many_to_many(const char *id, CollectionType & /*collection*/,
const char *join_column,
const char *inverse_join_column,
void foreign_node_completer<NodeType>::on_has_many_to_many(const char * /*id*/,
CollectionType & /*collection*/,
const char * /*join_column*/,
const char * /*inverse_join_column*/,
const utils::foreign_attributes & /*attr*/) {
if (!repo_.expecting_relation_node(id)) {
repo_.expect_relation_node(id, typeid(typename CollectionType::value_type::value_type));
} else {
attach_relation_node<typename CollectionType::value_type::value_type>(id, join_column, inverse_join_column);
repo_.remove_expected_relation_node(id);
}
// if (!repo_.expecting_relation_node(id)) {
// repo_.expect_relation_node(id, typeid(typename CollectionType::value_type::value_type));
// } else {
// attach_relation_node<typename CollectionType::value_type::value_type>(id, join_column, inverse_join_column);
// repo_.remove_expected_relation_node(id);
// }
}
template<typename NodeType>
template<class CollectionType>
void foreign_node_completer<NodeType>::on_has_many_to_many(const char *id,
void foreign_node_completer<NodeType>::on_has_many_to_many(const char * /*id*/,
CollectionType & /*collection*/,
const utils::foreign_attributes & /*attr*/) {
if (!repo_.expecting_relation_node(id)) {
repo_.expect_relation_node(id, typeid(typename CollectionType::value_type::value_type));
} else {
const auto join_columns = join_columns_collector_.collect<typename CollectionType::value_type::value_type>();
attach_relation_node<typename CollectionType::value_type::value_type>(id, join_columns.join_column, join_columns.inverse_join_column);
repo_.remove_expected_relation_node(id);
}
// if (!repo_.expecting_relation_node(id)) {
// repo_.expect_relation_node(id, typeid(typename CollectionType::value_type::value_type));
// } else {
// const auto join_columns = join_columns_collector_.collect<typename CollectionType::value_type::value_type>();
// attach_relation_node<typename CollectionType::value_type::value_type>(id, join_columns.join_column, join_columns.inverse_join_column);
// repo_.remove_expected_relation_node(id);
// }
}
template<typename NodeType>