pkg/config/config.go
42 linesgo
package config

import "github.com/conductorone/baton-sdk/pkg/field"

var (
	AppClientIDField = field.StringField(
		"app-client-id",
		field.WithRequired(true),
		field.WithDescription("OAuth2 client ID for the target app"),
	)

	AppClientSecretField = field.StringField(
		"app-client-secret",
		field.WithRequired(true),
		field.WithDescription("OAuth2 client secret for the target app"),
		field.WithIsSecret(true),
	)

	BaseURLField = field.StringField(
		"base-url",
		field.WithRequired(true),
		field.WithDescription("Base URL for the target app API (e.g., https://api.example.com)"),
	)

	ConfigurationFields = []field.SchemaField{
		AppClientIDField,
		AppClientSecretField,
		BaseURLField,
	}

	FieldRelationships = []field.SchemaFieldRelationship{}
)

//go:generate go run ./gen
var Config = field.NewConfiguration(
	ConfigurationFields,
	field.WithConstraints(FieldRelationships...),
	field.WithConnectorDisplayName("Baton App"),
	field.WithHelpUrl("/docs/baton/app"),
	field.WithIconUrl("/static/app-icons/baton-junction.svg"),
)