apibuilder

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthHeader

type AuthHeader = libcfg.AuthHeader

AuthHeader describes one generated auth-token header.

RU: AuthHeader описывает один generated header для auth token.

type AuthMode

type AuthMode string

AuthMode controls how generated API constructors and methods handle auth tokens.

RU: AuthMode управляет тем, как generated API constructors и методы работают с auth token.

const (
	// AuthModeNone keeps generated API constructors and methods token-free.
	//
	// RU: AuthModeNone оставляет generated API constructors и методы без token.
	AuthModeNone AuthMode = "none"
	// AuthModeServiceToken generates ctor-level token support via NewWithToken(baseURL, token).
	//
	// RU: AuthModeServiceToken генерирует поддержку ctor-level token через NewWithToken(baseURL, token).
	AuthModeServiceToken AuthMode = "service_token"
	// AuthModePerCallToken generates explicit token argument on every API/wrapper method.
	//
	// RU: AuthModePerCallToken генерирует явный token-аргумент в каждом API/wrapper методе.
	AuthModePerCallToken AuthMode = "per_call_token"
)

type BootstrapBinding

type BootstrapBinding struct {
	// Optional.
	//
	// Target points to bootstrap job ID.
	// Empty is allowed only when project has exactly one bootstrap job.
	//
	// RU: Target указывает на bootstrap job ID.
	// Пустое значение допустимо только если в проекте ровно один bootstrap job.
	Target string
	// Optional.
	//
	// ComponentID overrides component ID inside bootstrap manifest.
	// When empty, runtime uses job ID.
	//
	// RU: ComponentID переопределяет component ID внутри bootstrap manifest.
	// Если поле пустое, runtime использует job ID.
	ComponentID string
}

BootstrapBinding links a generated component to a bootstrap job for auto-sync. All fields are optional. Use nil Job.Bootstrap to disable bootstrap sync entirely.

RU: BootstrapBinding связывает generated component с bootstrap job для auto-sync. Все поля опциональны. Используйте nil в Job.Bootstrap, чтобы полностью отключить bootstrap sync.

type EntityLayer

type EntityLayer struct {
	// Optional.
	//
	// OutDir is kept only for backward compatibility and is ignored by the current generator.
	// Stable DTOs are now generated directly into the API package next to wrappers.
	//
	// RU: OutDir сохранён только для обратной совместимости и игнорируется текущим генератором.
	// Stable DTO теперь генерируются прямо в API package рядом с wrappers.
	OutDir string
	// Optional.
	//
	// Mode maps to the current stable DTO generation mode when explicitly provided.
	//
	// RU: Mode маппится в текущий режим генерации stable DTO, если задан явно.
	Mode Mode
}

EntityLayer is a deprecated compatibility shim for the old external DTO package flow.

RU: EntityLayer — deprecated compatibility shim для старого внешнего DTO package flow.

All fields are optional.

type Job

type Job struct {
	// Optional.
	//
	// ID is an optional stable job identifier used by TUI and runners.
	// When empty, the runtime derives it from BaseDir.
	//
	// RU: ID — необязательный стабильный идентификатор job для TUI и runner'ов.
	// Если поле пустое, runtime вычисляет его из BaseDir.
	ID string

	// Required.
	//
	// BaseDir points to the API domain directory that contains `openapi.yaml`.
	//
	// RU: BaseDir указывает на директорию API-домена, где лежит `openapi.yaml`.
	BaseDir string

	// Optional.
	//
	// Bootstrap enables auto-sync into a bootstrap Definition() manifest.
	// Leave nil when this API should not appear in bootstrap managed inventory.
	//
	// RU: Bootstrap включает auto-sync в bootstrap Definition() manifest.
	// Оставьте nil, если этот API не должен попадать в bootstrap managed inventory.
	Bootstrap *BootstrapBinding

	// Optional.
	//
	// Options contains advanced overrides for non-default layout and DTO/logging policies.
	//
	// RU: Options содержит advanced override-настройки для нестандартного layout и policy DTO/logging.
	Options *Options
}

Job describes one API generation unit driven by an OpenAPI spec. Required field: BaseDir. Optional fields: ID, Bootstrap, Options.

RU: Job описывает одну задачу генерации API на основе OpenAPI-спеки. RU: Обязательное поле: BaseDir. RU: Опциональные поля: ID, Bootstrap, Options.

type LoggingOptions

type LoggingOptions struct {
	// Optional.
	//
	// RedactedFields lists JSON object keys that should be redacted in generated attachments.
	// Matching is case-insensitive and ignores punctuation differences such as `_`, `-` and spaces.
	//
	// RU: RedactedFields задаёт список JSON-ключей, которые нужно редактировать в generated attachments.
	// RU: Сопоставление нечувствительно к регистру и игнорирует различия в `_`, `-` и пробелах.
	RedactedFields []string
	// Optional.
	//
	// RedactionReplacement overrides the marker value written for redacted fields.
	// When empty, the runtime uses `this field was redacted`.
	//
	// RU: RedactionReplacement переопределяет marker-значение, которое записывается вместо скрытых полей.
	// Если поле пустое, runtime использует `this field was redacted`.
	RedactionReplacement string
}

LoggingOptions controls privacy rules for generated request/response attachments. RU: LoggingOptions управляет privacy-правилами для generated request/response attachments.

All fields are optional.

type Mode

type Mode string

Mode controls generation behavior for generated DTO and wrapper artifacts.

RU: Mode управляет режимом генерации для generated DTO и wrapper-артефактов.

const (
	// ModeSkip keeps an existing artifact untouched and requires it to already exist when needed.
	//
	// RU: ModeSkip не генерирует артефакт заново и ожидает, что нужный файл уже существует.
	ModeSkip Mode = "skip"
	// ModeInit generates an artifact only when it is still missing.
	//
	// RU: ModeInit генерирует артефакт только если файла ещё нет.
	ModeInit Mode = "init"
	// ModeForce always rewrites the generated artifact.
	//
	// RU: ModeForce всегда перезаписывает генерируемый артефакт.
	ModeForce Mode = "force"
)

type Options

type Options struct {
	// Optional.
	//
	// SpecPath overrides the default OpenAPI spec path derived from BaseDir.
	// When empty, the runtime uses `<BaseDir>/openapi.yaml`.
	//
	// RU: SpecPath переопределяет стандартный путь к OpenAPI-спеке, выводимый из BaseDir.
	// Если поле пустое, runtime использует `<BaseDir>/openapi.yaml`.
	SpecPath string
	// Optional.
	//
	// APIOutDir overrides the default output directory for generated API facade files and ogen client files.
	// When empty, the runtime uses `<BaseDir>/generated/genapi<job-id>`.
	//
	// RU: APIOutDir переопределяет стандартную директорию вывода для generated API facade и ogen client файлов.
	// Если поле пустое, runtime использует `<BaseDir>/generated/genapi<job-id>`.
	APIOutDir string
	// Optional.
	//
	// WrapperOutputPath overrides the main generated wrapper file path.
	// When empty, the runtime uses `<APIOutDir>/wrapper_gen.go`.
	//
	// RU: WrapperOutputPath переопределяет путь к основному generated wrapper-файлу.
	// Если поле пустое, runtime использует `<APIOutDir>/wrapper_gen.go`.
	WrapperOutputPath string
	// Optional.
	//
	// WrapperPackage overrides the Go package name used for generated wrapper files.
	// When empty, the runtime uses the `APIOutDir` directory basename.
	//
	// RU: WrapperPackage переопределяет имя Go package для generated wrapper-файлов.
	// Если поле пустое, runtime использует basename директории `APIOutDir`,
	// то есть уникальный package name вида `genapi<job-id>` по умолчанию.
	WrapperPackage string
	// Optional.
	//
	// WrapperMode controls how wrapper files are generated.
	// When empty, the runtime uses `force`.
	//
	// RU: WrapperMode управляет режимом генерации wrapper-файлов.
	// Если поле пустое, runtime использует `force`.
	WrapperMode Mode
	// Optional.
	//
	// RawClientModels disables generated stable DTOs and exposes raw ogen transport models instead.
	// By default this is false, so the generator emits clean local DTOs and mappers.
	//
	// RU: RawClientModels выключает generated stable DTO и вместо них использует raw ogen transport models.
	// RU: По умолчанию это false, поэтому генератор создаёт clean local DTO и mappers.
	RawClientModels bool
	// Optional.
	//
	// ModelsMode controls how stable DTO files inside the API package are generated.
	// When empty, the runtime uses `force`.
	//
	// RU: ModelsMode управляет режимом генерации stable DTO файлов внутри API package.
	// Если поле пустое, runtime использует `force`.
	ModelsMode Mode
	// Optional.
	//
	// AuthMode controls generated token wiring strategy.
	// When empty, the runtime uses `service_token`.
	//
	// RU: AuthMode управляет стратегией generated token wiring.
	// Если поле пустое, runtime использует `service_token`.
	AuthMode AuthMode
	// Optional.
	//
	// AuthHeaders overrides which HTTP headers receive the auth token.
	// Each header writes `Prefix + token`. When empty, token auth uses `Authorization: Bearer <token>`.
	//
	// RU: AuthHeaders переопределяет HTTP headers, в которые записывается auth token.
	// Каждый header записывает значение как `Prefix + token`. Если поле пустое, token auth использует `Authorization: Bearer <token>`.
	AuthHeaders []AuthHeader
	// Optional.
	//
	// Entity is a deprecated compatibility field for the old external DTO package flow.
	// Prefer `RawClientModels` and `ModelsMode` instead.
	//
	// RU: Entity — deprecated compatibility field для старого внешнего DTO package flow.
	// RU: Вместо этого используйте `RawClientModels` и `ModelsMode`.
	Entity *EntityLayer
	// Optional.
	//
	// Logging configures privacy rules for generated request/response attachments.
	//
	// RU: Logging настраивает privacy-правила для generated request/response attachments.
	Logging *LoggingOptions
}

Options contains advanced API generation overrides. All fields are optional. Zero value keeps the BaseDir-driven happy path.

RU: Options содержит advanced override-настройки генерации API. Все поля опциональны. Нулевое значение оставляет BaseDir-driven happy path.

Jump to

Keyboard shortcuts

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