Documentation
¶
Index ¶
- Variables
- type BaseEntity
- func (*BaseEntity) Descriptor() ([]byte, []int)deprecated
- func (x *BaseEntity) GetId() *EntityID
- func (x *BaseEntity) GetTimestamps() *Timestamps
- func (pb *BaseEntity) IntoPlain() *BaseEntityScanner
- func (*BaseEntity) ProtoMessage()
- func (x *BaseEntity) ProtoReflect() protoreflect.Message
- func (x *BaseEntity) Reset()
- func (x *BaseEntity) String() string
- type BaseEntityScanner
- type Category
- func (*Category) Descriptor() ([]byte, []int)deprecated
- func (x *Category) GetBase() *BaseEntity
- func (x *Category) GetName() string
- func (x *Category) GetParentId() *wrapperspb.Int64Value
- func (x *Category) GetSlug() string
- func (pb *Category) IntoPlain() *CategoryScanner
- func (*Category) ProtoMessage()
- func (x *Category) ProtoReflect() protoreflect.Message
- func (x *Category) Reset()
- func (x *Category) String() string
- type CategoryAlias
- type CategoryColumnAlias
- type CategoryScanner
- func (s *CategoryScanner) GetSetter(f CategoryColumnAlias) func() set.ValueSetter[CategoryColumnAlias]
- func (s *CategoryScanner) GetTarget(col string) func() any
- func (s *CategoryScanner) GetValue(f CategoryColumnAlias) func() any
- func (p *CategoryScanner) IntoPb() *Category
- func (s *CategoryScanner) Relations() []exec.RelationLoader[*CategoryScanner]
- type CategorysTable
- type Currency
- func (*Currency) Descriptor() ([]byte, []int)deprecated
- func (x *Currency) GetCode() string
- func (x *Currency) GetName() string
- func (pb *Currency) IntoPlain() *CurrencyScanner
- func (*Currency) ProtoMessage()
- func (x *Currency) ProtoReflect() protoreflect.Message
- func (x *Currency) Reset()
- func (x *Currency) String() string
- type CurrencyAlias
- type CurrencyColumnAlias
- type CurrencyScanner
- func (s *CurrencyScanner) GetSetter(f CurrencyColumnAlias) func() set.ValueSetter[CurrencyColumnAlias]
- func (s *CurrencyScanner) GetTarget(col string) func() any
- func (s *CurrencyScanner) GetValue(f CurrencyColumnAlias) func() any
- func (p *CurrencyScanner) IntoPb() *Currency
- func (s *CurrencyScanner) Relations() []exec.RelationLoader[*CurrencyScanner]
- type CurrencysTable
- type EntityID
- type Order
- func (*Order) Descriptor() ([]byte, []int)deprecated
- func (x *Order) GetBase() *BaseEntity
- func (x *Order) GetCurrency() string
- func (x *Order) GetItems() []*OrderItem
- func (x *Order) GetStatus() string
- func (x *Order) GetUserId() *EntityID
- func (pb *Order) IntoPlain() *OrderScanner
- func (*Order) ProtoMessage()
- func (x *Order) ProtoReflect() protoreflect.Message
- func (x *Order) Reset()
- func (x *Order) String() string
- type OrderAlias
- type OrderColumnAlias
- type OrderItem
- func (*OrderItem) Descriptor() ([]byte, []int)deprecated
- func (x *OrderItem) GetLineNo() int32
- func (x *OrderItem) GetOrderId() *EntityID
- func (x *OrderItem) GetProductId() *EntityID
- func (x *OrderItem) GetQty() int32
- func (x *OrderItem) GetUnitPrice() float64
- func (pb *OrderItem) IntoPlain() *OrderItemScanner
- func (*OrderItem) ProtoMessage()
- func (x *OrderItem) ProtoReflect() protoreflect.Message
- func (x *OrderItem) Reset()
- func (x *OrderItem) String() string
- type OrderItemAlias
- type OrderItemColumnAlias
- type OrderItemScanner
- func (s *OrderItemScanner) GetSetter(f OrderItemColumnAlias) func() set.ValueSetter[OrderItemColumnAlias]
- func (s *OrderItemScanner) GetTarget(col string) func() any
- func (s *OrderItemScanner) GetValue(f OrderItemColumnAlias) func() any
- func (p *OrderItemScanner) IntoPb() *OrderItem
- func (s *OrderItemScanner) Relations() []exec.RelationLoader[*OrderItemScanner]
- type OrderItemsTable
- type OrderScanner
- func (s *OrderScanner) GetSetter(f OrderColumnAlias) func() set.ValueSetter[OrderColumnAlias]
- func (s *OrderScanner) GetTarget(col string) func() any
- func (s *OrderScanner) GetValue(f OrderColumnAlias) func() any
- func (p *OrderScanner) IntoPb() *Order
- func (s *OrderScanner) Relations() []exec.RelationLoader[*OrderScanner]
- type OrdersTable
- type Product
- func (*Product) Descriptor() ([]byte, []int)deprecated
- func (x *Product) GetBase() *BaseEntity
- func (x *Product) GetCategories() []*Category
- func (x *Product) GetCurrency() string
- func (x *Product) GetIsDeleted() bool
- func (x *Product) GetName() string
- func (x *Product) GetPrice() float64
- func (x *Product) GetSku() string
- func (x *Product) GetStockQty() int32
- func (x *Product) GetTags() []*Tag
- func (pb *Product) IntoPlain() *ProductScanner
- func (*Product) ProtoMessage()
- func (x *Product) ProtoReflect() protoreflect.Message
- func (x *Product) Reset()
- func (x *Product) String() string
- type ProductAlias
- type ProductColumnAlias
- type ProductScanner
- func (s *ProductScanner) GetSetter(f ProductColumnAlias) func() set.ValueSetter[ProductColumnAlias]
- func (s *ProductScanner) GetTarget(col string) func() any
- func (s *ProductScanner) GetValue(f ProductColumnAlias) func() any
- func (p *ProductScanner) IntoPb() *Product
- func (s *ProductScanner) Relations() []exec.RelationLoader[*ProductScanner]
- type ProductsTable
- type Tag
- func (*Tag) Descriptor() ([]byte, []int)deprecated
- func (x *Tag) GetBase() *BaseEntity
- func (x *Tag) GetName() string
- func (x *Tag) GetSlug() string
- func (pb *Tag) IntoPlain() *TagScanner
- func (*Tag) ProtoMessage()
- func (x *Tag) ProtoReflect() protoreflect.Message
- func (x *Tag) Reset()
- func (x *Tag) String() string
- type TagAlias
- type TagColumnAlias
- type TagScanner
- func (s *TagScanner) GetSetter(f TagColumnAlias) func() set.ValueSetter[TagColumnAlias]
- func (s *TagScanner) GetTarget(col string) func() any
- func (s *TagScanner) GetValue(f TagColumnAlias) func() any
- func (p *TagScanner) IntoPb() *Tag
- func (s *TagScanner) Relations() []exec.RelationLoader[*TagScanner]
- type TagsTable
- type Timestamps
- func (*Timestamps) Descriptor() ([]byte, []int)deprecated
- func (x *Timestamps) GetCreatedAt() *timestamppb.Timestamp
- func (x *Timestamps) GetUpdatedAt() *timestamppb.Timestamp
- func (pb *Timestamps) IntoPlain() *TimestampsScanner
- func (*Timestamps) ProtoMessage()
- func (x *Timestamps) ProtoReflect() protoreflect.Message
- func (x *Timestamps) Reset()
- func (x *Timestamps) String() string
- type TimestampsScanner
- type User
- func (*User) Descriptor() ([]byte, []int)deprecated
- func (x *User) GetBase() *BaseEntity
- func (x *User) GetEmail() string
- func (x *User) GetFullName() string
- func (x *User) GetIsActive() bool
- func (x *User) GetOrders() []*Order
- func (pb *User) IntoPlain() *UserScanner
- func (*User) ProtoMessage()
- func (x *User) ProtoReflect() protoreflect.Message
- func (x *User) Reset()
- func (x *User) String() string
- type UserAlias
- type UserColumnAlias
- type UserScanner
- func (s *UserScanner) GetSetter(f UserColumnAlias) func() set.ValueSetter[UserColumnAlias]
- func (s *UserScanner) GetTarget(col string) func() any
- func (s *UserScanner) GetValue(f UserColumnAlias) func() any
- func (p *UserScanner) IntoPb() *User
- func (s *UserScanner) Relations() []exec.RelationLoader[*UserScanner]
- type UsersTable
Constants ¶
This section is empty.
Variables ¶
var Categorys = func() CategorysTable { idCol := schema.BigSerialColumn(CategoryColumnId, ddl.WithPrimaryKey[CategoryColumnAlias]()) createdAtCol := schema.TimestamptzColumn(CategoryColumnCreatedAt, ddl.WithDefault[CategoryColumnAlias]("now()")) updatedAtCol := schema.TimestamptzColumn(CategoryColumnUpdatedAt, ddl.WithDefault[CategoryColumnAlias]("now()")) nameCol := schema.TextColumn(CategoryColumnName) slugCol := schema.TextColumn(CategoryColumnSlug, ddl.WithUnique[CategoryColumnAlias]()) parentIdCol := schema.NullBigIntColumn(CategoryColumnParentId) return CategorysTable{ Table: schema.NewTable[CategoryAlias, CategoryColumnAlias, *CategoryScanner]( CategoryAliasName, func() *CategoryScanner { return &CategoryScanner{} }, []*ddl.ColumnDDL[CategoryColumnAlias]{ idCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), nameCol.DDL(), slugCol.DDL(), parentIdCol.DDL(), }, ), Id: idCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, Name: nameCol, Slug: slugCol, ParentId: parentIdCol, } }()
Categorys is the global categories table instance
var CategorysRef schema.RelationTableAlias[CategoryAlias] = Categorys.Table
CategorysRef is a reference to the categories table for relations
var Currencys = func() CurrencysTable { codeCol := schema.TextColumn(CurrencyColumnCode, ddl.WithPrimaryKey[CurrencyColumnAlias]()) nameCol := schema.TextColumn(CurrencyColumnName) return CurrencysTable{ Table: schema.NewTable[CurrencyAlias, CurrencyColumnAlias, *CurrencyScanner]( CurrencyAliasName, func() *CurrencyScanner { return &CurrencyScanner{} }, []*ddl.ColumnDDL[CurrencyColumnAlias]{ codeCol.DDL(), nameCol.DDL(), }, ), Code: codeCol, Name: nameCol, } }()
Currencys is the global currency table instance
var CurrencysRef schema.RelationTableAlias[CurrencyAlias] = Currencys.Table
CurrencysRef is a reference to the currency table for relations
var File_examples_proto_store_proto protoreflect.FileDescriptor
var OrderItems = func() OrderItemsTable { orderIdCol := schema.BigIntColumn(OrderItemColumnOrderId) lineNoCol := schema.IntegerColumn(OrderItemColumnLineNo) productIdCol := schema.BigIntColumn(OrderItemColumnProductId) qtyCol := schema.IntegerColumn(OrderItemColumnQty) unitPriceCol := schema.DoublePrecisionColumn(OrderItemColumnUnitPrice) return OrderItemsTable{ Table: schema.NewTable[OrderItemAlias, OrderItemColumnAlias, *OrderItemScanner]( OrderItemAliasName, func() *OrderItemScanner { return &OrderItemScanner{} }, []*ddl.ColumnDDL[OrderItemColumnAlias]{ orderIdCol.DDL(), lineNoCol.DDL(), productIdCol.DDL(), qtyCol.DDL(), unitPriceCol.DDL(), }, ddl.WithUniqueColumns[OrderItemAlias, OrderItemColumnAlias]( []OrderItemColumnAlias{OrderItemColumnOrderId, OrderItemColumnProductId}, ), ddl.WithPrimaryKeyColumns[OrderItemAlias, OrderItemColumnAlias]([]OrderItemColumnAlias{OrderItemColumnOrderId, OrderItemColumnLineNo}), ), OrderId: orderIdCol, LineNo: lineNoCol, ProductId: productIdCol, Qty: qtyCol, UnitPrice: unitPriceCol, } }()
OrderItems is the global order_items table instance
var OrderItemsRef schema.RelationTableAlias[OrderItemAlias] = OrderItems.Table
OrderItemsRef is a reference to the order_items table for relations
var Orders = func() OrdersTable { idCol := schema.BigSerialColumn(OrderColumnId, ddl.WithPrimaryKey[OrderColumnAlias]()) createdAtCol := schema.TimestamptzColumn(OrderColumnCreatedAt, ddl.WithDefault[OrderColumnAlias]("now()")) updatedAtCol := schema.TimestamptzColumn(OrderColumnUpdatedAt, ddl.WithDefault[OrderColumnAlias]("now()")) userIdCol := schema.BigIntColumn(OrderColumnUserId) statusCol := schema.TextColumn(OrderColumnStatus, ddl.WithDefault[OrderColumnAlias]("'NEW'")) currencyCol := schema.TextColumn(OrderColumnCurrency) idx0 := ddl.NewIndex[OrderAlias, OrderColumnAlias]("idx_orders_user_id", OrderAliasName).OnColumns(OrderColumnUserId) idx1 := ddl.NewIndex[OrderAlias, OrderColumnAlias]("idx_orders_status", OrderAliasName).OnColumns(OrderColumnStatus) idx2 := ddl.NewIndex[OrderAlias, OrderColumnAlias]("idx_orders_created_at", OrderAliasName).OnColumns(OrderColumnCreatedAt) return OrdersTable{ Table: schema.NewTable[OrderAlias, OrderColumnAlias, *OrderScanner]( OrderAliasName, func() *OrderScanner { return &OrderScanner{} }, []*ddl.ColumnDDL[OrderColumnAlias]{ idCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), userIdCol.DDL(), statusCol.DDL(), currencyCol.DDL(), }, ddl.WithIndexes[OrderAlias, OrderColumnAlias]( idx0, idx1, idx2, ), ), Id: idCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, UserId: userIdCol, Status: statusCol, Currency: currencyCol, } }()
Orders is the global orders table instance
var OrdersRef schema.RelationTableAlias[OrderAlias] = Orders.Table
OrdersRef is a reference to the orders table for relations
var Products = func() ProductsTable { idCol := schema.BigSerialColumn(ProductColumnId, ddl.WithPrimaryKey[ProductColumnAlias]()) createdAtCol := schema.TimestamptzColumn(ProductColumnCreatedAt, ddl.WithDefault[ProductColumnAlias]("now()")) updatedAtCol := schema.TimestamptzColumn(ProductColumnUpdatedAt, ddl.WithDefault[ProductColumnAlias]("now()")) skuCol := schema.TextColumn(ProductColumnSku, ddl.WithUnique[ProductColumnAlias]()) nameCol := schema.TextColumn(ProductColumnName) priceCol := schema.DoublePrecisionColumn(ProductColumnPrice) currencyCol := schema.TextColumn(ProductColumnCurrency) stockQtyCol := schema.IntegerColumn(ProductColumnStockQty, ddl.WithDefault[ProductColumnAlias]("0")) isDeletedCol := schema.BooleanColumn(ProductColumnIsDeleted, ddl.WithDefault[ProductColumnAlias]("false")) idx0 := ddl.NewIndex[ProductAlias, ProductColumnAlias]("idx_products_sku", ProductAliasName).OnColumns(ProductColumnSku) idx1 := ddl.NewIndex[ProductAlias, ProductColumnAlias]("idx_products_currency", ProductAliasName).OnColumns(ProductColumnCurrency) idx2 := ddl.NewIndex[ProductAlias, ProductColumnAlias]("idx_products_is_deleted_created_at", ProductAliasName).OnColumns(ProductColumnIsDeleted, ProductColumnCreatedAt) idx2 = idx2.Where("is_deleted = false") return ProductsTable{ Table: schema.NewTable[ProductAlias, ProductColumnAlias, *ProductScanner]( ProductAliasName, func() *ProductScanner { return &ProductScanner{} }, []*ddl.ColumnDDL[ProductColumnAlias]{ idCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), skuCol.DDL(), nameCol.DDL(), priceCol.DDL(), currencyCol.DDL(), stockQtyCol.DDL(), isDeletedCol.DDL(), }, ddl.WithIndexes[ProductAlias, ProductColumnAlias]( idx0, idx1, idx2, ), ), Id: idCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, Sku: skuCol, Name: nameCol, Price: priceCol, Currency: currencyCol, StockQty: stockQtyCol, IsDeleted: isDeletedCol, } }()
Products is the global products table instance
var ProductsRef schema.RelationTableAlias[ProductAlias] = Products.Table
ProductsRef is a reference to the products table for relations
var Tags = func() TagsTable { idCol := schema.BigSerialColumn(TagColumnId, ddl.WithPrimaryKey[TagColumnAlias]()) createdAtCol := schema.TimestamptzColumn(TagColumnCreatedAt, ddl.WithDefault[TagColumnAlias]("now()")) updatedAtCol := schema.TimestamptzColumn(TagColumnUpdatedAt, ddl.WithDefault[TagColumnAlias]("now()")) nameCol := schema.TextColumn(TagColumnName) slugCol := schema.TextColumn(TagColumnSlug, ddl.WithUnique[TagColumnAlias]()) return TagsTable{ Table: schema.NewTable[TagAlias, TagColumnAlias, *TagScanner]( TagAliasName, func() *TagScanner { return &TagScanner{} }, []*ddl.ColumnDDL[TagColumnAlias]{ idCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), nameCol.DDL(), slugCol.DDL(), }, ), Id: idCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, Name: nameCol, Slug: slugCol, } }()
Tags is the global tags table instance
var TagsRef schema.RelationTableAlias[TagAlias] = Tags.Table
TagsRef is a reference to the tags table for relations
var Users = func() UsersTable { idCol := schema.BigSerialColumn(UserColumnId, ddl.WithPrimaryKey[UserColumnAlias]()) createdAtCol := schema.TimestamptzColumn(UserColumnCreatedAt, ddl.WithDefault[UserColumnAlias]("now()")) updatedAtCol := schema.TimestamptzColumn(UserColumnUpdatedAt, ddl.WithDefault[UserColumnAlias]("now()")) emailCol := schema.TextColumn(UserColumnEmail, ddl.WithUnique[UserColumnAlias]()) fullNameCol := schema.TextColumn(UserColumnFullName) isActiveCol := schema.BooleanColumn(UserColumnIsActive, ddl.WithDefault[UserColumnAlias]("true")) idx0 := ddl.NewIndex[UserAlias, UserColumnAlias]("idx_users_email", UserAliasName).OnColumns(UserColumnEmail) idx0 = idx0.Unique() idx1 := ddl.NewIndex[UserAlias, UserColumnAlias]("idx_users_is_active_created_at", UserAliasName).OnColumns(UserColumnIsActive, UserColumnCreatedAt) return UsersTable{ Table: schema.NewTable[UserAlias, UserColumnAlias, *UserScanner]( UserAliasName, func() *UserScanner { return &UserScanner{} }, []*ddl.ColumnDDL[UserColumnAlias]{ idCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), emailCol.DDL(), fullNameCol.DDL(), isActiveCol.DDL(), }, ddl.WithIndexes[UserAlias, UserColumnAlias]( idx0, idx1, ), ), Id: idCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, Email: emailCol, FullName: fullNameCol, IsActive: isActiveCol, } }()
Users is the global users table instance
var UsersRef schema.RelationTableAlias[UserAlias] = Users.Table
UsersRef is a reference to the users table for relations
Functions ¶
This section is empty.
Types ¶
type BaseEntity ¶
type BaseEntity struct {
Id *EntityID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Timestamps *Timestamps `protobuf:"bytes,2,opt,name=timestamps,proto3" json:"timestamps,omitempty"`
// contains filtered or unexported fields
}
============================================================================ BaseEntity - базовая сущность с ID и timestamps (nested embed) ============================================================================
func (*BaseEntity) Descriptor
deprecated
func (*BaseEntity) Descriptor() ([]byte, []int)
Deprecated: Use BaseEntity.ProtoReflect.Descriptor instead.
func (*BaseEntity) GetId ¶
func (x *BaseEntity) GetId() *EntityID
func (*BaseEntity) GetTimestamps ¶
func (x *BaseEntity) GetTimestamps() *Timestamps
func (*BaseEntity) IntoPlain ¶
func (pb *BaseEntity) IntoPlain() *BaseEntityScanner
IntoPlain converts protobuf message to plain struct
func (*BaseEntity) ProtoMessage ¶
func (*BaseEntity) ProtoMessage()
func (*BaseEntity) ProtoReflect ¶
func (x *BaseEntity) ProtoReflect() protoreflect.Message
func (*BaseEntity) Reset ¶
func (x *BaseEntity) Reset()
func (*BaseEntity) String ¶
func (x *BaseEntity) String() string
type BaseEntityScanner ¶
type BaseEntityScanner struct {
Id int64 `json:"id"` // origin: type_alias, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
============================================================================
BaseEntity - базовая сущность с ID и timestamps (nested embed) ============================================================================
func (*BaseEntityScanner) IntoPb ¶
func (p *BaseEntityScanner) IntoPb() *BaseEntity
IntoPb converts plain struct to protobuf message
type Category ¶
type Category struct {
// Embedded BaseEntity (id + timestamps)
Base *BaseEntity `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
ParentId *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Category - категория товаров (с BaseEntity) ============================================================================
func (*Category) Descriptor
deprecated
func (*Category) GetBase ¶
func (x *Category) GetBase() *BaseEntity
func (*Category) GetParentId ¶
func (x *Category) GetParentId() *wrapperspb.Int64Value
func (*Category) IntoPlain ¶
func (pb *Category) IntoPlain() *CategoryScanner
IntoPlain converts protobuf message to plain struct
func (*Category) ProtoMessage ¶
func (*Category) ProtoMessage()
func (*Category) ProtoReflect ¶
func (x *Category) ProtoReflect() protoreflect.Message
type CategoryAlias ¶
type CategoryAlias string
CategoryAlias is the table alias type for the categories table
const CategoryAliasName CategoryAlias = "categories"
func (CategoryAlias) String ¶
func (a CategoryAlias) String() string
type CategoryColumnAlias ¶
type CategoryColumnAlias string
CategoryColumnAlias represents column names for the categories table
const ( CategoryColumnId CategoryColumnAlias = "id" CategoryColumnCreatedAt CategoryColumnAlias = "created_at" CategoryColumnUpdatedAt CategoryColumnAlias = "updated_at" CategoryColumnName CategoryColumnAlias = "name" CategoryColumnSlug CategoryColumnAlias = "slug" CategoryColumnParentId CategoryColumnAlias = "parent_id" )
func (CategoryColumnAlias) String ¶
func (c CategoryColumnAlias) String() string
type CategoryScanner ¶
type CategoryScanner struct {
Id int64 `json:"id"` // origin: embed, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Name string `json:"name"`
Slug string `json:"slug"`
ParentId int64 `json:"parentId"`
}
============================================================================
Category - категория товаров (с BaseEntity) ============================================================================
func (*CategoryScanner) GetSetter ¶
func (s *CategoryScanner) GetSetter(f CategoryColumnAlias) func() set.ValueSetter[CategoryColumnAlias]
func (*CategoryScanner) GetTarget ¶
func (s *CategoryScanner) GetTarget(col string) func() any
func (*CategoryScanner) GetValue ¶
func (s *CategoryScanner) GetValue(f CategoryColumnAlias) func() any
func (*CategoryScanner) IntoPb ¶
func (p *CategoryScanner) IntoPb() *Category
IntoPb converts plain struct to protobuf message
func (*CategoryScanner) Relations ¶
func (s *CategoryScanner) Relations() []exec.RelationLoader[*CategoryScanner]
Relations returns the relation loaders for the categories table
type CategorysTable ¶
type CategorysTable struct {
*schema.Table[CategoryAlias, CategoryColumnAlias, *CategoryScanner]
Id schema.BigSerialColumnI[CategoryColumnAlias]
CreatedAt schema.TimestamptzColumnI[CategoryColumnAlias]
UpdatedAt schema.TimestamptzColumnI[CategoryColumnAlias]
Name schema.TextColumnI[CategoryColumnAlias]
Slug schema.TextColumnI[CategoryColumnAlias]
ParentId schema.NullBigIntColumnI[CategoryColumnAlias]
}
CategorysTable represents the categories table with its columns
type Currency ¶
type Currency struct {
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Currency - справочник валют (не использует BaseEntity) ============================================================================
func (*Currency) Descriptor
deprecated
func (*Currency) IntoPlain ¶
func (pb *Currency) IntoPlain() *CurrencyScanner
IntoPlain converts protobuf message to plain struct
func (*Currency) ProtoMessage ¶
func (*Currency) ProtoMessage()
func (*Currency) ProtoReflect ¶
func (x *Currency) ProtoReflect() protoreflect.Message
type CurrencyAlias ¶
type CurrencyAlias string
CurrencyAlias is the table alias type for the currency table
const CurrencyAliasName CurrencyAlias = "currency"
func (CurrencyAlias) String ¶
func (a 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 ¶
============================================================================
Currency - справочник валют (не использует BaseEntity) ============================================================================
func (*CurrencyScanner) GetSetter ¶
func (s *CurrencyScanner) GetSetter(f CurrencyColumnAlias) func() set.ValueSetter[CurrencyColumnAlias]
func (*CurrencyScanner) GetTarget ¶
func (s *CurrencyScanner) GetTarget(col string) func() any
func (*CurrencyScanner) GetValue ¶
func (s *CurrencyScanner) GetValue(f CurrencyColumnAlias) func() any
func (*CurrencyScanner) IntoPb ¶
func (p *CurrencyScanner) IntoPb() *Currency
IntoPb converts plain struct to protobuf message
func (*CurrencyScanner) Relations ¶
func (s *CurrencyScanner) Relations() []exec.RelationLoader[*CurrencyScanner]
Relations returns the relation loaders for the currency table
type CurrencysTable ¶
type CurrencysTable struct {
*schema.Table[CurrencyAlias, CurrencyColumnAlias, *CurrencyScanner]
Code schema.TextColumnI[CurrencyColumnAlias]
Name schema.TextColumnI[CurrencyColumnAlias]
}
CurrencysTable represents the currency table with its columns
type EntityID ¶
type EntityID struct {
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
// contains filtered or unexported fields
}
EntityID - базовый type alias для ID сущностей
func (*EntityID) Descriptor
deprecated
func (*EntityID) ProtoMessage ¶
func (*EntityID) ProtoMessage()
func (*EntityID) ProtoReflect ¶
func (x *EntityID) ProtoReflect() protoreflect.Message
type Order ¶
type Order struct {
// Embedded BaseEntity (id + timestamps)
Base *BaseEntity `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
UserId *EntityID `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // FK to users.id
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
Currency string `protobuf:"bytes,4,opt,name=currency,proto3" json:"currency,omitempty"` // FK to currency.code
// OneToMany: Order has many OrderItems
Items []*OrderItem `protobuf:"bytes,10,rep,name=items,proto3" json:"items,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Order - заказ (с BaseEntity) ============================================================================
func (*Order) Descriptor
deprecated
func (*Order) GetBase ¶
func (x *Order) GetBase() *BaseEntity
func (*Order) GetCurrency ¶
func (*Order) IntoPlain ¶
func (pb *Order) IntoPlain() *OrderScanner
IntoPlain converts protobuf message to plain struct
func (*Order) ProtoMessage ¶
func (*Order) ProtoMessage()
func (*Order) ProtoReflect ¶
func (x *Order) ProtoReflect() protoreflect.Message
type OrderAlias ¶
type OrderAlias string
OrderAlias is the table alias type for the orders table
const OrderAliasName OrderAlias = "orders"
func (OrderAlias) String ¶
func (a OrderAlias) String() string
type OrderColumnAlias ¶
type OrderColumnAlias string
OrderColumnAlias represents column names for the orders table
const ( OrderColumnId OrderColumnAlias = "id" OrderColumnCreatedAt OrderColumnAlias = "created_at" OrderColumnUpdatedAt OrderColumnAlias = "updated_at" OrderColumnUserId OrderColumnAlias = "user_id" OrderColumnStatus OrderColumnAlias = "status" OrderColumnCurrency OrderColumnAlias = "currency" )
func (OrderColumnAlias) String ¶
func (c OrderColumnAlias) String() string
type OrderItem ¶
type OrderItem struct {
OrderId *EntityID `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"` // FK to orders.id
LineNo int32 `protobuf:"varint,2,opt,name=line_no,json=lineNo,proto3" json:"line_no,omitempty"`
ProductId *EntityID `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` // FK to products.id
Qty int32 `protobuf:"varint,4,opt,name=qty,proto3" json:"qty,omitempty"`
UnitPrice float64 `protobuf:"fixed64,5,opt,name=unit_price,json=unitPrice,proto3" json:"unit_price,omitempty"`
// contains filtered or unexported fields
}
============================================================================ OrderItem - позиция заказа (без BaseEntity - композитный PK) ============================================================================
func (*OrderItem) Descriptor
deprecated
func (*OrderItem) GetOrderId ¶
func (*OrderItem) GetProductId ¶
func (*OrderItem) GetUnitPrice ¶
func (*OrderItem) IntoPlain ¶
func (pb *OrderItem) IntoPlain() *OrderItemScanner
IntoPlain converts protobuf message to plain struct
func (*OrderItem) ProtoMessage ¶
func (*OrderItem) ProtoMessage()
func (*OrderItem) ProtoReflect ¶
func (x *OrderItem) ProtoReflect() protoreflect.Message
type OrderItemAlias ¶
type OrderItemAlias string
OrderItemAlias is the table alias type for the order_items table
const OrderItemAliasName OrderItemAlias = "order_items"
func (OrderItemAlias) String ¶
func (a OrderItemAlias) String() string
type OrderItemColumnAlias ¶
type OrderItemColumnAlias string
OrderItemColumnAlias represents column names for the order_items table
const ( OrderItemColumnOrderId OrderItemColumnAlias = "order_id" OrderItemColumnLineNo OrderItemColumnAlias = "line_no" OrderItemColumnProductId OrderItemColumnAlias = "product_id" OrderItemColumnQty OrderItemColumnAlias = "qty" OrderItemColumnUnitPrice OrderItemColumnAlias = "unit_price" )
func (OrderItemColumnAlias) String ¶
func (c OrderItemColumnAlias) String() string
type OrderItemScanner ¶
type OrderItemScanner struct {
OrderId int64 `json:"orderId"` // origin: type_alias, empath: order_id
LineNo int32 `json:"lineNo"`
ProductId int64 `json:"productId"` // origin: type_alias, empath: product_id
Qty int32 `json:"qty"`
UnitPrice float64 `json:"unitPrice"`
}
============================================================================
OrderItem - позиция заказа (без BaseEntity - композитный PK) ============================================================================
func (*OrderItemScanner) GetSetter ¶
func (s *OrderItemScanner) GetSetter(f OrderItemColumnAlias) func() set.ValueSetter[OrderItemColumnAlias]
func (*OrderItemScanner) GetTarget ¶
func (s *OrderItemScanner) GetTarget(col string) func() any
func (*OrderItemScanner) GetValue ¶
func (s *OrderItemScanner) GetValue(f OrderItemColumnAlias) func() any
func (*OrderItemScanner) IntoPb ¶
func (p *OrderItemScanner) IntoPb() *OrderItem
IntoPb converts plain struct to protobuf message
func (*OrderItemScanner) Relations ¶
func (s *OrderItemScanner) Relations() []exec.RelationLoader[*OrderItemScanner]
Relations returns the relation loaders for the order_items table
type OrderItemsTable ¶
type OrderItemsTable struct {
*schema.Table[OrderItemAlias, OrderItemColumnAlias, *OrderItemScanner]
OrderId schema.BigIntColumnI[OrderItemColumnAlias]
LineNo schema.IntegerColumnI[OrderItemColumnAlias]
ProductId schema.BigIntColumnI[OrderItemColumnAlias]
Qty schema.IntegerColumnI[OrderItemColumnAlias]
UnitPrice schema.DoublePrecisionColumnI[OrderItemColumnAlias]
}
OrderItemsTable represents the order_items table with its columns
type OrderScanner ¶
type OrderScanner struct {
Id int64 `json:"id"` // origin: embed, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
UserId int64 `json:"userId"` // origin: type_alias, empath: user_id
Status string `json:"status"`
Currency string `json:"currency"`
Items []OrderItemScanner `json:"items"`
}
============================================================================
Order - заказ (с BaseEntity) ============================================================================
func (*OrderScanner) GetSetter ¶
func (s *OrderScanner) GetSetter(f OrderColumnAlias) func() set.ValueSetter[OrderColumnAlias]
func (*OrderScanner) GetTarget ¶
func (s *OrderScanner) GetTarget(col string) func() any
func (*OrderScanner) GetValue ¶
func (s *OrderScanner) GetValue(f OrderColumnAlias) func() any
func (*OrderScanner) IntoPb ¶
func (p *OrderScanner) IntoPb() *Order
IntoPb converts plain struct to protobuf message
func (*OrderScanner) Relations ¶
func (s *OrderScanner) Relations() []exec.RelationLoader[*OrderScanner]
Relations returns the relation loaders for the orders table
type OrdersTable ¶
type OrdersTable struct {
*schema.Table[OrderAlias, OrderColumnAlias, *OrderScanner]
Id schema.BigSerialColumnI[OrderColumnAlias]
CreatedAt schema.TimestamptzColumnI[OrderColumnAlias]
UpdatedAt schema.TimestamptzColumnI[OrderColumnAlias]
UserId schema.BigIntColumnI[OrderColumnAlias]
Status schema.TextColumnI[OrderColumnAlias]
Currency schema.TextColumnI[OrderColumnAlias]
}
OrdersTable represents the orders table with its columns
type Product ¶
type Product struct {
// Embedded BaseEntity (id + timestamps)
Base *BaseEntity `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Sku string `protobuf:"bytes,2,opt,name=sku,proto3" json:"sku,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Price float64 `protobuf:"fixed64,4,opt,name=price,proto3" json:"price,omitempty"`
Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` // FK to currency.code
StockQty int32 `protobuf:"varint,6,opt,name=stock_qty,json=stockQty,proto3" json:"stock_qty,omitempty"`
IsDeleted bool `protobuf:"varint,7,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
// ManyToMany: Product has many Categories
Categories []*Category `protobuf:"bytes,10,rep,name=categories,proto3" json:"categories,omitempty"`
// ManyToMany: Product has many Tags
Tags []*Tag `protobuf:"bytes,11,rep,name=tags,proto3" json:"tags,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Product - товар (с BaseEntity) ============================================================================
func (*Product) Descriptor
deprecated
func (*Product) GetBase ¶
func (x *Product) GetBase() *BaseEntity
func (*Product) GetCategories ¶
func (*Product) GetCurrency ¶
func (*Product) GetIsDeleted ¶
func (*Product) GetStockQty ¶
func (*Product) IntoPlain ¶
func (pb *Product) IntoPlain() *ProductScanner
IntoPlain converts protobuf message to plain struct
func (*Product) ProtoMessage ¶
func (*Product) ProtoMessage()
func (*Product) ProtoReflect ¶
func (x *Product) ProtoReflect() protoreflect.Message
type ProductAlias ¶
type ProductAlias string
ProductAlias is the table alias type for the products table
const ProductAliasName ProductAlias = "products"
func (ProductAlias) String ¶
func (a ProductAlias) String() string
type ProductColumnAlias ¶
type ProductColumnAlias string
ProductColumnAlias represents column names for the products table
const ( ProductColumnId ProductColumnAlias = "id" ProductColumnCreatedAt ProductColumnAlias = "created_at" ProductColumnUpdatedAt ProductColumnAlias = "updated_at" ProductColumnSku ProductColumnAlias = "sku" ProductColumnName ProductColumnAlias = "name" ProductColumnPrice ProductColumnAlias = "price" ProductColumnCurrency ProductColumnAlias = "currency" ProductColumnStockQty ProductColumnAlias = "stock_qty" ProductColumnIsDeleted ProductColumnAlias = "is_deleted" )
func (ProductColumnAlias) String ¶
func (c ProductColumnAlias) String() string
type ProductScanner ¶
type ProductScanner struct {
Id int64 `json:"id"` // origin: embed, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Sku string `json:"sku"`
Name string `json:"name"`
Price float64 `json:"price"`
Currency string `json:"currency"`
StockQty int32 `json:"stockQty"`
IsDeleted bool `json:"isDeleted"`
Categories []CategoryScanner `json:"categories"`
Tags []TagScanner `json:"tags"`
}
============================================================================
Product - товар (с BaseEntity) ============================================================================
func (*ProductScanner) GetSetter ¶
func (s *ProductScanner) GetSetter(f ProductColumnAlias) func() set.ValueSetter[ProductColumnAlias]
func (*ProductScanner) GetTarget ¶
func (s *ProductScanner) GetTarget(col string) func() any
func (*ProductScanner) GetValue ¶
func (s *ProductScanner) GetValue(f ProductColumnAlias) func() any
func (*ProductScanner) IntoPb ¶
func (p *ProductScanner) IntoPb() *Product
IntoPb converts plain struct to protobuf message
func (*ProductScanner) Relations ¶
func (s *ProductScanner) Relations() []exec.RelationLoader[*ProductScanner]
Relations returns the relation loaders for the products table
type ProductsTable ¶
type ProductsTable struct {
*schema.Table[ProductAlias, ProductColumnAlias, *ProductScanner]
Id schema.BigSerialColumnI[ProductColumnAlias]
CreatedAt schema.TimestamptzColumnI[ProductColumnAlias]
UpdatedAt schema.TimestamptzColumnI[ProductColumnAlias]
Sku schema.TextColumnI[ProductColumnAlias]
Name schema.TextColumnI[ProductColumnAlias]
Price schema.DoublePrecisionColumnI[ProductColumnAlias]
Currency schema.TextColumnI[ProductColumnAlias]
StockQty schema.IntegerColumnI[ProductColumnAlias]
IsDeleted schema.BooleanColumnI[ProductColumnAlias]
}
ProductsTable represents the products table with its columns
type Tag ¶
type Tag struct {
// Embedded BaseEntity (id + timestamps)
Base *BaseEntity `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Tag - тег для товаров (с BaseEntity) ============================================================================
func (*Tag) Descriptor
deprecated
func (*Tag) GetBase ¶
func (x *Tag) GetBase() *BaseEntity
func (*Tag) IntoPlain ¶
func (pb *Tag) IntoPlain() *TagScanner
IntoPlain converts protobuf message to plain struct
func (*Tag) ProtoMessage ¶
func (*Tag) ProtoMessage()
func (*Tag) ProtoReflect ¶
func (x *Tag) ProtoReflect() protoreflect.Message
type TagAlias ¶
type TagAlias string
TagAlias is the table alias type for the tags table
const TagAliasName TagAlias = "tags"
type TagColumnAlias ¶
type TagColumnAlias string
TagColumnAlias represents column names for the tags table
const ( TagColumnId TagColumnAlias = "id" TagColumnCreatedAt TagColumnAlias = "created_at" TagColumnUpdatedAt TagColumnAlias = "updated_at" TagColumnName TagColumnAlias = "name" TagColumnSlug TagColumnAlias = "slug" )
func (TagColumnAlias) String ¶
func (c TagColumnAlias) String() string
type TagScanner ¶
type TagScanner struct {
Id int64 `json:"id"` // origin: embed, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Name string `json:"name"`
Slug string `json:"slug"`
}
============================================================================
Tag - тег для товаров (с BaseEntity) ============================================================================
func (*TagScanner) GetSetter ¶
func (s *TagScanner) GetSetter(f TagColumnAlias) func() set.ValueSetter[TagColumnAlias]
func (*TagScanner) GetTarget ¶
func (s *TagScanner) GetTarget(col string) func() any
func (*TagScanner) GetValue ¶
func (s *TagScanner) GetValue(f TagColumnAlias) func() any
func (*TagScanner) IntoPb ¶
func (p *TagScanner) IntoPb() *Tag
IntoPb converts plain struct to protobuf message
func (*TagScanner) Relations ¶
func (s *TagScanner) Relations() []exec.RelationLoader[*TagScanner]
Relations returns the relation loaders for the tags table
type TagsTable ¶
type TagsTable struct {
*schema.Table[TagAlias, TagColumnAlias, *TagScanner]
Id schema.BigSerialColumnI[TagColumnAlias]
CreatedAt schema.TimestamptzColumnI[TagColumnAlias]
UpdatedAt schema.TimestamptzColumnI[TagColumnAlias]
Name schema.TextColumnI[TagColumnAlias]
Slug schema.TextColumnI[TagColumnAlias]
}
TagsTable represents the tags table with its columns
type Timestamps ¶
type Timestamps struct {
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
// contains filtered or unexported fields
}
============================================================================ Timestamps - embedded message для created_at/updated_at ============================================================================
func (*Timestamps) Descriptor
deprecated
func (*Timestamps) Descriptor() ([]byte, []int)
Deprecated: Use Timestamps.ProtoReflect.Descriptor instead.
func (*Timestamps) GetCreatedAt ¶
func (x *Timestamps) GetCreatedAt() *timestamppb.Timestamp
func (*Timestamps) GetUpdatedAt ¶
func (x *Timestamps) GetUpdatedAt() *timestamppb.Timestamp
func (*Timestamps) IntoPlain ¶
func (pb *Timestamps) IntoPlain() *TimestampsScanner
IntoPlain converts protobuf message to plain struct
func (*Timestamps) ProtoMessage ¶
func (*Timestamps) ProtoMessage()
func (*Timestamps) ProtoReflect ¶
func (x *Timestamps) ProtoReflect() protoreflect.Message
func (*Timestamps) Reset ¶
func (x *Timestamps) Reset()
func (*Timestamps) String ¶
func (x *Timestamps) String() string
type TimestampsScanner ¶
type TimestampsScanner struct {
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
============================================================================
Timestamps - embedded message для created_at/updated_at ============================================================================
func (*TimestampsScanner) IntoPb ¶
func (p *TimestampsScanner) IntoPb() *Timestamps
IntoPb converts plain struct to protobuf message
type User ¶
type User struct {
// Embedded BaseEntity (id + timestamps)
Base *BaseEntity `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
FullName string `protobuf:"bytes,3,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"`
IsActive bool `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
// OneToMany: User has many Orders
Orders []*Order `protobuf:"bytes,10,rep,name=orders,proto3" json:"orders,omitempty"`
// contains filtered or unexported fields
}
============================================================================ User - пользователь системы (с BaseEntity) ============================================================================
func (*User) Descriptor
deprecated
func (*User) GetBase ¶
func (x *User) GetBase() *BaseEntity
func (*User) GetFullName ¶
func (*User) GetIsActive ¶
func (*User) IntoPlain ¶
func (pb *User) IntoPlain() *UserScanner
IntoPlain converts protobuf message to plain struct
func (*User) ProtoMessage ¶
func (*User) ProtoMessage()
func (*User) ProtoReflect ¶
func (x *User) ProtoReflect() protoreflect.Message
type UserAlias ¶
type UserAlias string
UserAlias is the table alias type for the users table
const UserAliasName UserAlias = "users"
type UserColumnAlias ¶
type UserColumnAlias string
UserColumnAlias represents column names for the users table
const ( UserColumnId UserColumnAlias = "id" UserColumnCreatedAt UserColumnAlias = "created_at" UserColumnUpdatedAt UserColumnAlias = "updated_at" UserColumnEmail UserColumnAlias = "email" UserColumnFullName UserColumnAlias = "full_name" UserColumnIsActive UserColumnAlias = "is_active" )
func (UserColumnAlias) String ¶
func (c UserColumnAlias) String() string
type UserScanner ¶
type UserScanner struct {
Id int64 `json:"id"` // origin: embed, empath: id
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Email string `json:"email"`
FullName string `json:"fullName"`
IsActive bool `json:"isActive"`
Orders []OrderScanner `json:"orders"`
}
============================================================================
User - пользователь системы (с BaseEntity) ============================================================================
func (*UserScanner) GetSetter ¶
func (s *UserScanner) GetSetter(f UserColumnAlias) func() set.ValueSetter[UserColumnAlias]
func (*UserScanner) GetTarget ¶
func (s *UserScanner) GetTarget(col string) func() any
func (*UserScanner) GetValue ¶
func (s *UserScanner) GetValue(f UserColumnAlias) func() any
func (*UserScanner) IntoPb ¶
func (p *UserScanner) IntoPb() *User
IntoPb converts plain struct to protobuf message
func (*UserScanner) Relations ¶
func (s *UserScanner) Relations() []exec.RelationLoader[*UserScanner]
Relations returns the relation loaders for the users table
type UsersTable ¶
type UsersTable struct {
*schema.Table[UserAlias, UserColumnAlias, *UserScanner]
Id schema.BigSerialColumnI[UserColumnAlias]
CreatedAt schema.TimestamptzColumnI[UserColumnAlias]
UpdatedAt schema.TimestamptzColumnI[UserColumnAlias]
Email schema.TextColumnI[UserColumnAlias]
FullName schema.TextColumnI[UserColumnAlias]
IsActive schema.BooleanColumnI[UserColumnAlias]
}
UsersTable represents the users table with its columns