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.