generator

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(opts Options) error

Types

type AuthSchemeManifest

type AuthSchemeManifest struct {
	Name              string                       `json:"name"`
	Type              string                       `json:"type"`
	Scheme            string                       `json:"scheme,omitempty"`
	In                string                       `json:"in,omitempty"`
	HeaderName        string                       `json:"headerName,omitempty"`
	CookieName        string                       `json:"cookieName,omitempty"`
	QueryName         string                       `json:"queryName,omitempty"`
	Description       string                       `json:"description,omitempty"`
	EnvVar            string                       `json:"envVar"`
	ClientCredentials *ClientCredentialsAuthConfig `json:"clientCredentials,omitempty"`
}

type ClientCredentialsAuthConfig

type ClientCredentialsAuthConfig struct {
	TokenURL        string   `json:"tokenUrl,omitempty"`
	TokenURLEnv     string   `json:"tokenUrlEnv,omitempty"`
	ClientIDEnv     string   `json:"clientIdEnv,omitempty"`
	ClientSecretEnv string   `json:"clientSecretEnv,omitempty"`
	AudienceEnv     string   `json:"audienceEnv,omitempty"`
	ScopesEnv       string   `json:"scopesEnv,omitempty"`
	AvailableScopes []string `json:"availableScopes,omitempty"`
}

type EnvConfig

type EnvConfig struct {
	BaseURL       string `json:"baseUrl"`
	HeadersJSON   string `json:"headersJson"`
	OverridesJSON string `json:"overridesJson"`
}

type Manifest

type Manifest struct {
	Name              string               `json:"name"`
	Title             string               `json:"title"`
	Version           string               `json:"version"`
	Description       string               `json:"description,omitempty"`
	ServerTemplate    string               `json:"serverTemplate,omitempty"`
	DefaultServer     string               `json:"defaultServer,omitempty"`
	RelativeServer    bool                 `json:"relativeServer"`
	ServerVars        []ServerVariable     `json:"serverVariables,omitempty"`
	GeneratedAt       string               `json:"generatedAt,omitempty"`
	EnvPrefix         string               `json:"envPrefix"`
	Env               EnvConfig            `json:"env"`
	Auth              []AuthSchemeManifest `json:"auth"`
	WhoAmIOperationID string               `json:"whoamiOperationId,omitempty"`
	Operations        []OperationManifest  `json:"operations"`
}

func BuildManifest

func BuildManifest(doc *openapi3.T, binaryName string) (Manifest, error)

type OperationManifest

type OperationManifest struct {
	ID             string                `json:"id"`
	Aliases        []string              `json:"aliases,omitempty"`
	Method         string                `json:"method"`
	Path           string                `json:"path"`
	Summary        string                `json:"summary,omitempty"`
	Description    string                `json:"description,omitempty"`
	Tags           []string              `json:"tags,omitempty"`
	Security       []map[string][]string `json:"security,omitempty"`
	RequiredScopes []string              `json:"requiredScopes,omitempty"`
	Pagination     *PaginationManifest   `json:"pagination,omitempty"`
}

type Options

type Options struct {
	SpecPath    string
	OutputDir   string
	Name        string
	ModuleName  string
	Publish     string
	HomebrewTap string
	Build       bool
	Overwrite   bool
}

type PaginationManifest

type PaginationManifest struct {
	RequestParam string `json:"requestParam,omitempty"`
	ResponsePath string `json:"responsePath,omitempty"`
	ItemsPath    string `json:"itemsPath,omitempty"`
}

type ReleaseConfig

type ReleaseConfig struct {
	Repo             string
	RepoOwner        string
	RepoName         string
	HasRepo          bool
	HomebrewTap      string
	HomebrewTapOwner string
	HomebrewTapName  string
	HasHomebrewTap   bool
}

type ServerVariable

type ServerVariable struct {
	Name        string `json:"name"`
	EnvVar      string `json:"envVar"`
	Default     string `json:"default,omitempty"`
	Description string `json:"description,omitempty"`
}

type SkillConfig

type SkillConfig struct {
	Name string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL