generation

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: MIT Imports: 25 Imported by: 0

Documentation

Overview

package generation provides the ability to generate resource, handler, and typescript permissions and metadata code from a resource file.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client added in v0.0.10

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, resourceFilePath, migrationSourceURL string, generatorOptions ...ClientOption) (*Client, error)

func (*Client) Close added in v0.0.10

func (c *Client) Close()

func (*Client) RunGeneration added in v0.0.10

func (c *Client) RunGeneration() error

type ClientOption added in v0.0.10

type ClientOption func(*Client) error

func CaserInitialismOverrides added in v0.0.10

func CaserInitialismOverrides(overrides map[string]bool) ClientOption

func GenerateHandlers added in v0.0.10

func GenerateHandlers(targetDir string, overrides map[string][]HandlerType) ClientOption

func GenerateTypescriptMetadata added in v0.0.10

func GenerateTypescriptMetadata(rc *resource.Collection, targetDir string) ClientOption

func GenerateTypescriptPermission added in v0.0.10

func GenerateTypescriptPermission(rc *resource.Collection, targetDir string) ClientOption

func WithPluralOverrides added in v0.0.10

func WithPluralOverrides(overrides map[string]string) ClientOption

type ConstraintType

type ConstraintType string
const (
	PrimaryKey ConstraintType = "PRIMARY KEY"
	ForeignKey ConstraintType = "FOREIGN KEY"
)

type FieldMetadata

type FieldMetadata struct {
	ColumnName         string
	ConstraintTypes    []ConstraintType
	IsPrimaryKey       bool
	IsForeignKey       bool
	SpannerType        string
	IsNullable         bool
	IsIndex            bool
	IsUniqueIndex      bool
	OrdinalPosition    int64
	KeyOrdinalPosition int64
	ReferencedTable    string
	ReferencedColumn   string
}

type GeneratedFileDeleteMethod added in v0.0.9

type GeneratedFileDeleteMethod int
const (
	// Used to remove files with the genPrefix value instead of reading the contents of the file.
	Prefix GeneratedFileDeleteMethod = iota
	// Used to remove files that contain the header comment "// Code generated by resourcegeneration. DO NOT EDIT."
	HeaderComment
)

type HandlerType

type HandlerType string
const (
	List  HandlerType = "list"
	Read  HandlerType = "read"
	Patch HandlerType = "patch"
)

type InformationSchemaResult

type InformationSchemaResult struct {
	TableName          string  `spanner:"TABLE_NAME"`
	ColumnName         string  `spanner:"COLUMN_NAME"`
	ConstraintName     *string `spanner:"CONSTRAINT_NAME"`
	IsPrimaryKey       bool    `spanner:"IS_PRIMARY_KEY"`
	IsForeignKey       bool    `spanner:"IS_FOREIGN_KEY"`
	ReferencedTable    *string `spanner:"REFERENCED_TABLE"`
	ReferencedColumn   *string `spanner:"REFERENCED_COLUMN"`
	SpannerType        string  `spanner:"SPANNER_TYPE"`
	IsNullable         bool    `spanner:"IS_NULLABLE"`
	IsView             bool    `spanner:"IS_VIEW"`
	IsIndex            bool    `spanner:"IS_INDEX"`
	IsUniqueIndex      bool    `spanner:"IS_UNIQUE_INDEX"`
	OrdinalPosition    int64   `spanner:"ORDINAL_POSITION"`
	KeyOrdinalPosition int64   `spanner:"KEY_ORDINAL_POSITION"`
}

type OptionType

type OptionType string
const (
	Regenerate OptionType = "regenerate"
	NoGenerate OptionType = "nogenerate"
)

type PatchType

type PatchType string
const (
	CreatePatch PatchType = "Create"
	UpdatePatch PatchType = "Update"
)

type TableMetadata

type TableMetadata struct {
	Columns map[string]FieldMetadata
	IsView  bool
}

Jump to

Keyboard shortcuts

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