/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(ICompanyHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Create: return($"{entity.RouteBasePath}/companies"); case HubSpotAction.Get: return($"{entity.RouteBasePath}/companies/:companyId:"); case HubSpotAction.GetByEmail: return($"{entity.RouteBasePath}/domains/:domain:/companies"); case HubSpotAction.List: return($"{entity.RouteBasePath}/companies/paged"); case HubSpotAction.Update: return($"{entity.RouteBasePath}/companies/:companyId:"); case HubSpotAction.Delete: return($"{entity.RouteBasePath}/companies/:companyId:"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> internal string PathResolver(ILineItemHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Create: return($"{entity.RouteBasePath}/line_items"); case HubSpotAction.Get: return($"{entity.RouteBasePath}/line_items/:lineItemId:"); case HubSpotAction.Update: return($"{entity.RouteBasePath}/line_items/:lineItemId:"); case HubSpotAction.Delete: return($"{entity.RouteBasePath}/line_items/:lineItemId:"); case HubSpotAction.List: return($"{entity.RouteBasePath}/line_items/paged"); case HubSpotAction.CreateBatch: return($"{entity.RouteBasePath}/line_items/batch-create"); case HubSpotAction.DeleteBatch: return($"{entity.RouteBasePath}/line_items/batch-delete"); case HubSpotAction.UpdateBatch: return($"{entity.RouteBasePath}/line_items/batch-update"); case HubSpotAction.ReadBatch: return($"{entity.RouteBasePath}/line_items/batch-read"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and opreation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(IContactHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Create: return($"{entity.RouteBasePath}/contact"); case HubSpotAction.Get: return($"{entity.RouteBasePath}/contact/vid/:contactId:/profile"); case HubSpotAction.GetByEmail: return($"{entity.RouteBasePath}/contact/email/:contactEmail:/profile"); case HubSpotAction.List: return($"{entity.RouteBasePath}/lists/all/contacts/all"); case HubSpotAction.Update: return($"{entity.RouteBasePath}/contact/vid/:contactId:/profile"); case HubSpotAction.Delete: return($"{entity.RouteBasePath}/contact/vid/:contactId:"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(ICompanyPropertyHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.List: return($"{entity.RouteBasePath}/companies/properties"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(IOwnerHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.List: return($"{entity.RouteBasePath}/owners"); case HubSpotAction.Get: return($"{entity.RouteBasePath}/owners/:ownerId:"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(Contact.Interfaces.IContactHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Get: return($"{entity.RouteBasePath}/lists/:listId:/contacts/all"); case HubSpotAction.CreateBatch: return($"{entity.RouteBasePath}/lists/:listId:/add"); case HubSpotAction.DeleteBatch: return($"{entity.RouteBasePath}/lists/:listId:/remove"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and operation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(IDealHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Create: return($"{entity.RouteBasePath}/deal"); case HubSpotAction.Get: return($"{entity.RouteBasePath}/deal/:dealId:"); case HubSpotAction.Update: return($"{entity.RouteBasePath}/deal/:dealId:"); case HubSpotAction.Delete: return($"{entity.RouteBasePath}/deal/:dealId:"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and opreation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(IOwnerHubSpotEntity entity, HubSpotAction action) { switch (action) { //case HubSpotAction.Create: // return $"{entity.RouteBasePath}/engagements"; //case HubSpotAction.Get: // return $"{entity.RouteBasePath}/contact/vid/:contactId:/profile"; //case HubSpotAction.GetByEmail: // return $"{entity.RouteBasePath}/contact/email/:contactEmail:/profile"; case HubSpotAction.List: return($"{entity.RouteBasePath}/owners"); //case HubSpotAction.Update: // return $"{entity.RouteBasePath}/contact/vid/:contactId:/profile"; //case HubSpotAction.Delete: // return $"{entity.RouteBasePath}/contact/vid/:contactId:"; default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
/// <summary> /// Resolve a hubspot API path based off the entity and opreation that is about to happen /// </summary> /// <param name="entity"></param> /// <param name="action"></param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public string PathResolver(IAssociationHubSpotEntity entity, HubSpotAction action) { switch (action) { case HubSpotAction.Create: return($"{entity.RouteBasePath}/associations"); case HubSpotAction.CreateBatch: return($"{entity.RouteBasePath}/associations/create-batch"); case HubSpotAction.List: return($"{entity.RouteBasePath}/associations/:fromObjectId:/HUBSPOT_DEFINED/:definitionId:"); case HubSpotAction.Delete: return($"{entity.RouteBasePath}/associations/delete"); case HubSpotAction.DeleteBatch: return($"{entity.RouteBasePath}/associations/delete-batch"); default: throw new ArgumentOutOfRangeException(nameof(action), action, null); } }
public void CompanyClient_path_resolver_works(HubSpotAction action, string expetedPath) { var resvoledPath = _client.PathResolver(new CompanyHubSpotEntity(), action); Assert.Equal(expetedPath, resvoledPath); }
public void LineItemClient_path_resolver_works(HubSpotAction action, string expectedPath) { var resvoledPath = _client.PathResolver(new LineItemHubSpotEntity(), action); Assert.Equal(expectedPath, resvoledPath); }