using JSONAPI.Core;
namespace JSONAPI.Documents
{
///
/// Service to provide formatting of links
///
public interface ILinkConventions
{
///
/// Builds a relationship link for the given model property
///
/// The resource that this relationship belongs to.
/// The model manage to use to lookup information about the relationship owner's type
/// The property to get the link for
/// The portion of the URL that the link will be appended to
///
ILink GetRelationshipLink(TResource relationshipOwner, IResourceTypeRegistry resourceTypeRegistry, ResourceTypeRelationship property, string baseUrl);
///
/// Builds a related resource link for the given model property
///
/// The resource that this relationship belongs to.
/// The model manage to use to lookup information about the relationship owner's type
/// The property to get the link for
/// The portion of the URL that the link will be appended to
///
ILink GetRelatedResourceLink(TResource relationshipOwner, IResourceTypeRegistry resourceTypeRegistry, ResourceTypeRelationship property, string baseUrl);
}
}