Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ODS-4799] Introduce resource POST/Retry order in dependency endpoint #1149

Merged
merged 5 commits into from
Sep 27, 2024

Conversation

gmcelhanon
Copy link
Contributor

No description provided.

namespace EdFi.Ods.Api.Models.GraphML
{
// ReSharper disable once InconsistentNaming
public class GraphMLEdge
public class GraphMLEdge : IEquatable<GraphMLEdge>, IEdge<GraphMLNode>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The GraphML model used for serialization needed to be processed as a bidirectional graph with the BreakCycles logic (an extension method written for bidirectional graphs) after introducing the /ed-fi/staffs#Retry node into the graph.

In moving the dependencies of the staff employment/assignment associations to be dependents instead of the new "Retry' node, a "soft" (optional) circular dependency on between the Staff "Retry" node and the StaffEdOrgAssignmentAssociation resulted because of the StaffEdOrgAssignmentAssociation's optional dependency on the StaffEdOrgEmploymentAssociation. This circular dependency needed to be removed reusing the BreakCycles logic mentioned above, and requiring GraphML models to support the behavior required by the graph library (IEquatable<T> and for the node, IComparable<T>).

image

@mjaksn mjaksn self-requested a review September 26, 2024 19:46
@mjaksn mjaksn merged commit 57bda4c into main Sep 27, 2024
16 checks passed
@mjaksn mjaksn deleted the ODS-4799 branch September 27, 2024 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants