models

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Categories = func() CategoriesTable {
	categoryIDCol := schema.BigSerialColumn(CategoriesColumnCategoryID, ddl.WithPrimaryKey[CategoriesColumnAlias]())
	nameCol := schema.TextColumn(CategoriesColumnName, ddl.WithNotNull[CategoriesColumnAlias]())
	slugCol := schema.TextColumn(
		CategoriesColumnSlug,
		ddl.WithNotNull[CategoriesColumnAlias](),
		ddl.WithUnique[CategoriesColumnAlias](),
	)
	parentIDCol := schema.BigIntColumn(
		CategoriesColumnParentID,
		ddl.WithReferences[CategoriesColumnAlias]("categories", "category_id"),
	)

	return CategoriesTable{
		Table: schema.NewTable[CategoriesAlias, CategoriesColumnAlias, *CategoriesScanner](
			CategoriesAliasName,
			func() *CategoriesScanner { return &CategoriesScanner{} },
			[]*ddl.ColumnDDL[CategoriesColumnAlias]{
				categoryIDCol.DDL(),
				nameCol.DDL(),
				slugCol.DDL(),
				parentIDCol.DDL(),
			},
		),
		CategoryID: categoryIDCol,
		Name:       nameCol,
		Slug:       slugCol,
		ParentID:   parentIDCol,
	}
}()

Categories is the global categories table instance

CategoriesProducts defines the inverse many-to-many relationship A category has many products through product_categories

CategoriesRef is a reference to the categories table for relations

Currency is the global currency table instance

CurrencyRef is a reference to the currency table for relations

View Source
var OrderItems = func() OrderItemsTable {
	orderIDCol := schema.BigIntColumn(
		OrderItemsColumnOrderID,
		ddl.WithNotNull[OrderItemsColumnAlias](),
		ddl.WithReferences[OrderItemsColumnAlias]("orders", "order_id"),
		ddl.WithOnDelete[OrderItemsColumnAlias]("CASCADE"),
	)
	lineNoCol := schema.IntegerColumn(
		OrderItemsColumnLineNo,
		ddl.WithNotNull[OrderItemsColumnAlias](),
		ddl.WithCheck[OrderItemsColumnAlias]("line_no > 0"),
	)
	productIDCol := schema.BigIntColumn(
		OrderItemsColumnProductID,
		ddl.WithNotNull[OrderItemsColumnAlias](),
		ddl.WithReferences[OrderItemsColumnAlias]("products", "product_id"),
	)
	qtyCol := schema.IntegerColumn(
		OrderItemsColumnQty,
		ddl.WithNotNull[OrderItemsColumnAlias](),
		ddl.WithCheck[OrderItemsColumnAlias]("qty > 0"),
	)
	unitPriceCol := schema.NumericColumn(
		OrderItemsColumnUnitPrice,
		12, 2,
		ddl.WithNotNull[OrderItemsColumnAlias](),
	)

	return OrderItemsTable{
		Table: schema.NewTable[OrderItemsAlias, OrderItemsColumnAlias, *OrderItemsScanner](
			OrderItemsAliasName,
			func() *OrderItemsScanner { return &OrderItemsScanner{} },
			[]*ddl.ColumnDDL[OrderItemsColumnAlias]{
				orderIDCol.DDL(),
				lineNoCol.DDL(),
				productIDCol.DDL(),
				qtyCol.DDL(),
				unitPriceCol.DDL(),
			},
			ddl.WithUniqueColumns[OrderItemsAlias, OrderItemsColumnAlias]([]OrderItemsColumnAlias{
				OrderItemsColumnOrderID,
				OrderItemsColumnProductID,
			}),
			ddl.WithIndexes[OrderItemsAlias, OrderItemsColumnAlias](
				ddl.NewIndex[OrderItemsAlias, OrderItemsColumnAlias](
					string(OrderItemsIndexProduct),
					OrderItemsAliasName,
				).OnColumns(OrderItemsColumnProductID),
			),
		),
		OrderID:   orderIDCol,
		LineNo:    lineNoCol,
		ProductID: productIDCol,
		Qty:       qtyCol,
		UnitPrice: unitPriceCol,
	}
}()

OrderItems is the global order_items table instance

OrderItemsRef is a reference to the order_items table for relations

View Source
var Orders = func() OrdersTable {
	orderIDCol := schema.BigSerialColumn(OrdersColumnOrderID, ddl.WithPrimaryKey[OrdersColumnAlias]())
	userIDCol := schema.BigIntColumn(
		OrdersColumnUserID,
		ddl.WithNotNull[OrdersColumnAlias](),
		ddl.WithReferences[OrdersColumnAlias]("users", "user_id"),
	)
	statusCol := schema.TextColumn(
		OrdersColumnStatus,
		ddl.WithNotNull[OrdersColumnAlias](),
		ddl.WithCheck[OrdersColumnAlias]("status IN ('NEW', 'PAID', 'CANCELLED', 'SHIPPED')"),
	)
	currencyCol := schema.CharColumn(
		OrdersColumnCurrency,
		3,
		ddl.WithNotNull[OrdersColumnAlias](),
		ddl.WithReferences[OrdersColumnAlias]("currency", "code"),
	)
	createdAtCol := schema.TimestamptzColumn(
		OrdersColumnCreatedAt,
		ddl.WithNotNull[OrdersColumnAlias](),
		ddl.WithDefault[OrdersColumnAlias]("now()"),
	)
	updatedAtCol := schema.TimestamptzColumn(
		OrdersColumnUpdatedAt,
		ddl.WithNotNull[OrdersColumnAlias](),
		ddl.WithDefault[OrdersColumnAlias]("now()"),
	)

	return OrdersTable{
		Table: schema.NewTable[OrdersAlias, OrdersColumnAlias, *OrdersScanner](
			OrdersAliasName,
			func() *OrdersScanner { return &OrdersScanner{} },
			[]*ddl.ColumnDDL[OrdersColumnAlias]{
				orderIDCol.DDL(),
				userIDCol.DDL(),
				statusCol.DDL(),
				currencyCol.DDL(),
				createdAtCol.DDL(),
				updatedAtCol.DDL(),
			},
			ddl.WithIndexes[OrdersAlias, OrdersColumnAlias](
				ddl.NewIndex[OrdersAlias, OrdersColumnAlias](
					string(OrdersIndexUserCreated),
					OrdersAliasName,
				).OnColumns(OrdersColumnUserID, OrdersColumnCreatedAtDesc),
			),
		),
		OrderID:   orderIDCol,
		UserID:    userIDCol,
		Status:    statusCol,
		Currency:  currencyCol,
		CreatedAt: createdAtCol,
		UpdatedAt: updatedAtCol,
	}
}()

Orders is the global orders table instance

OrdersCurrency defines the belongs-to relationship between orders and currency An order belongs to a currency

OrdersRef is a reference to the orders table for relations

OrdersUser defines the belongs-to relationship between orders and users An order belongs to a user

ProductCategories is the global product_categories table instance

ProductCategoriesRef is a reference to the product_categories table for relations

ProductTags is the global product_tags table instance

ProductTagsRef is a reference to the product_tags table for relations

View Source
var Products = func() ProductsTable {
	productIDCol := schema.BigSerialColumn(ProductsColumnProductID, ddl.WithPrimaryKey[ProductsColumnAlias]())
	skuCol := schema.TextColumn(
		ProductsColumnSKU,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithUnique[ProductsColumnAlias](),
	)
	nameCol := schema.TextColumn(ProductsColumnName, ddl.WithNotNull[ProductsColumnAlias]())
	priceCol := schema.NumericColumn(ProductsColumnPrice, 12, 2, ddl.WithNotNull[ProductsColumnAlias]())
	currencyCol := schema.CharColumn(
		ProductsColumnCurrency,
		3,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithReferences[ProductsColumnAlias]("currency", "code"),
	)
	stockQtyCol := schema.IntegerColumn(
		ProductsColumnStockQty,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithDefault[ProductsColumnAlias]("0"),
		ddl.WithCheck[ProductsColumnAlias]("stock_qty >= 0"),
	)
	isDeletedCol := schema.BooleanColumn(
		ProductsColumnIsDeleted,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithDefault[ProductsColumnAlias]("false"),
	)
	createdAtCol := schema.TimestamptzColumn(
		ProductsColumnCreatedAt,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithDefault[ProductsColumnAlias]("now()"),
	)
	updatedAtCol := schema.TimestamptzColumn(
		ProductsColumnUpdatedAt,
		ddl.WithNotNull[ProductsColumnAlias](),
		ddl.WithDefault[ProductsColumnAlias]("now()"),
	)

	return ProductsTable{
		Table: schema.NewTable[ProductsAlias, ProductsColumnAlias, *ProductsScanner](
			ProductsAliasName,
			func() *ProductsScanner { return &ProductsScanner{} },
			[]*ddl.ColumnDDL[ProductsColumnAlias]{
				productIDCol.DDL(),
				skuCol.DDL(),
				nameCol.DDL(),
				priceCol.DDL(),
				currencyCol.DDL(),
				stockQtyCol.DDL(),
				isDeletedCol.DDL(),
				createdAtCol.DDL(),
				updatedAtCol.DDL(),
			},
			ddl.WithIndexes[ProductsAlias, ProductsColumnAlias](
				ddl.NewIndex[ProductsAlias, ProductsColumnAlias](
					string(ProductsIndexNotDeleted),
					ProductsAliasName,
				).OnColumns(ProductsColumnProductID).Where("is_deleted = false"),
			),
		),
		ProductID: productIDCol,
		SKU:       skuCol,
		Name:      nameCol,
		Price:     priceCol,
		Currency:  currencyCol,
		StockQty:  stockQtyCol,
		IsDeleted: isDeletedCol,
		CreatedAt: createdAtCol,
		UpdatedAt: updatedAtCol,
	}
}()

Products is the global products table instance

ProductsCategories defines the many-to-many relationship between products and categories A product can belong to many categories, and a category can have many products

ProductsRef is a reference to the products table for relations

ProductsTags defines the many-to-many relationship between products and tags A product can have many tags, and a tag can be on many products

View Source
var Tags = func() TagsTable {
	tagIDCol := schema.BigSerialColumn(TagsColumnTagID, ddl.WithPrimaryKey[TagsColumnAlias]())
	nameCol := schema.TextColumn(TagsColumnName, ddl.WithNotNull[TagsColumnAlias]())
	slugCol := schema.TextColumn(
		TagsColumnSlug,
		ddl.WithNotNull[TagsColumnAlias](),
		ddl.WithUnique[TagsColumnAlias](),
	)

	return TagsTable{
		Table: schema.NewTable[TagsAlias, TagsColumnAlias, *TagsScanner](
			TagsAliasName,
			func() *TagsScanner { return &TagsScanner{} },
			[]*ddl.ColumnDDL[TagsColumnAlias]{
				tagIDCol.DDL(),
				nameCol.DDL(),
				slugCol.DDL(),
			},
		),
		TagID: tagIDCol,
		Name:  nameCol,
		Slug:  slugCol,
	}
}()

Tags is the global tags table instance

TagsProducts defines the inverse many-to-many relationship A tag has many products through product_tags

TagsRef is a reference to the tags table for relations

View Source
var Users = func() UsersTable {
	userIDCol := schema.BigSerialColumn(UsersColumnUserID, ddl.WithPrimaryKey[UsersColumnAlias]())
	emailCol := schema.TextColumn(
		UsersColumnEmail,
		ddl.WithNotNull[UsersColumnAlias](),
		ddl.WithUnique[UsersColumnAlias](),
	)
	fullNameCol := schema.TextColumn(UsersColumnFullName, ddl.WithNotNull[UsersColumnAlias]())
	isActiveCol := schema.BooleanColumn(
		UsersColumnIsActive,
		ddl.WithNotNull[UsersColumnAlias](),
		ddl.WithDefault[UsersColumnAlias]("true"),
	)
	createdAtCol := schema.TimestamptzColumn(
		UsersColumnCreatedAt,
		ddl.WithNotNull[UsersColumnAlias](),
		ddl.WithDefault[UsersColumnAlias]("now()"),
	)
	updatedAtCol := schema.TimestamptzColumn(
		UsersColumnUpdatedAt,
		ddl.WithNotNull[UsersColumnAlias](),
		ddl.WithDefault[UsersColumnAlias]("now()"),
	)

	return UsersTable{
		Table: schema.NewTable[UsersAlias, UsersColumnAlias, *UsersScanner](
			UsersAliasName,
			func() *UsersScanner { return &UsersScanner{} },
			[]*ddl.ColumnDDL[UsersColumnAlias]{
				userIDCol.DDL(),
				emailCol.DDL(),
				fullNameCol.DDL(),
				isActiveCol.DDL(),
				createdAtCol.DDL(),
				updatedAtCol.DDL(),
			},
		),
		UserID:    userIDCol,
		Email:     emailCol,
		FullName:  fullNameCol,
		IsActive:  isActiveCol,
		CreatedAt: createdAtCol,
		UpdatedAt: updatedAtCol,
	}
}()

Users is the global users table instance

UsersOrders defines the one-to-many relationship between users and orders A user has many orders

UsersRef is a reference to the users table for relations

Functions

This section is empty.

Types

type CategoriesAlias

type CategoriesAlias string

CategoriesAlias is the table alias type for the categories table

const CategoriesAliasName CategoriesAlias = "categories"

func (CategoriesAlias) String

func (c CategoriesAlias) String() string

type CategoriesColumnAlias

type CategoriesColumnAlias string

CategoriesColumnAlias represents column names for the categories table

const (
	CategoriesColumnCategoryID CategoriesColumnAlias = "category_id"
	CategoriesColumnName       CategoriesColumnAlias = "name"
	CategoriesColumnSlug       CategoriesColumnAlias = "slug"
	CategoriesColumnParentID   CategoriesColumnAlias = "parent_id"
)

func (CategoriesColumnAlias) String

func (c CategoriesColumnAlias) String() string

type CategoriesScanner

type CategoriesScanner struct {
	CategoryID int64
	Name       string
	Slug       string
	ParentID   *int64
	Products   []*ProductsScanner
}

CategoriesScanner is the scanner struct for categories rows

func (*CategoriesScanner) GetSetter

func (*CategoriesScanner) GetTarget

func (c *CategoriesScanner) GetTarget(s string) func() any

func (*CategoriesScanner) GetValue

func (c *CategoriesScanner) GetValue(f CategoriesColumnAlias) func() any

type CategoriesTable

CategoriesTable represents the categories table with its columns

type CurrencyAlias

type CurrencyAlias string

CurrencyAlias is the table alias type for the currency table

const CurrencyAliasName CurrencyAlias = "currency"

func (CurrencyAlias) String

func (c CurrencyAlias) String() string

type CurrencyColumnAlias

type CurrencyColumnAlias string

CurrencyColumnAlias represents column names for the currency table

const (
	CurrencyColumnCode CurrencyColumnAlias = "code"
	CurrencyColumnName CurrencyColumnAlias = "name"
)

func (CurrencyColumnAlias) String

func (c CurrencyColumnAlias) String() string

type CurrencyScanner

type CurrencyScanner struct {
	Code string
	Name string
}

CurrencyScanner is the scanner struct for currency rows

func (*CurrencyScanner) GetSetter

func (*CurrencyScanner) GetTarget

func (c *CurrencyScanner) GetTarget(s string) func() any

func (*CurrencyScanner) GetValue

func (c *CurrencyScanner) GetValue(f CurrencyColumnAlias) func() any

type CurrencyTable

CurrencyTable represents the currency table with its columns

type OrderItemsAlias

type OrderItemsAlias string

OrderItemsAlias is the table alias type for the order_items table

const OrderItemsAliasName OrderItemsAlias = "order_items"
const OrderItemsIndexProduct OrderItemsAlias = "ix_order_items_product"

Index names

func (OrderItemsAlias) String

func (o OrderItemsAlias) String() string

type OrderItemsColumnAlias

type OrderItemsColumnAlias string

OrderItemsColumnAlias represents column names for the order_items table

const (
	OrderItemsColumnOrderID   OrderItemsColumnAlias = "order_id"
	OrderItemsColumnLineNo    OrderItemsColumnAlias = "line_no"
	OrderItemsColumnProductID OrderItemsColumnAlias = "product_id"
	OrderItemsColumnQty       OrderItemsColumnAlias = "qty"
	OrderItemsColumnUnitPrice OrderItemsColumnAlias = "unit_price"
)

func (OrderItemsColumnAlias) String

func (o OrderItemsColumnAlias) String() string

type OrderItemsScanner

type OrderItemsScanner struct {
	OrderID   int64
	LineNo    int32
	ProductID int64
	Qty       int32
	UnitPrice float64
}

OrderItemsScanner is the scanner struct for order_items rows

func (*OrderItemsScanner) GetSetter

func (*OrderItemsScanner) GetTarget

func (o *OrderItemsScanner) GetTarget(s string) func() any

func (*OrderItemsScanner) GetValue

func (o *OrderItemsScanner) GetValue(f OrderItemsColumnAlias) func() any

type OrdersAlias

type OrdersAlias string

OrdersAlias is the table alias type for the orders table

