Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed many-to-many collection from referencing mappings to referencing secondaries

...

Model: Primary is a resource; Mapping is a sub-resource of Primary; Secondary is a resource

  • Parent Primary contains a createable, uneditable collection of mappingssecondaries
  • Mapping contains an uneditable reference to primary
  • Mapping contains a creatable, potentially non-editable reference to secondary (whether relationships can be updated is an open question)
  • Secondary does not contain a reference to primary or mapping
  • Primary resource has a special query whose parameter is a secondary uuid which returns all primaries related to the secondary; this query is identified by the name of the secondary (as there may be several such relationships)
  • Mapping subresource has a special query whose parameter is a secondary uuid which returns all mappings related to the secondary
  • Relationships are created by creating a mapping subresource with the proper secondary reference
  • Relationships are deleted by deleting the mapping
    NOTE: The direction in which the relationship is broken is arbitrary, but there can only be one collection of mappings or counterparty objects because of caching issues.