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:
parent
567c1b5064
commit
8382009492
2 changed files with 34 additions and 1 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit c2a9e9811f3f4fcf5b5c030788dd03fa5e2f748d
|
Subproject commit 23d266764b71d0686e529392f785ebc4439e034e
|
||||||
33
arcgis.go
33
arcgis.go
|
|
@ -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/"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue