diff --git a/go.mod b/go.mod index a2153f3..ba0a36e 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/conductorone/baton-vgs go 1.22.1 require ( - github.com/conductorone/baton-sdk v0.2.12 + github.com/conductorone/baton-sdk v0.2.13 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index d753a7c..c529c33 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZx github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/conductorone/baton-sdk v0.2.12 h1:u5tbqpSgk/hTsZ8auwEQFqS8UxprK9k8yuJddY8hsfE= -github.com/conductorone/baton-sdk v0.2.12/go.mod h1:cg5FyUcJnD7xK5SPbHe/KNpwUVVlpHJ9rnmd3UwxSkU= +github.com/conductorone/baton-sdk v0.2.13 h1:/9wJGlbiPxDQmjqKOTqyKpJ1Ui2+o7oYHInMqqR1PyQ= +github.com/conductorone/baton-sdk v0.2.13/go.mod h1:cg5FyUcJnD7xK5SPbHe/KNpwUVVlpHJ9rnmd3UwxSkU= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go b/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go index 8b61b2c..45d2b09 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go @@ -96,7 +96,7 @@ func DefineConfiguration( mainCMD.PersistentFlags(). StringP(field.FieldName, field.CLIShortHand, value, field.GetDescription()) case reflect.Slice: - value, err := field.StringArray() + value, err := field.StringSlice() if err != nil { return nil, nil, fmt.Errorf( "field %s, %s: %w", @@ -106,7 +106,7 @@ func DefineConfiguration( ) } mainCMD.PersistentFlags(). - StringArrayP(field.FieldName, field.CLIShortHand, value, field.GetDescription()) + StringSliceP(field.FieldName, field.CLIShortHand, value, field.GetDescription()) default: return nil, nil, fmt.Errorf( "field %s, %s is not yet supported", diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go index 7b08deb..4413407 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go @@ -51,8 +51,8 @@ func (s SchemaField) String() (string, error) { return value, nil } -// StringArray retuns the default value as a string array. -func (s SchemaField) StringArray() ([]string, error) { +// StringSlice retuns the default value as a string array. +func (s SchemaField) StringSlice() ([]string, error) { value, ok := s.DefaultValue.([]string) if !ok { return nil, WrongValueTypeErr @@ -130,7 +130,7 @@ func IntField(name string, optional ...fieldOption) SchemaField { return field } -func StringArrayField(name string, optional ...fieldOption) SchemaField { +func StringSliceField(name string, optional ...fieldOption) SchemaField { field := SchemaField{ FieldName: name, FieldType: reflect.Slice, diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go index 6d39c76..05812b5 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go @@ -49,7 +49,7 @@ func Validate(c Configuration, v *viper.Viper) error { case reflect.String: isNonZero = v.GetString(f.FieldName) != "" case reflect.Slice: - isNonZero = len(v.GetStringSlice(f.FieldName)) == 0 + isNonZero = len(v.GetStringSlice(f.FieldName)) != 0 default: return fmt.Errorf("field %s has unsupported type %s", f.FieldName, f.FieldType) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go index a4f5f6c..6e40b5c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go @@ -1,3 +1,3 @@ package sdk -const Version = "v0.2.10-15-gfd76fb6" +const Version = "v0.2.12" diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go index d7c5c88..1c39af2 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go @@ -15,6 +15,8 @@ import ( "github.com/conductorone/baton-sdk/pkg/types" ) +const maxTicketSchemas = 100 + type listTicketSchemasTaskHelpers interface { ConnectorClient() types.ConnectorClient FinishTask(ctx context.Context, resp proto.Message, annos annotations.Annotations, err error) error @@ -48,9 +50,22 @@ func (c *listTicketSchemasTaskHandler) HandleTask(ctx context.Context) error { ticketSchemas = append(ticketSchemas, schemas.GetList()...) + // Only return first 100 elements + if len(ticketSchemas) >= maxTicketSchemas { + ignoreCount := len(ticketSchemas) - maxTicketSchemas + ticketSchemas = ticketSchemas[:maxTicketSchemas] + hasAdditionalPages := schemas.GetNextPageToken() != "" + + l.Info("list ticket schemas was greater than or equal to max of 100", + zap.Int("ignoredCount", ignoreCount), + zap.Bool("hasAdditionalPages", hasAdditionalPages)) + break + } + if schemas.GetNextPageToken() == "" { break } + pageToken = schemas.GetNextPageToken() } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go index 0e4fa4e..ce94769 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go @@ -16,7 +16,14 @@ import ( "google.golang.org/grpc/status" ) -const ContentType = "Content-Type" +const ( + ContentType = "Content-Type" + applicationJSON = "application/json" + applicationXML = "application/xml" + applicationFormUrlencoded = "application/x-www-form-urlencoded" + applicationVndApiJSON = "application/vnd.api+json" + acceptHeader = "Accept" +) type WrapperResponse struct { Header http.Header @@ -203,16 +210,53 @@ func WithJSONBody(body interface{}) RequestOption { } } +func WithFormBody(body string) RequestOption { + return func() (io.ReadWriter, map[string]string, error) { + var buffer bytes.Buffer + _, err := buffer.WriteString(body) + if err != nil { + return nil, nil, err + } + + _, headers, err := WithContentTypeFormHeader()() + if err != nil { + return nil, nil, err + } + + return &buffer, headers, nil + } +} + func WithAcceptJSONHeader() RequestOption { - return WithHeader("Accept", "application/json") + return WithAccept(applicationJSON) } func WithContentTypeJSONHeader() RequestOption { - return WithHeader("Content-Type", "application/json") + return WithContentType(applicationJSON) } func WithAcceptXMLHeader() RequestOption { - return WithHeader("Accept", "application/xml") + return WithAccept(applicationXML) +} + +func WithContentTypeFormHeader() RequestOption { + return WithContentType(applicationFormUrlencoded) +} + +func WithContentTypeVndHeader() RequestOption { + return WithContentType(applicationVndApiJSON) +} + +func WithAcceptVndJSONHeader() RequestOption { + return WithAccept(applicationVndApiJSON) +} + +func WithContentType(ctype string) RequestOption { + return WithHeader(ContentType, ctype) +} + +func WithAccept(value string) RequestOption { + return WithHeader(acceptHeader, value) } func (c *BaseHttpClient) NewRequest(ctx context.Context, method string, url *url.URL, options ...RequestOption) (*http.Request, error) { diff --git a/vendor/modules.txt b/vendor/modules.txt index 49c6499..0ae7ee3 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -140,7 +140,7 @@ github.com/aws/smithy-go/waiter # github.com/benbjohnson/clock v1.3.5 ## explicit; go 1.15 github.com/benbjohnson/clock -# github.com/conductorone/baton-sdk v0.2.12 +# github.com/conductorone/baton-sdk v0.2.13 ## explicit; go 1.21 github.com/conductorone/baton-sdk/internal/connector github.com/conductorone/baton-sdk/pb/c1/c1z/v1