Skip to content

Commit 2c838ae

Browse files
authored
Don't fail syncs due to not having access so sync an org. Log and skip instead. (#22)
* Don't fail syncs due to not having access so sync an org. Log and skip instead * Use http status constant
1 parent 81ffda0 commit 2c838ae

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

pkg/connector/org.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package connector
33
import (
44
"context"
55
"fmt"
6+
"net/http"
67
"strings"
78

89
v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2"
@@ -41,6 +42,8 @@ func (o *orgResourceType) List(
4142
parentResourceID *v2.ResourceId,
4243
pToken *pagination.Token,
4344
) ([]*v2.Resource, string, annotations.Annotations, error) {
45+
l := ctxzap.Extract(ctx)
46+
4447
bag, page, err := parsePageToken(pToken.Token, &v2.ResourceId{ResourceType: resourceTypeOrg.Id})
4548
if err != nil {
4649
return nil, "", nil, err
@@ -71,8 +74,12 @@ func (o *orgResourceType) List(
7174
if _, ok := o.orgs[org.GetLogin()]; !ok && len(o.orgs) > 0 {
7275
continue
7376
}
74-
membership, _, err := o.client.Organizations.GetOrgMembership(ctx, "", org.GetLogin())
77+
membership, resp, err := o.client.Organizations.GetOrgMembership(ctx, "", org.GetLogin())
7578
if err != nil {
79+
if resp.StatusCode == http.StatusForbidden {
80+
l.Warn("insufficient access to list org membership, skipping org", zap.String("org", org.GetLogin()))
81+
continue
82+
}
7683
return nil, "", nil, err
7784
}
7885

0 commit comments

Comments
 (0)