Description
This issue is analogous to #577 but for relationships instead of attributes.
200 OK
If a server accepts an update but also changes the targeted relationship(s) in other ways than those specified by the request, it MUST return a 200 OK response. The response document MUST include a representation of the updated relationship(s).A server MUST return a 200 OK status code if an update is successful, the client’s current data remain up to date, and the server responds only with top-level meta data. In this case the server MUST NOT include a representation of the updated relationship(s).
the part in bold is currently not properly implemented.
The associated repository method does not return anything:
public interface IEntityWriteRepository<TEntity, in TId>
where TEntity : class, IIdentifiable<TId>
{
....
Task UpdateRelationshipsAsync(object parent, RelationshipAttribute relationship, IEnumerable<string> relationshipIds);
....
}
This is fine for the default implementation. But if, as in #577, a developer has business logic that affects the relationships in a way different than as specified by the request, a response must include a representation of the updated relationships