From 8cf611944d5deaddca7637902fb20d3c3f70cf28 Mon Sep 17 00:00:00 2001 From: snehithbikumandla Date: Tue, 14 Jun 2022 15:38:14 +0530 Subject: [PATCH 1/4] Telemetry API for URL --- api/RestHandler.go | 9 +++++++++ api/Router.go | 1 + 2 files changed, 10 insertions(+) diff --git a/api/RestHandler.go b/api/RestHandler.go index 963c043..2fd3819 100644 --- a/api/RestHandler.go +++ b/api/RestHandler.go @@ -12,10 +12,13 @@ import ( "strconv" ) +const PosthogEndpoint string = "https://app.posthog.com" + type RestHandler interface { GetReleases(w http.ResponseWriter, r *http.Request) ReleaseWebhookHandler(w http.ResponseWriter, r *http.Request) GetModules(w http.ResponseWriter, r *http.Request) + GetPostHogURL(w http.ResponseWriter, r *http.Request) } func NewRestHandlerImpl(logger *zap.SugaredLogger, releaseNoteService pkg.ReleaseNoteService, @@ -158,3 +161,9 @@ func (impl *RestHandlerImpl) ReleaseWebhookHandler(w http.ResponseWriter, r *htt impl.WriteJsonResp(w, err, flag, http.StatusOK) return } + +func (impl *RestHandlerImpl) GetPostHogURL(w http.ResponseWriter, r *http.Request) { + impl.logger.Debug("Get PostHog URL") + impl.WriteJsonResp(w, nil, PosthogEndpoint, http.StatusOK) + return +} diff --git a/api/Router.go b/api/Router.go index 7cf906c..6fc349b 100644 --- a/api/Router.go +++ b/api/Router.go @@ -38,5 +38,6 @@ func (r MuxRouter) Init() { r.Router.Path("/release/notes").HandlerFunc(r.restHandler.GetReleases).Methods("GET") r.Router.Path("/release/webhook").HandlerFunc(r.restHandler.ReleaseWebhookHandler).Methods("POST") r.Router.Path("/modules").HandlerFunc(r.restHandler.GetModules).Methods("GET") + r.Router.Path("/telemetry").HandlerFunc(r.restHandler.GetPostHogURL).Methods("GET") } From ac0053bc966afe1e4301b946fe5ac244f659150b Mon Sep 17 00:00:00 2001 From: snehithbikumandla Date: Tue, 14 Jun 2022 15:39:37 +0530 Subject: [PATCH 2/4] Telemetry API for URL --- api/RestHandler.go | 1 + 1 file changed, 1 insertion(+) diff --git a/api/RestHandler.go b/api/RestHandler.go index 2fd3819..f3c3c2a 100644 --- a/api/RestHandler.go +++ b/api/RestHandler.go @@ -164,6 +164,7 @@ func (impl *RestHandlerImpl) ReleaseWebhookHandler(w http.ResponseWriter, r *htt func (impl *RestHandlerImpl) GetPostHogURL(w http.ResponseWriter, r *http.Request) { impl.logger.Debug("Get PostHog URL") + setupResponse(&w, r) impl.WriteJsonResp(w, nil, PosthogEndpoint, http.StatusOK) return } From be29e76bdce38e13d3e846437d09a4be24bf100f Mon Sep 17 00:00:00 2001 From: snehithbikumandla Date: Tue, 14 Jun 2022 16:10:27 +0530 Subject: [PATCH 3/4] Telemetry API --- api/RestHandler.go | 21 +++++++++++++++++---- api/Router.go | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/api/RestHandler.go b/api/RestHandler.go index f3c3c2a..a704021 100644 --- a/api/RestHandler.go +++ b/api/RestHandler.go @@ -12,13 +12,22 @@ import ( "strconv" ) -const PosthogEndpoint string = "https://app.posthog.com" +const ( + TelemetryApiKeyEndpoint string = "aHR0cHM6Ly90ZWxlbWV0cnkuZGV2dHJvbi5haS9kZXZ0cm9uL3RlbGVtZXRyeS9hcGlrZXk=" + TelemetryOptOutApiBaseUrl string = "aHR0cHM6Ly90ZWxlbWV0cnkuZGV2dHJvbi5haS9kZXZ0cm9uL3RlbGVtZXRyeS9vcHQtb3V0" + PosthogEndpointUrl string = "https://app.posthog.com" +) + +type PosthogConfig struct { + PosthogEndpoint string `json:"posthogEndpoint,omitempty"` + TelemetryOptOutApiBase string `json:"telemetryOptOutApiBase,omitempty"` +} type RestHandler interface { GetReleases(w http.ResponseWriter, r *http.Request) ReleaseWebhookHandler(w http.ResponseWriter, r *http.Request) GetModules(w http.ResponseWriter, r *http.Request) - GetPostHogURL(w http.ResponseWriter, r *http.Request) + GetPostHogInfo(w http.ResponseWriter, r *http.Request) } func NewRestHandlerImpl(logger *zap.SugaredLogger, releaseNoteService pkg.ReleaseNoteService, @@ -162,9 +171,13 @@ func (impl *RestHandlerImpl) ReleaseWebhookHandler(w http.ResponseWriter, r *htt return } -func (impl *RestHandlerImpl) GetPostHogURL(w http.ResponseWriter, r *http.Request) { +func (impl *RestHandlerImpl) GetPostHogInfo(w http.ResponseWriter, r *http.Request) { impl.logger.Debug("Get PostHog URL") setupResponse(&w, r) - impl.WriteJsonResp(w, nil, PosthogEndpoint, http.StatusOK) + posthogConfig := &PosthogConfig{ + PosthogEndpoint: PosthogEndpointUrl, + TelemetryOptOutApiBase: TelemetryOptOutApiBaseUrl, + } + impl.WriteJsonResp(w, nil, posthogConfig, http.StatusOK) return } diff --git a/api/Router.go b/api/Router.go index 6fc349b..605cf80 100644 --- a/api/Router.go +++ b/api/Router.go @@ -38,6 +38,6 @@ func (r MuxRouter) Init() { r.Router.Path("/release/notes").HandlerFunc(r.restHandler.GetReleases).Methods("GET") r.Router.Path("/release/webhook").HandlerFunc(r.restHandler.ReleaseWebhookHandler).Methods("POST") r.Router.Path("/modules").HandlerFunc(r.restHandler.GetModules).Methods("GET") - r.Router.Path("/telemetry").HandlerFunc(r.restHandler.GetPostHogURL).Methods("GET") + r.Router.Path("/telemetry").HandlerFunc(r.restHandler.GetPostHogInfo).Methods("GET") } From 4c2b8cf6694064bfc74e3891382bdc009af06e9a Mon Sep 17 00:00:00 2001 From: snehithbikumandla Date: Tue, 14 Jun 2022 16:39:03 +0530 Subject: [PATCH 4/4] Telemetry Info --- api/RestHandler.go | 18 +++++++++++++----- api/Router.go | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/api/RestHandler.go b/api/RestHandler.go index a704021..6ffe5ba 100644 --- a/api/RestHandler.go +++ b/api/RestHandler.go @@ -19,8 +19,8 @@ const ( ) type PosthogConfig struct { - PosthogEndpoint string `json:"posthogEndpoint,omitempty"` - TelemetryOptOutApiBase string `json:"telemetryOptOutApiBase,omitempty"` + PosthogEndpoint string `json:"posthogEndpoint,omitempty"` + TelemetryApiKeyEndpoint string `json:"telemetryApiKeyEndpoint,omitempty"` } type RestHandler interface { @@ -28,6 +28,7 @@ type RestHandler interface { ReleaseWebhookHandler(w http.ResponseWriter, r *http.Request) GetModules(w http.ResponseWriter, r *http.Request) GetPostHogInfo(w http.ResponseWriter, r *http.Request) + GetPostHogOptOutApiBaseUrl(w http.ResponseWriter, r *http.Request) } func NewRestHandlerImpl(logger *zap.SugaredLogger, releaseNoteService pkg.ReleaseNoteService, @@ -172,12 +173,19 @@ func (impl *RestHandlerImpl) ReleaseWebhookHandler(w http.ResponseWriter, r *htt } func (impl *RestHandlerImpl) GetPostHogInfo(w http.ResponseWriter, r *http.Request) { - impl.logger.Debug("Get PostHog URL") + impl.logger.Debug("Get PostHog Info") setupResponse(&w, r) posthogConfig := &PosthogConfig{ - PosthogEndpoint: PosthogEndpointUrl, - TelemetryOptOutApiBase: TelemetryOptOutApiBaseUrl, + PosthogEndpoint: PosthogEndpointUrl, + TelemetryApiKeyEndpoint: TelemetryApiKeyEndpoint, } impl.WriteJsonResp(w, nil, posthogConfig, http.StatusOK) return } + +func (impl *RestHandlerImpl) GetPostHogOptOutApiBaseUrl(w http.ResponseWriter, r *http.Request) { + impl.logger.Debug("Get PostHog Opt-out Base Url") + setupResponse(&w, r) + impl.WriteJsonResp(w, nil, TelemetryOptOutApiBaseUrl, http.StatusOK) + return +} diff --git a/api/Router.go b/api/Router.go index 605cf80..0bf60e6 100644 --- a/api/Router.go +++ b/api/Router.go @@ -39,5 +39,5 @@ func (r MuxRouter) Init() { r.Router.Path("/release/webhook").HandlerFunc(r.restHandler.ReleaseWebhookHandler).Methods("POST") r.Router.Path("/modules").HandlerFunc(r.restHandler.GetModules).Methods("GET") r.Router.Path("/telemetry").HandlerFunc(r.restHandler.GetPostHogInfo).Methods("GET") - + r.Router.Path("/telemetry/optouturl").HandlerFunc(r.restHandler.GetPostHogOptOutApiBaseUrl).Methods("GET") }