Attempt to request webhook data

This isn't exactly working for me right now since I don't have an API
key that has access to control webhooks, but it is making the request to
the correct endpoint and getting back a permission error.
This commit is contained in:
Eli Ribble 2025-11-13 03:15:45 +00:00
parent 567c1b5064
commit 8382009492
No known key found for this signature in database
2 changed files with 34 additions and 1 deletions

@ -1 +1 @@
Subproject commit c2a9e9811f3f4fcf5b5c030788dd03fa5e2f748d Subproject commit 23d266764b71d0686e529392f785ebc4439e034e

View file

@ -156,6 +156,7 @@ func updateArcgisUserData(ctx context.Context, user *models.User, access_token s
slog.Error("Failed to get search FieldseekerGIS data", slog.String("err", err.Error())) slog.Error("Failed to get search FieldseekerGIS data", slog.String("err", err.Error()))
return return
} }
var fieldseekerClient *fieldseeker.FieldSeeker
for _, result := range search.Results { for _, result := range search.Results {
slog.Info("Got result", slog.String("name", result.Name)) slog.Info("Got result", slog.String("name", result.Name))
if result.Name == "FieldSeekerGIS" { if result.Name == "FieldSeekerGIS" {
@ -168,11 +169,43 @@ func updateArcgisUserData(ctx context.Context, user *models.User, access_token s
slog.Error("Failed to create new organization", slog.String("err", err.Error())) slog.Error("Failed to create new organization", slog.String("err", err.Error()))
return return
} }
fieldseekerClient, err = fieldseeker.NewFieldSeeker(
client,
result.URL,
)
if err != nil {
slog.Error("Failed to create fieldseeker client", slog.String("err", err.Error()))
return
} }
} }
}
arcgis_id, ok := org.ArcgisID.Get()
if !ok {
slog.Error("Cannot get webhooks - ArcGIS ID is null", slog.Int("org.id", int(org.ID)))
}
client.Context = &arcgis_id
err = maybeCreateWebhook(ctx, fieldseekerClient)
if err != nil {
slog.Error("Failed to manage webhooks", slog.String("err", err.Error()))
}
NewOAuthTokenChannel <- struct{}{} NewOAuthTokenChannel <- struct{}{}
} }
func maybeCreateWebhook(ctx context.Context, client *fieldseeker.FieldSeeker) error {
webhooks, err := client.WebhookList()
if err != nil {
return fmt.Errorf("Failed to get webhooks: %v", err)
}
for _, hook := range webhooks {
if hook.Name == "Nidus Sync" {
return nil
} else {
slog.Info("Found webhook", slog.String("name", hook.Name))
}
}
return errors.New("Not implemented")
}
func handleOauthAccessCode(ctx context.Context, user *models.User, code string) error { func handleOauthAccessCode(ctx context.Context, user *models.User, code string) error {
baseURL := "https://www.arcgis.com/sharing/rest/oauth2/token/" baseURL := "https://www.arcgis.com/sharing/rest/oauth2/token/"