const OrdersAliasName OrdersAlias = "orders"
const OrdersIndexUserCreated OrdersAlias = "ix_orders_user_created"

Index names

func (OrdersAlias) String

func (o OrdersAlias) String() string

type OrdersColumnAlias

type OrdersColumnAlias string

OrdersColumnAlias represents column names for the orders table

const (
	OrdersColumnOrderID       OrdersColumnAlias = "order_id"
	OrdersColumnUserID        OrdersColumnAlias = "user_id"
	OrdersColumnStatus        OrdersColumnAlias = "status"
	OrdersColumnCurrency      OrdersColumnAlias = "currency"
	OrdersColumnCreatedAt     OrdersColumnAlias = "created_at"
	OrdersColumnUpdatedAt     OrdersColumnAlias = "updated_at"
	OrdersColumnCreatedAtDesc OrdersColumnAlias = "created_at DESC"
)

func (OrdersColumnAlias) String

func (o OrdersColumnAlias) String() string

type OrdersScanner

type OrdersScanner struct {
	OrderID   int64
	UserID    int64
	Status    string
	Currency  string
	CreatedAt time.Time
	UpdatedAt time.Time
	User      *UsersScanner
	Money     *CurrencyScanner
}

OrdersScanner is the scanner struct for orders rows

func (*OrdersScanner) GetSetter

func (*OrdersScanner) GetTarget

func (o *OrdersScanner) GetTarget(s string) func() any

func (*OrdersScanner) GetValue

func (o *OrdersScanner) GetValue(f OrdersColumnAlias) func() any

func (*OrdersScanner) Relations

func (o *OrdersScanner) Relations() []exec.RelationLoader[*OrdersScanner]

Relations returns the relation loaders for the orders table

type ProductCategoriesAlias

type ProductCategoriesAlias string

ProductCategoriesAlias is the table alias type for the product_categories pivot table

const ProductCategoriesAliasName ProductCategoriesAlias = "product_categories"

func (ProductCategoriesAlias) String

func (p ProductCategoriesAlias) String() string

type ProductCategoriesColumnAlias

type ProductCategoriesColumnAlias string

ProductCategoriesColumnAlias represents column names for the product_categories table

const (
	ProductCategoriesColumnProductID  ProductCategoriesColumnAlias = "product_id"
	ProductCategoriesColumnCategoryID ProductCategoriesColumnAlias = "category_id"
)

func (ProductCategoriesColumnAlias) String

type ProductCategoriesScanner

type ProductCategoriesScanner struct {
	ProductID  int64
	CategoryID int64
}

ProductCategoriesScanner is the scanner struct for product_categories rows

func (*ProductCategoriesScanner) GetSetter

func (*ProductCategoriesScanner) GetTarget

func (p *ProductCategoriesScanner) GetTarget(s string) func() any

func (*ProductCategoriesScanner) GetValue

type ProductCategoriesTable

ProductCategoriesTable represents the product_categories pivot table

type ProductTagsAlias

type ProductTagsAlias string

ProductTagsAlias is the table alias type for the product_tags pivot table

const ProductTagsAliasName ProductTagsAlias = "product_tags"

func (ProductTagsAlias) String

func (p ProductTagsAlias) String() string

type ProductTagsColumnAlias

type ProductTagsColumnAlias string

ProductTagsColumnAlias represents column names for the product_tags table

const (
	ProductTagsColumnProductID ProductTagsColumnAlias = "product_id"
	ProductTagsColumnTagID     ProductTagsColumnAlias = "tag_id"
)

func (ProductTagsColumnAlias) String

func (p ProductTagsColumnAlias) String() string

type ProductTagsScanner

type ProductTagsScanner struct {
	ProductID int64
	TagID     int64
}

ProductTagsScanner is the scanner struct for product_tags rows

func (*ProductTagsScanner) GetSetter

func (*ProductTagsScanner) GetTarget

func (p *ProductTagsScanner) GetTarget(s string) func() any

func (*ProductTagsScanner) GetValue

func (p *ProductTagsScanner) GetValue(f ProductTagsColumnAlias) func() any

type ProductTagsTable

ProductTagsTable represents the product_tags pivot table

type ProductsAlias

type ProductsAlias string

ProductsAlias is the table alias type for the products table

const ProductsAliasName ProductsAlias = "products"
const ProductsIndexNotDeleted ProductsAlias = "ix_products_not_deleted"

Index names

func (ProductsAlias) String

func (p ProductsAlias) String() string

