From 543d98298c97305e00ec95699ee783d22a6db7fa Mon Sep 17 00:00:00 2001 From: Erik Hennerfors Date: Tue, 27 Jun 2023 15:21:04 +0200 Subject: [PATCH] Update(s) --- Intercom/Abstractions/BaseClient.cs | 9 +- Intercom/Clients/AdminsClient.cs | 9 +- Intercom/Clients/ArticlesClient.cs | 9 +- Intercom/Clients/AttributesClient.cs | 9 +- Intercom/Clients/Companies/ContactsClient.cs | 13 +-- Intercom/Clients/Companies/SegmentsClient.cs | 9 +- Intercom/Clients/CompaniesClient.cs | 17 ++-- Intercom/Clients/Contacts/CompaniesClient.cs | 9 +- Intercom/Clients/Contacts/NotesClient.cs | 9 +- Intercom/Clients/Contacts/SegmentsClient.cs | 9 +- .../Clients/Contacts/SubscriptionsClient.cs | 9 +- Intercom/Clients/Contacts/TagsClient.cs | 9 +- Intercom/Clients/ContactsClient.cs | 29 ++++--- .../Clients/Conversations/ContactsClient.cs | 9 +- Intercom/Clients/Conversations/TagsClient.cs | 9 +- Intercom/Clients/ConversationsClient.cs | 17 ++-- Intercom/Clients/EventsClient.cs | 9 +- Intercom/Clients/ExportsClient.cs | 9 +- Intercom/Clients/MeClient.cs | 9 +- Intercom/Clients/MessagesClient.cs | 9 +- Intercom/Clients/News/Feeds/ItemsClient.cs | 9 +- Intercom/Clients/News/FeedsClient.cs | 13 +-- Intercom/Clients/News/ItemsClient.cs | 9 +- Intercom/Clients/NewsClient.cs | 17 ++-- Intercom/Clients/NotesClient.cs | 9 +- Intercom/Clients/SegmentsClient.cs | 9 +- Intercom/Clients/SubscriptionsClient.cs | 9 +- Intercom/Clients/SwitchClient.cs | 9 +- Intercom/Clients/TagsClient.cs | 9 +- Intercom/Clients/TeamsClient.cs | 9 +- Intercom/Clients/Tickets/AttributesClient.cs | 9 +- Intercom/Clients/Tickets/TypesClient.cs | 9 +- Intercom/Clients/TicketsClient.cs | 17 ++-- Intercom/Clients/VisitorsClient.cs | 9 +- Intercom/Constants/Url.cs | 23 +++-- Intercom/Constants/Version.cs | 22 +++-- Intercom/Intercom.cs | 10 +-- Intercom/Internals/IntercomService.cs | 85 ++++++++++--------- 38 files changed, 283 insertions(+), 223 deletions(-) diff --git a/Intercom/Abstractions/BaseClient.cs b/Intercom/Abstractions/BaseClient.cs index fc6cdd2..f472817 100644 --- a/Intercom/Abstractions/BaseClient.cs +++ b/Intercom/Abstractions/BaseClient.cs @@ -1,4 +1,5 @@ -using Intercom.Exceptions; +using Intercom.Constants; +using Intercom.Exceptions; using Intercom.Extensions; using Newtonsoft.Json; using System; @@ -15,12 +16,12 @@ public abstract class BaseClient private readonly string _bearerToken; private readonly string _apiVersion; - protected BaseClient(string baseUri, string bearerToken, Version apiVersion) + protected BaseClient(Url url, string bearerToken, Constants.Version version) { - _baseUri = new Uri(baseUri); + _baseUri = new Uri(url.Value); _bearerToken = bearerToken; - _apiVersion = apiVersion.ToString(2); + _apiVersion = version.Value.ToString(2); } public TReturn Get(PlainRequest req) => diff --git a/Intercom/Clients/AdminsClient.cs b/Intercom/Clients/AdminsClient.cs index 1493676..dcb2472 100644 --- a/Intercom/Clients/AdminsClient.cs +++ b/Intercom/Clients/AdminsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Admins; using Intercom.Responses.Admins; @@ -18,13 +19,13 @@ public interface IAdminsClient public class AdminsClient : BaseClient, IAdminsClient { - public AdminsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public AdminsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public AdminsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public AdminsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/ArticlesClient.cs b/Intercom/Clients/ArticlesClient.cs index 53e16b9..b10a8de 100644 --- a/Intercom/Clients/ArticlesClient.cs +++ b/Intercom/Clients/ArticlesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Articles; using Intercom.Responses.Articles; @@ -23,13 +24,13 @@ public interface IArticlesClient public class ArticlesClient : BaseClient, IArticlesClient { - public ArticlesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ArticlesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public ArticlesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ArticlesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/AttributesClient.cs b/Intercom/Clients/AttributesClient.cs index c053215..855038c 100644 --- a/Intercom/Clients/AttributesClient.cs +++ b/Intercom/Clients/AttributesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Attributes; using Intercom.Responses.Attributes; @@ -18,13 +19,13 @@ public interface IAttributesClient public class AttributesClient : BaseClient, IAttributesClient { - public AttributesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public AttributesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public AttributesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public AttributesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Companies/ContactsClient.cs b/Intercom/Clients/Companies/ContactsClient.cs index d71abb7..7e33ec1 100644 --- a/Intercom/Clients/Companies/ContactsClient.cs +++ b/Intercom/Clients/Companies/ContactsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Companies.Contacts; using Intercom.Responses.Contacts; @@ -20,16 +21,16 @@ public interface IContactsClient internal class ContactsClient : BaseClient, IContactsClient { - public ContactsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ContactsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Companies = new Contacts.CompaniesClient(baseUri, bearerToken, apiVersion); + Companies = new Contacts.CompaniesClient(url, bearerToken, version); } - public ContactsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ContactsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Companies = new Contacts.CompaniesClient(baseUri, bearerToken); + Companies = new Contacts.CompaniesClient(url, bearerToken); } public ListResponse List(ListRequest request) diff --git a/Intercom/Clients/Companies/SegmentsClient.cs b/Intercom/Clients/Companies/SegmentsClient.cs index 904687d..125b639 100644 --- a/Intercom/Clients/Companies/SegmentsClient.cs +++ b/Intercom/Clients/Companies/SegmentsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Companies.Segments; using Intercom.Responses.Segments; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface ISegmentsClient internal class SegmentsClient : BaseClient, ISegmentsClient { - public SegmentsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SegmentsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SegmentsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SegmentsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/CompaniesClient.cs b/Intercom/Clients/CompaniesClient.cs index 58297b8..5e0bed0 100644 --- a/Intercom/Clients/CompaniesClient.cs +++ b/Intercom/Clients/CompaniesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Companies; using Intercom.Responses.Companies; @@ -27,18 +28,18 @@ public interface ICompaniesClient public class CompaniesClient : BaseClient, ICompaniesClient { - public CompaniesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public CompaniesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Contacts = new Companies.ContactsClient(baseUri, bearerToken, apiVersion); - Segments = new Companies.SegmentsClient(baseUri, bearerToken, apiVersion); + Contacts = new Companies.ContactsClient(url, bearerToken, version); + Segments = new Companies.SegmentsClient(url, bearerToken, version); } - public CompaniesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public CompaniesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Contacts = new Companies.ContactsClient(baseUri, bearerToken); - Segments = new Companies.SegmentsClient(baseUri, bearerToken); + Contacts = new Companies.ContactsClient(url, bearerToken); + Segments = new Companies.SegmentsClient(url, bearerToken); } public Company Find(FindRequest request) diff --git a/Intercom/Clients/Contacts/CompaniesClient.cs b/Intercom/Clients/Contacts/CompaniesClient.cs index 976f01c..fb242dc 100644 --- a/Intercom/Clients/Contacts/CompaniesClient.cs +++ b/Intercom/Clients/Contacts/CompaniesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Contacts.Companies; using Intercom.Responses.Companies; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface ICompaniesClient internal class CompaniesClient : BaseClient, ICompaniesClient { - public CompaniesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public CompaniesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public CompaniesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public CompaniesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Contacts/NotesClient.cs b/Intercom/Clients/Contacts/NotesClient.cs index 68235cf..77bd19b 100644 --- a/Intercom/Clients/Contacts/NotesClient.cs +++ b/Intercom/Clients/Contacts/NotesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Contacts.Notes; using Intercom.Responses.Contacts.Notes; @@ -16,13 +17,13 @@ public interface INotesClient internal class NotesClient : BaseClient, INotesClient { - public NotesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public NotesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public NotesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public NotesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Contacts/SegmentsClient.cs b/Intercom/Clients/Contacts/SegmentsClient.cs index f39766e..d9e0bf5 100644 --- a/Intercom/Clients/Contacts/SegmentsClient.cs +++ b/Intercom/Clients/Contacts/SegmentsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Contacts.Segments; using Intercom.Responses.Contacts.Segments; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface ISegmentsClient internal class SegmentsClient : BaseClient, ISegmentsClient { - public SegmentsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SegmentsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SegmentsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SegmentsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Contacts/SubscriptionsClient.cs b/Intercom/Clients/Contacts/SubscriptionsClient.cs index e598c1e..d9fef3c 100644 --- a/Intercom/Clients/Contacts/SubscriptionsClient.cs +++ b/Intercom/Clients/Contacts/SubscriptionsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Contacts.Subscriptions; using Intercom.Responses.Subscriptions; @@ -19,13 +20,13 @@ public interface ISubscriptionClient internal class SubscriptionsClient : BaseClient, ISubscriptionClient { - public SubscriptionsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SubscriptionsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SubscriptionsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SubscriptionsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Contacts/TagsClient.cs b/Intercom/Clients/Contacts/TagsClient.cs index a6a6999..5ae641e 100644 --- a/Intercom/Clients/Contacts/TagsClient.cs +++ b/Intercom/Clients/Contacts/TagsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Contacts.Tags; using Intercom.Responses.Contacts.Tags; using Intercom.Responses.Tags; @@ -19,13 +20,13 @@ public interface ITagsClient internal class TagsClient : BaseClient, ITagsClient { - public TagsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TagsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public TagsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TagsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/ContactsClient.cs b/Intercom/Clients/ContactsClient.cs index cde1206..c9dd00b 100644 --- a/Intercom/Clients/ContactsClient.cs +++ b/Intercom/Clients/ContactsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Contacts; using Intercom.Responses.Contacts; @@ -34,24 +35,24 @@ public interface IContactsClient public class ContactsClient : BaseClient, IContactsClient { - public ContactsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ContactsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Companies = new Contacts.CompaniesClient(baseUri, bearerToken, apiVersion); - Notes = new Contacts.NotesClient(baseUri, bearerToken, apiVersion); - Segments = new Contacts.SegmentsClient(baseUri, bearerToken, apiVersion); - Subscriptions = new Contacts.SubscriptionsClient(baseUri, bearerToken, apiVersion); - Tags = new Contacts.TagsClient(baseUri, bearerToken, apiVersion); + Companies = new Contacts.CompaniesClient(url, bearerToken, version); + Notes = new Contacts.NotesClient(url, bearerToken, version); + Segments = new Contacts.SegmentsClient(url, bearerToken, version); + Subscriptions = new Contacts.SubscriptionsClient(url, bearerToken, version); + Tags = new Contacts.TagsClient(url, bearerToken, version); } - public ContactsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ContactsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Companies = new Contacts.CompaniesClient(baseUri, bearerToken); - Notes = new Contacts.NotesClient(baseUri, bearerToken); - Segments = new Contacts.SegmentsClient(baseUri, bearerToken); - Subscriptions = new Contacts.SubscriptionsClient(baseUri, bearerToken); - Tags = new Contacts.TagsClient(baseUri, bearerToken); + Companies = new Contacts.CompaniesClient(url, bearerToken); + Notes = new Contacts.NotesClient(url, bearerToken); + Segments = new Contacts.SegmentsClient(url, bearerToken); + Subscriptions = new Contacts.SubscriptionsClient(url, bearerToken); + Tags = new Contacts.TagsClient(url, bearerToken); } public ListResponse List(ListRequest request) diff --git a/Intercom/Clients/Conversations/ContactsClient.cs b/Intercom/Clients/Conversations/ContactsClient.cs index b50050f..5073731 100644 --- a/Intercom/Clients/Conversations/ContactsClient.cs +++ b/Intercom/Clients/Conversations/ContactsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Conversations.Contacts; using Intercom.Responses.Conversations.Contacts; using System.Threading.Tasks; @@ -15,13 +16,13 @@ public interface IContactsClient internal class ContactsClient : BaseClient, IContactsClient { - public ContactsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ContactsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public ContactsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ContactsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Conversations/TagsClient.cs b/Intercom/Clients/Conversations/TagsClient.cs index 697925f..c014345 100644 --- a/Intercom/Clients/Conversations/TagsClient.cs +++ b/Intercom/Clients/Conversations/TagsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Conversations.Tags; using Intercom.Responses.Conversations.Tags; using System.Threading.Tasks; @@ -15,13 +16,13 @@ public interface ITagsClient internal class TagsClient : BaseClient, ITagsClient { - public TagsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TagsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public TagsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TagsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/ConversationsClient.cs b/Intercom/Clients/ConversationsClient.cs index 4674a0f..578dea6 100644 --- a/Intercom/Clients/ConversationsClient.cs +++ b/Intercom/Clients/ConversationsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Conversations; using Intercom.Responses.Conversations; @@ -21,18 +22,18 @@ public interface IConversationsClient public class ConversationsClient : BaseClient, IConversationsClient { - public ConversationsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ConversationsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Contacts = new Conversations.ContactsClient(baseUri, bearerToken, apiVersion); - Tags = new Conversations.TagsClient(baseUri, bearerToken, apiVersion); + Contacts = new Conversations.ContactsClient(url, bearerToken, version); + Tags = new Conversations.TagsClient(url, bearerToken, version); } - public ConversationsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ConversationsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Contacts = new Conversations.ContactsClient(baseUri, bearerToken); - Tags = new Conversations.TagsClient(baseUri, bearerToken); + Contacts = new Conversations.ContactsClient(url, bearerToken); + Tags = new Conversations.TagsClient(url, bearerToken); } public ListResponse List(ListRequest request) diff --git a/Intercom/Clients/EventsClient.cs b/Intercom/Clients/EventsClient.cs index 4d64211..ccc188e 100644 --- a/Intercom/Clients/EventsClient.cs +++ b/Intercom/Clients/EventsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Events; using Intercom.Responses.Events; using System.Threading.Tasks; @@ -17,13 +18,13 @@ public interface IEventsClient public class EventsClient : BaseClient, IEventsClient { - public EventsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public EventsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public EventsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public EventsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/ExportsClient.cs b/Intercom/Clients/ExportsClient.cs index 3ab0735..87cca20 100644 --- a/Intercom/Clients/ExportsClient.cs +++ b/Intercom/Clients/ExportsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Exports; using System.Threading.Tasks; @@ -19,13 +20,13 @@ public interface IExportsClient public class ExportsClient : BaseClient, IExportsClient { - public ExportsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ExportsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public ExportsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ExportsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/MeClient.cs b/Intercom/Clients/MeClient.cs index 20a4c0b..2ec3cba 100644 --- a/Intercom/Clients/MeClient.cs +++ b/Intercom/Clients/MeClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Me; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface IMeClient public class MeClient : BaseClient, IMeClient { - public MeClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public MeClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public MeClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public MeClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/MessagesClient.cs b/Intercom/Clients/MessagesClient.cs index df38f65..e22e5e6 100644 --- a/Intercom/Clients/MessagesClient.cs +++ b/Intercom/Clients/MessagesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; namespace Intercom.Clients { @@ -8,13 +9,13 @@ public interface IMessagesClient public class MessagesClient : BaseClient, IMessagesClient { - public MessagesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public MessagesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public MessagesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public MessagesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } } diff --git a/Intercom/Clients/News/Feeds/ItemsClient.cs b/Intercom/Clients/News/Feeds/ItemsClient.cs index 664630e..d70d5f5 100644 --- a/Intercom/Clients/News/Feeds/ItemsClient.cs +++ b/Intercom/Clients/News/Feeds/ItemsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.News.Feeds.Items; using Intercom.Responses.News.Feeds.Items; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface IItemsClient internal class ItemsClient : BaseClient, IItemsClient { - public ItemsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ItemsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public ItemsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ItemsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/News/FeedsClient.cs b/Intercom/Clients/News/FeedsClient.cs index ade78d5..a8bcb2a 100644 --- a/Intercom/Clients/News/FeedsClient.cs +++ b/Intercom/Clients/News/FeedsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models.News; using Intercom.Requests.News.Feeds; using Intercom.Responses.News.Feeds; @@ -18,16 +19,16 @@ public interface IFeedsClient internal class FeedsClient : BaseClient, IFeedsClient { - public FeedsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public FeedsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Items = new Feeds.ItemsClient(baseUri, bearerToken, apiVersion); + Items = new Feeds.ItemsClient(url, bearerToken, version); } - public FeedsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public FeedsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Items = new Feeds.ItemsClient(baseUri, bearerToken); + Items = new Feeds.ItemsClient(url, bearerToken); } public ListResponse List(ListRequest request) diff --git a/Intercom/Clients/News/ItemsClient.cs b/Intercom/Clients/News/ItemsClient.cs index 9735b3a..6255fea 100644 --- a/Intercom/Clients/News/ItemsClient.cs +++ b/Intercom/Clients/News/ItemsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models.News; using Intercom.Requests.News.Items; using Intercom.Responses.News.Items; @@ -16,13 +17,13 @@ public interface IItemsClient internal class ItemsClient : BaseClient, IItemsClient { - public ItemsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public ItemsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public ItemsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public ItemsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/NewsClient.cs b/Intercom/Clients/NewsClient.cs index 00a5335..06a4671 100644 --- a/Intercom/Clients/NewsClient.cs +++ b/Intercom/Clients/NewsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; namespace Intercom.Clients { @@ -10,18 +11,18 @@ public interface INewsClient public class NewsClient : BaseClient, INewsClient { - public NewsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public NewsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Feeds = new News.FeedsClient(baseUri, bearerToken, apiVersion); - Items = new News.ItemsClient(baseUri, bearerToken, apiVersion); + Feeds = new News.FeedsClient(url, bearerToken, version); + Items = new News.ItemsClient(url, bearerToken, version); } - public NewsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public NewsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Feeds = new News.FeedsClient(baseUri, bearerToken); - Items = new News.ItemsClient(baseUri, bearerToken); + Feeds = new News.FeedsClient(url, bearerToken); + Items = new News.ItemsClient(url, bearerToken); } public News.IFeedsClient Feeds { get; } diff --git a/Intercom/Clients/NotesClient.cs b/Intercom/Clients/NotesClient.cs index f4827bc..547e684 100644 --- a/Intercom/Clients/NotesClient.cs +++ b/Intercom/Clients/NotesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Notes; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface INotesClient public class NotesClient : BaseClient, INotesClient { - public NotesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public NotesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public NotesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public NotesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/SegmentsClient.cs b/Intercom/Clients/SegmentsClient.cs index aa87486..1bdd125 100644 --- a/Intercom/Clients/SegmentsClient.cs +++ b/Intercom/Clients/SegmentsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Segments; using Intercom.Responses.Segments; @@ -16,13 +17,13 @@ public interface ISegmentsClient public class SegmentsClient : BaseClient, ISegmentsClient { - public SegmentsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SegmentsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SegmentsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SegmentsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/SubscriptionsClient.cs b/Intercom/Clients/SubscriptionsClient.cs index 1b27e5c..42987aa 100644 --- a/Intercom/Clients/SubscriptionsClient.cs +++ b/Intercom/Clients/SubscriptionsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Requests.Subscriptions; using Intercom.Responses.Subscriptions; using System.Threading.Tasks; @@ -13,13 +14,13 @@ public interface ISubscriptionsClient public class SubscriptionsClient : BaseClient, ISubscriptionsClient { - public SubscriptionsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SubscriptionsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SubscriptionsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SubscriptionsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/SwitchClient.cs b/Intercom/Clients/SwitchClient.cs index 62dac22..2479cdd 100644 --- a/Intercom/Clients/SwitchClient.cs +++ b/Intercom/Clients/SwitchClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; namespace Intercom.Clients { @@ -8,13 +9,13 @@ public interface ISwitchClient public class SwitchClient : BaseClient, ISwitchClient { - public SwitchClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public SwitchClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public SwitchClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public SwitchClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } } diff --git a/Intercom/Clients/TagsClient.cs b/Intercom/Clients/TagsClient.cs index e741407..b4a0a41 100644 --- a/Intercom/Clients/TagsClient.cs +++ b/Intercom/Clients/TagsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Tags; using Intercom.Responses.Tags; @@ -18,13 +19,13 @@ public interface ITagsClient public class TagsClient : BaseClient, ITagsClient { - public TagsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TagsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public TagsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TagsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/TeamsClient.cs b/Intercom/Clients/TeamsClient.cs index c2c5ad9..bd36be8 100644 --- a/Intercom/Clients/TeamsClient.cs +++ b/Intercom/Clients/TeamsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Teams; using Intercom.Responses.Teams; @@ -16,13 +17,13 @@ public interface ITeamsClient public class TeamsClient : BaseClient, ITeamsClient { - public TeamsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TeamsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public TeamsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TeamsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Tickets/AttributesClient.cs b/Intercom/Clients/Tickets/AttributesClient.cs index 84036ab..bbd16e8 100644 --- a/Intercom/Clients/Tickets/AttributesClient.cs +++ b/Intercom/Clients/Tickets/AttributesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models.Tickets; using Intercom.Requests.Tickets.Attributes; using System.Threading.Tasks; @@ -15,13 +16,13 @@ public interface IAttributesClient internal class AttributesClient : BaseClient, IAttributesClient { - public AttributesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public AttributesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public AttributesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public AttributesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/Tickets/TypesClient.cs b/Intercom/Clients/Tickets/TypesClient.cs index 40972a9..1cc65dc 100644 --- a/Intercom/Clients/Tickets/TypesClient.cs +++ b/Intercom/Clients/Tickets/TypesClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models.Tickets; using Intercom.Requests.Tickets.Types; using Intercom.Responses.Tickets.Types; @@ -20,13 +21,13 @@ public interface ITypesClient internal class TypesClient : BaseClient, ITypesClient { - public TypesClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TypesClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public TypesClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TypesClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Clients/TicketsClient.cs b/Intercom/Clients/TicketsClient.cs index a329cff..12ce011 100644 --- a/Intercom/Clients/TicketsClient.cs +++ b/Intercom/Clients/TicketsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Models.Tickets; using Intercom.Requests.Tickets; @@ -23,18 +24,18 @@ public interface ITicketsClient public class TicketsClient : BaseClient, ITicketsClient { - public TicketsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public TicketsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { - Attributes = new Tickets.AttributesClient(baseUri, bearerToken, apiVersion); - Types = new Tickets.TypesClient(baseUri, bearerToken, apiVersion); + Attributes = new Tickets.AttributesClient(url, bearerToken, version); + Types = new Tickets.TypesClient(url, bearerToken, version); } - public TicketsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public TicketsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { - Attributes = new Tickets.AttributesClient(baseUri, bearerToken); - Types = new Tickets.TypesClient(baseUri, bearerToken); + Attributes = new Tickets.AttributesClient(url, bearerToken); + Types = new Tickets.TypesClient(url, bearerToken); } public Ticket Get(GetRequest request) diff --git a/Intercom/Clients/VisitorsClient.cs b/Intercom/Clients/VisitorsClient.cs index c35fb89..830dcd3 100644 --- a/Intercom/Clients/VisitorsClient.cs +++ b/Intercom/Clients/VisitorsClient.cs @@ -1,4 +1,5 @@ using Intercom.Abstractions; +using Intercom.Constants; using Intercom.Models; using Intercom.Requests.Visitors; using System.Threading.Tasks; @@ -22,13 +23,13 @@ public interface IVisitorsClient public class VisitorsClient : BaseClient, IVisitorsClient { - public VisitorsClient(string baseUri, string bearerToken, System.Version apiVersion) - : base(baseUri, bearerToken, apiVersion) + public VisitorsClient(Url url, string bearerToken, Version version) + : base(url, bearerToken, version) { } - public VisitorsClient(string baseUri, string bearerToken) - : base(baseUri, bearerToken, Constants.Version.Latest) + public VisitorsClient(Url url, string bearerToken) + : base(url, bearerToken, Version.Latest) { } diff --git a/Intercom/Constants/Url.cs b/Intercom/Constants/Url.cs index ca003a5..d5c1efc 100644 --- a/Intercom/Constants/Url.cs +++ b/Intercom/Constants/Url.cs @@ -1,10 +1,23 @@ -namespace Intercom.Constants +using System.Globalization; + +namespace Intercom.Constants { - public static class Url + public class Url { - public static string Production => "https://api.intercom.io/"; - public static string ProductionAustralia => "https://api.au.intercom.io/"; - public static string ProductionEurope => "https://api.eu.intercom.io/"; + public static Url Production => new Url("https://api.intercom.io/"); + public static Url ProductionAustralia => new Url("https://api.au.intercom.io/"); + public static Url ProductionEurope => new Url("https://api.eu.intercom.io/"); + + public string Value { get; } + + public Url(string value) + { + Value = value; + } + public override string ToString() + { + return Value.ToLower(CultureInfo.InvariantCulture); + } } } diff --git a/Intercom/Constants/Version.cs b/Intercom/Constants/Version.cs index 0b9a120..325cf59 100644 --- a/Intercom/Constants/Version.cs +++ b/Intercom/Constants/Version.cs @@ -1,11 +1,23 @@ namespace Intercom.Constants { - public static class Version + public class Version { - public static System.Version Latest => Version_2_9; + public static Version Latest => Version_2_9; - public static System.Version Version_2_7 => new System.Version(2, 7); - public static System.Version Version_2_8 => new System.Version(2, 8); - public static System.Version Version_2_9 => new System.Version(2, 9); + public static Version Version_2_7 => new Version(System.Version.Parse("2.7")); + public static Version Version_2_8 => new Version(System.Version.Parse("2.8")); + public static Version Version_2_9 => new Version(System.Version.Parse("2.9")); + + public System.Version Value { get; } + + public Version(System.Version value) + { + Value = value; + } + + public override string ToString() + { + return Value.ToString(); + } } } diff --git a/Intercom/Intercom.cs b/Intercom/Intercom.cs index 65da27e..bb479aa 100644 --- a/Intercom/Intercom.cs +++ b/Intercom/Intercom.cs @@ -1,6 +1,6 @@ using Intercom.Clients; +using Intercom.Constants; using Intercom.Internals; -using System; namespace Intercom { @@ -12,14 +12,14 @@ public static class Intercom /// Configures the instance. /// Must be called before any other methods. /// - public static void Configure(string baseUri, string bearerToken) + public static void Configure(Url url, string bearerToken) { - Service.Configure(baseUri, bearerToken); + Service.Configure(url, bearerToken); } - public static void Configure(string baseUri, string bearerToken, Version apiVersion) + public static void Configure(Url url, string bearerToken, Version version) { - Service.Configure(baseUri, bearerToken, apiVersion); + Service.Configure(url, bearerToken, version); } public static IAdminsClient Admins = Service.Admins; diff --git a/Intercom/Internals/IntercomService.cs b/Intercom/Internals/IntercomService.cs index d1e6acd..212acb3 100644 --- a/Intercom/Internals/IntercomService.cs +++ b/Intercom/Internals/IntercomService.cs @@ -1,4 +1,5 @@ using Intercom.Clients; +using Intercom.Constants; using System; namespace Intercom.Internals @@ -28,58 +29,58 @@ internal class IntercomService : IDisposable /// /// Configures the instance and must be called before any other methods. /// - /// + /// /// /// - public void Configure(string baseUri, string bearerToken, Version version) + public void Configure(Url url, string bearerToken, Constants.Version version) { - Admins = new AdminsClient(baseUri, bearerToken, version); - Articles = new ArticlesClient(baseUri, bearerToken, version); - Attributes = new AttributesClient(baseUri, bearerToken, version); - Companies = new CompaniesClient(baseUri, bearerToken, version); - Contacts = new ContactsClient(baseUri, bearerToken, version); - Conversations = new ConversationsClient(baseUri, bearerToken, version); - Events = new EventsClient(baseUri, bearerToken, version); - Exports = new ExportsClient(baseUri, bearerToken, version); - Me = new MeClient(baseUri, bearerToken, version); - Messages = new MessagesClient(baseUri, bearerToken, version); - News = new NewsClient(baseUri, bearerToken, version); - Notes = new NotesClient(baseUri, bearerToken, version); - Segments = new SegmentsClient(baseUri, bearerToken, version); - Subscriptions = new SubscriptionsClient(baseUri, bearerToken, version); - Switch = new SwitchClient(baseUri, bearerToken, version); - Tags = new TagsClient(baseUri, bearerToken, version); - Teams = new TeamsClient(baseUri, bearerToken, version); - Tickets = new TicketsClient(baseUri, bearerToken, version); - Visitors = new VisitorsClient(baseUri, bearerToken, version); + Admins = new AdminsClient(url, bearerToken, version); + Articles = new ArticlesClient(url, bearerToken, version); + Attributes = new AttributesClient(url, bearerToken, version); + Companies = new CompaniesClient(url, bearerToken, version); + Contacts = new ContactsClient(url, bearerToken, version); + Conversations = new ConversationsClient(url, bearerToken, version); + Events = new EventsClient(url, bearerToken, version); + Exports = new ExportsClient(url, bearerToken, version); + Me = new MeClient(url, bearerToken, version); + Messages = new MessagesClient(url, bearerToken, version); + News = new NewsClient(url, bearerToken, version); + Notes = new NotesClient(url, bearerToken, version); + Segments = new SegmentsClient(url, bearerToken, version); + Subscriptions = new SubscriptionsClient(url, bearerToken, version); + Switch = new SwitchClient(url, bearerToken, version); + Tags = new TagsClient(url, bearerToken, version); + Teams = new TeamsClient(url, bearerToken, version); + Tickets = new TicketsClient(url, bearerToken, version); + Visitors = new VisitorsClient(url, bearerToken, version); } /// /// Configures the instance and must be called before any other methods. /// - /// + /// /// - public void Configure(string baseUri, string bearerToken) + public void Configure(Url url, string bearerToken) { - Admins = new AdminsClient(baseUri, bearerToken); - Articles = new ArticlesClient(baseUri, bearerToken); - Attributes = new AttributesClient(baseUri, bearerToken); - Companies = new CompaniesClient(baseUri, bearerToken); - Contacts = new ContactsClient(baseUri, bearerToken); - Conversations = new ConversationsClient(baseUri, bearerToken); - Events = new EventsClient(baseUri, bearerToken); - Exports = new ExportsClient(baseUri, bearerToken); - Me = new MeClient(baseUri, bearerToken); - Messages = new MessagesClient(baseUri, bearerToken); - News = new NewsClient(baseUri, bearerToken); - Notes = new NotesClient(baseUri, bearerToken); - Segments = new SegmentsClient(baseUri, bearerToken); - Subscriptions = new SubscriptionsClient(baseUri, bearerToken); - Switch = new SwitchClient(baseUri, bearerToken); - Tags = new TagsClient(baseUri, bearerToken); - Teams = new TeamsClient(baseUri, bearerToken); - Tickets = new TicketsClient(baseUri, bearerToken); - Visitors = new VisitorsClient(baseUri, bearerToken); + Admins = new AdminsClient(url, bearerToken); + Articles = new ArticlesClient(url, bearerToken); + Attributes = new AttributesClient(url, bearerToken); + Companies = new CompaniesClient(url, bearerToken); + Contacts = new ContactsClient(url, bearerToken); + Conversations = new ConversationsClient(url, bearerToken); + Events = new EventsClient(url, bearerToken); + Exports = new ExportsClient(url, bearerToken); + Me = new MeClient(url, bearerToken); + Messages = new MessagesClient(url, bearerToken); + News = new NewsClient(url, bearerToken); + Notes = new NotesClient(url, bearerToken); + Segments = new SegmentsClient(url, bearerToken); + Subscriptions = new SubscriptionsClient(url, bearerToken); + Switch = new SwitchClient(url, bearerToken); + Tags = new TagsClient(url, bearerToken); + Teams = new TeamsClient(url, bearerToken); + Tickets = new TicketsClient(url, bearerToken); + Visitors = new VisitorsClient(url, bearerToken); } public void Dispose()