From 0adbcc3a04aafc203d8303048e4ab82918463b2b Mon Sep 17 00:00:00 2001 From: AiraNadih <128119996+AiraNadih@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:59:05 +0800 Subject: feat(api): add endpoint for user integration status --- internal/api/user.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'internal/api/user.go') diff --git a/internal/api/user.go b/internal/api/user.go index 71d70e9c..112c19a2 100644 --- a/internal/api/user.go +++ b/internal/api/user.go @@ -130,6 +130,25 @@ func (h *handler) markUserAsRead(w http.ResponseWriter, r *http.Request) { json.NoContent(w, r) } +func (h *handler) getIntegrationsStatus(w http.ResponseWriter, r *http.Request) { + userID := request.UserID(r) + + if _, err := h.store.UserByID(userID); err != nil { + json.NotFound(w, r) + return + } + + hasIntegrations := h.store.HasSaveEntry(userID) + + response := struct { + HasIntegrations bool `json:"has_integrations"` + }{ + HasIntegrations: hasIntegrations, + } + + json.OK(w, r, response) +} + func (h *handler) users(w http.ResponseWriter, r *http.Request) { if !request.IsAdminUser(r) { json.Forbidden(w, r) -- cgit v1.2.3