type ProductsColumnAlias

type ProductsColumnAlias string

ProductsColumnAlias represents column names for the products table

const (
	ProductsColumnProductID ProductsColumnAlias = "product_id"
	ProductsColumnSKU       ProductsColumnAlias = "sku"
	ProductsColumnName      ProductsColumnAlias = "name"
	ProductsColumnPrice     ProductsColumnAlias = "price"
	ProductsColumnCurrency  ProductsColumnAlias = "currency"
	ProductsColumnStockQty  ProductsColumnAlias = "stock_qty"
	ProductsColumnIsDeleted ProductsColumnAlias = "is_deleted"
	ProductsColumnCreatedAt ProductsColumnAlias = "created_at"
	ProductsColumnUpdatedAt ProductsColumnAlias = "updated_at"
)

func (ProductsColumnAlias) String

func (p ProductsColumnAlias) String() string

type ProductsScanner

type ProductsScanner struct {
	ProductID  int64
	SKU        string
	Name       string
	Price      float64
	Currency   string
	StockQty   int32
	IsDeleted  bool
	CreatedAt  time.Time
	UpdatedAt  time.Time
	Categories []*CategoriesScanner // M2M relation
	Tags       []*TagsScanner       // M2M relation
}

ProductsScanner is the scanner struct for products rows

func (*ProductsScanner) GetSetter

func (*ProductsScanner) GetTarget

func (p *ProductsScanner) GetTarget(s string) func() any

func (*ProductsScanner) GetValue

func (p *ProductsScanner) GetValue(f ProductsColumnAlias) func() any

func (*ProductsScanner) Relations

Relations returns the relation loaders for the products table

type TagsAlias

type TagsAlias string

TagsAlias is the table alias type for the tags table

const TagsAliasName TagsAlias = "tags"

func (TagsAlias) String

func (t TagsAlias) String() string

type TagsColumnAlias

type TagsColumnAlias string

TagsColumnAlias represents column names for the tags table

const (
	TagsColumnTagID TagsColumnAlias = "tag_id"
	TagsColumnName  TagsColumnAlias = "name"
	TagsColumnSlug  TagsColumnAlias = "slug"
)

func (TagsColumnAlias) String

func (t TagsColumnAlias) String() string

type TagsScanner

type TagsScanner struct {
	TagID    int64
	Name     string
	Slug     string
	Products []*ProductsScanner
}

TagsScanner is the scanner struct for tags rows

func (*TagsScanner) GetSetter

func (t *TagsScanner) GetSetter(f TagsColumnAlias) func() set.ValueSetter[TagsColumnAlias]

func (*TagsScanner) GetTarget

func (t *TagsScanner) GetTarget(s string) func() any

func (*TagsScanner) GetValue

func (t *TagsScanner) GetValue(f TagsColumnAlias) func() any

type TagsTable

TagsTable represents the tags table with its columns

type UsersAlias

type UsersAlias string

UsersAlias is the table alias type for the users table

const UsersAliasName UsersAlias = "users"

func (UsersAlias) String

func (u UsersAlias) String() string

type UsersColumnAlias

type UsersColumnAlias string

UsersColumnAlias represents column names for the users table

const (
	UsersColumnUserID    UsersColumnAlias = "user_id"
	UsersColumnEmail     UsersColumnAlias = "email"
	UsersColumnFullName  UsersColumnAlias = "full_name"
	UsersColumnIsActive  UsersColumnAlias = "is_active"
	UsersColumnCreatedAt UsersColumnAlias = "created_at"
	UsersColumnUpdatedAt UsersColumnAlias = "updated_at"
)

func (UsersColumnAlias) String

func (u UsersColumnAlias) String() string

type UsersScanner

type UsersScanner struct {
	UserID    int64
	Email     string
	FullName  string
	IsActive  bool
	CreatedAt time.Time
	UpdatedAt time.Time
	Orders    []*OrdersScanner
}

UsersScanner is the scanner struct for users rows

func (*UsersScanner) GetSetter

func (*UsersScanner) GetTarget

func (u *UsersScanner) GetTarget(s string) func() any

func (*UsersScanner) GetValue

func (u *UsersScanner) GetValue(f UsersColumnAlias) func() any

func (*UsersScanner) Relations

func (u *UsersScanner) Relations() []exec.RelationLoader[*UsersScanner]

Relations returns the relation loaders for the users table

Jump to

Keyboard shortcuts

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