ent

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Operation types.
	OpCreate    = ent.OpCreate
	OpDelete    = ent.OpDelete
	OpDeleteOne = ent.OpDeleteOne
	OpUpdate    = ent.OpUpdate
	OpUpdateOne = ent.OpUpdateOne

	// Node types.
	TypeMenu = "Menu"
	TypeUser = "User"
)

Variables

View Source
var ErrTxStarted = errors.New("ent: cannot start a transaction within a transaction")

ErrTxStarted is returned when trying to start a new transaction from a transactional client.

Functions

func Asc

func Asc(fields ...string) func(*sql.Selector)

Asc applies the given fields in ASC order.

func Desc

func Desc(fields ...string) func(*sql.Selector)

Desc applies the given fields in DESC order.

func IsConstraintError

func IsConstraintError(err error) bool

IsConstraintError returns a boolean indicating whether the error is a constraint failure.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns a boolean indicating whether the error is a not found error.

func IsNotLoaded

func IsNotLoaded(err error) bool

IsNotLoaded returns a boolean indicating whether the error is a not loaded error.

func IsNotSingular

func IsNotSingular(err error) bool

IsNotSingular returns a boolean indicating whether the error is a not singular error.

func IsValidationError

func IsValidationError(err error) bool

IsValidationError returns a boolean indicating whether the error is a validation error.

func MaskNotFound

func MaskNotFound(err error) error

MaskNotFound masks not found error.

func NewContext

func NewContext(parent context.Context, c *Client) context.Context

NewContext returns a new context with the given Client attached.

func NewTxContext

func NewTxContext(parent context.Context, tx *Tx) context.Context

NewTxContext returns a new context with the given Tx attached.

Types

type AggregateFunc

type AggregateFunc func(*sql.Selector) string

AggregateFunc applies an aggregation step on the group-by traversal/selector.

func As

As is a pseudo aggregation function for renaming another other functions with custom names. For example:

GroupBy(field1, field2).
Aggregate(ent.As(ent.Sum(field1), "sum_field1"), (ent.As(ent.Sum(field2), "sum_field2")).
Scan(ctx, &v)

func Count

func Count() AggregateFunc

Count applies the "count" aggregation function on each group.

func Max

func Max(field string) AggregateFunc

Max applies the "max" aggregation function on the given field of each group.

func Mean

func Mean(field string) AggregateFunc

Mean applies the "mean" aggregation function on the given field of each group.

func Min

func Min(field string) AggregateFunc

Min applies the "min" aggregation function on the given field of each group.

func Sum

func Sum(field string) AggregateFunc

Sum applies the "sum" aggregation function on the given field of each group.

type Client

type Client struct {

	// Schema is the client for creating, migrating and dropping schema.
	Schema *migrate.Schema
	// Menu is the client for interacting with the Menu builders.
	Menu *MenuClient
	// User is the client for interacting with the User builders.
	User *UserClient
	// contains filtered or unexported fields
}

Client is the client that holds all ent builders.

func FromContext

func FromContext(ctx context.Context) *Client

FromContext returns a Client stored inside a context, or nil if there isn't one.

func NewClient

func NewClient(opts ...Option) *Client

NewClient creates a new client configured with the given options.

func Open

func Open(driverName, dataSourceName string, options ...Option) (*Client, error)

Open opens a database/sql.DB specified by the driver name and the data source name, and returns a new client attached to it. Optional parameters can be added for configuring the client.

func (*Client) BeginTx

func (c *Client) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error)

BeginTx returns a transactional client with specified options.

func (*Client) Close

func (c *Client) Close() error

Close closes the database connection and prevents new queries from starting.

func (*Client) Debug

func (c *Client) Debug() *Client

Debug returns a new debug-client. It's used to get verbose logging on specific operations.

client.Debug().
	Menu.
	Query().
	Count(ctx)

func (*Client) Intercept

func (c *Client) Intercept(interceptors ...Interceptor)

Intercept adds the query interceptors to all the entity clients. In order to add interceptors to a specific client, call: `client.Node.Intercept(...)`.

func (*Client) Mutate

func (c *Client) Mutate(ctx context.Context, m Mutation) (Value, error)

Mutate implements the ent.Mutator interface.

func (*Client) Tx

func (c *Client) Tx(ctx context.Context) (*Tx, error)

Tx returns a new transactional client. The provided context is used until the transaction is committed or rolled back.

func (*Client) Use

func (c *Client) Use(hooks ...Hook)

Use adds the mutation hooks to all the entity clients. In order to add hooks to a specific client, call: `client.Node.Use(...)`.

type CommitFunc

type CommitFunc func(context.Context, *Tx) error

The CommitFunc type is an adapter to allow the use of ordinary function as a Committer. If f is a function with the appropriate signature, CommitFunc(f) is a Committer that calls f.

func (CommitFunc) Commit

func (f CommitFunc) Commit(ctx context.Context, tx *Tx) error

Commit calls f(ctx, m).

type CommitHook

type CommitHook func(Committer) Committer

CommitHook defines the "commit middleware". A function that gets a Committer and returns a Committer. For example:

hook := func(next ent.Committer) ent.Committer {
	return ent.CommitFunc(func(ctx context.Context, tx *ent.Tx) error {
		// Do some stuff before.
		if err := next.Commit(ctx, tx); err != nil {
			return err
		}
		// Do some stuff after.
		return nil
	})
}

type Committer

type Committer interface {
	Commit(context.Context, *Tx) error
}

Committer is the interface that wraps the Commit method.

type ConstraintError

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

ConstraintError returns when trying to create/update one or more entities and one or more of their constraints failed. For example, violation of edge or field uniqueness.

func (ConstraintError) Error

func (e ConstraintError) Error() string

Error implements the error interface.

func (*ConstraintError) Unwrap

func (e *ConstraintError) Unwrap() error

Unwrap implements the errors.Wrapper interface.

type Hook

type Hook = ent.Hook

ent aliases to avoid import conflicts in user's code.

type InterceptFunc

type InterceptFunc = ent.InterceptFunc

ent aliases to avoid import conflicts in user's code.

type Interceptor

type Interceptor = ent.Interceptor

ent aliases to avoid import conflicts in user's code.

type Menu struct {

	// ID of the ent.
	// id
	ID uint32 `json:"id,omitempty"`
	// 父节点ID
	ParentID *uint32 `json:"parent_id,omitempty"`
	// 树路径,规范: 根节点: /,非根节点: /1/2/3/(以 / 开头且以 / 结尾)。禁止空字符串(NULL 表示未设置)。
	Path *string `json:"path,omitempty"`
	// menu name
	Name string `json:"name,omitempty"`
	// Edges holds the relations/edges for other nodes in the graph.
	// The values are being populated by the MenuQuery when eager-loading is set.
	Edges MenuEdges `json:"edges"`
	// contains filtered or unexported fields
}

Menu is the model entity for the Menu schema.

func (_m *Menu) QueryChildren() *MenuQuery

QueryChildren queries the "children" edge of the Menu entity.

func (_m *Menu) QueryParent() *MenuQuery

QueryParent queries the "parent" edge of the Menu entity.

func (_m *Menu) String() string

String implements the fmt.Stringer.

func (_m *Menu) Unwrap() *Menu

Unwrap unwraps the Menu entity that was returned from a transaction after it was closed, so that all future queries will be executed through the driver which created the transaction.

func (_m *Menu) Update() *MenuUpdateOne

Update returns a builder for updating this Menu. Note that you need to call Menu.Unwrap() before calling this method if this Menu was returned from a transaction, and the transaction was committed or rolled back.

func (_m *Menu) Value(name string) (ent.Value, error)

Value returns the ent.Value that was dynamically selected and assigned to the Menu. This includes values selected through modifiers, order, etc.

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

MenuClient is a client for the Menu schema.

func NewMenuClient added in v0.0.3

func NewMenuClient(c config) *MenuClient

NewMenuClient returns a client for the Menu from the given config.

func (c *MenuClient) Create() *MenuCreate

Create returns a builder for creating a Menu entity.

func (c *MenuClient) CreateBulk(builders ...*MenuCreate) *MenuCreateBulk

CreateBulk returns a builder for creating a bulk of Menu entities.

func (c *MenuClient) Delete() *MenuDelete

Delete returns a delete builder for Menu.

func (c *MenuClient) DeleteOne(_m *Menu) *MenuDeleteOne

DeleteOne returns a builder for deleting the given entity.

func (c *MenuClient) DeleteOneID(id uint32) *MenuDeleteOne

DeleteOneID returns a builder for deleting the given entity by its id.

func (c *MenuClient) Get(ctx context.Context, id uint32) (*Menu, error)

Get returns a Menu entity by its id.

func (c *MenuClient) GetX(ctx context.Context, id uint32) *Menu

GetX is like Get, but panics if an error occurs.

func (c *MenuClient) Hooks() []Hook

Hooks returns the client hooks.

func (c *MenuClient) Intercept(interceptors ...Interceptor)

Intercept adds a list of query interceptors to the interceptors stack. A call to `Intercept(f, g, h)` equals to `menu.Intercept(f(g(h())))`.

func (c *MenuClient) Interceptors() []Interceptor

Interceptors returns the client interceptors.

func (c *MenuClient) MapCreateBulk(slice any, setFunc func(*MenuCreate, int)) *MenuCreateBulk

MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates a builder and applies setFunc on it.

func (c *MenuClient) Query() *MenuQuery

Query returns a query builder for Menu.

func (c *MenuClient) QueryChildren(_m *Menu) *MenuQuery

QueryChildren queries the children edge of a Menu.

func (c *MenuClient) QueryParent(_m *Menu) *MenuQuery

QueryParent queries the parent edge of a Menu.

func (c *MenuClient) Update() *MenuUpdate

Update returns an update builder for Menu.

func (c *MenuClient) UpdateOne(_m *Menu) *MenuUpdateOne

UpdateOne returns an update builder for the given entity.

func (c *MenuClient) UpdateOneID(id uint32) *MenuUpdateOne

UpdateOneID returns an update builder for the given id.

func (c *MenuClient) Use(hooks ...Hook)

Use adds a list of mutation hooks to the hooks stack. A call to `Use(f, g, h)` equals to `menu.Hooks(f(g(h())))`.

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

MenuCreate is the builder for creating a Menu entity.

func (_c *MenuCreate) AddChildIDs(ids ...uint32) *MenuCreate

AddChildIDs adds the "children" edge to the Menu entity by IDs.

func (_c *MenuCreate) AddChildren(v ...*Menu) *MenuCreate

AddChildren adds the "children" edges to the Menu entity.

func (_c *MenuCreate) Exec(ctx context.Context) error

Exec executes the query.

func (_c *MenuCreate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (_c *MenuCreate) Mutation() *MenuMutation

Mutation returns the MenuMutation object of the builder.

func (_c *MenuCreate) OnConflict(opts ...sql.ConflictOption) *MenuUpsertOne

OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause of the `INSERT` statement. For example:

client.Menu.Create().
	SetParentID(v).
	OnConflict(
		// Update the row with the new values
		// the was proposed for insertion.
		sql.ResolveWithNewValues(),
	).
	// Override some of the fields with custom
	// update values.
	Update(func(u *ent.MenuUpsert) {
		SetParentID(v+v).
	}).
	Exec(ctx)
func (_c *MenuCreate) OnConflictColumns(columns ...string) *MenuUpsertOne

OnConflictColumns calls `OnConflict` and configures the columns as conflict target. Using this option is equivalent to using:

client.Menu.Create().
	OnConflict(sql.ConflictColumns(columns...)).
	Exec(ctx)
func (_c *MenuCreate) Save(ctx context.Context) (*Menu, error)

Save creates the Menu in the database.

func (_c *MenuCreate) SaveX(ctx context.Context) *Menu

SaveX calls Save and panics if Save returns an error.

func (_c *MenuCreate) SetID(v uint32) *MenuCreate

SetID sets the "id" field.

func (_c *MenuCreate) SetName(v string) *MenuCreate

SetName sets the "name" field.

func (_c *MenuCreate) SetNillableParentID(v *uint32) *MenuCreate

SetNillableParentID sets the "parent_id" field if the given value is not nil.

func (_c *MenuCreate) SetNillablePath(v *string) *MenuCreate

SetNillablePath sets the "path" field if the given value is not nil.

func (_c *MenuCreate) SetParent(v *Menu) *MenuCreate

SetParent sets the "parent" edge to the Menu entity.

func (_c *MenuCreate) SetParentID(v uint32) *MenuCreate

SetParentID sets the "parent_id" field.

func (_c *MenuCreate) SetPath(v string) *MenuCreate

SetPath sets the "path" field.

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

MenuCreateBulk is the builder for creating many Menu entities in bulk.

func (_c *MenuCreateBulk) Exec(ctx context.Context) error

Exec executes the query.

func (_c *MenuCreateBulk) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (_c *MenuCreateBulk) OnConflict(opts ...sql.ConflictOption) *MenuUpsertBulk

OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause of the `INSERT` statement. For example:

client.Menu.CreateBulk(builders...).
	OnConflict(
		// Update the row with the new values
		// the was proposed for insertion.
		sql.ResolveWithNewValues(),
	).
	// Override some of the fields with custom
	// update values.
	Update(func(u *ent.MenuUpsert) {
		SetParentID(v+v).
	}).
	Exec(ctx)
func (_c *MenuCreateBulk) OnConflictColumns(columns ...string) *MenuUpsertBulk

OnConflictColumns calls `OnConflict` and configures the columns as conflict target. Using this option is equivalent to using:

client.Menu.Create().
	OnConflict(sql.ConflictColumns(columns...)).
	Exec(ctx)
func (_c *MenuCreateBulk) Save(ctx context.Context) ([]*Menu, error)

Save creates the Menu entities in the database.

func (_c *MenuCreateBulk) SaveX(ctx context.Context) []*Menu

SaveX is like Save, but panics if an error occurs.

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

MenuDelete is the builder for deleting a Menu entity.

func (_d *MenuDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (_d *MenuDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (_d *MenuDelete) Where(ps ...predicate.Menu) *MenuDelete

Where appends a list predicates to the MenuDelete builder.

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

MenuDeleteOne is the builder for deleting a single Menu entity.

func (_d *MenuDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (_d *MenuDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (_d *MenuDeleteOne) Where(ps ...predicate.Menu) *MenuDeleteOne

Where appends a list predicates to the MenuDelete builder.

type MenuEdges struct {
	// Parent holds the value of the parent edge.
	Parent *Menu `json:"parent,omitempty"`
	// Children holds the value of the children edge.
	Children []*Menu `json:"children,omitempty"`
	// contains filtered or unexported fields
}

MenuEdges holds the relations/edges for other nodes in the graph.

func (e MenuEdges) ChildrenOrErr() ([]*Menu, error)

ChildrenOrErr returns the Children value or an error if the edge was not loaded in eager-loading.

func (e MenuEdges) ParentOrErr() (*Menu, error)

ParentOrErr returns the Parent value or an error if the edge was not loaded in eager-loading, or loaded but was not found.

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

MenuFilter provides a generic filtering capability at runtime for MenuQuery.

func (f *MenuFilter) Where(p entql.P)

Where applies the entql predicate on the query filter.

func (f *MenuFilter) WhereHasChildren()

WhereHasChildren applies a predicate to check if query has an edge children.

func (f *MenuFilter) WhereHasChildrenWith(preds ...predicate.Menu)

WhereHasChildrenWith applies a predicate to check if query has an edge children with a given conditions (other predicates).

func (f *MenuFilter) WhereHasParent()

WhereHasParent applies a predicate to check if query has an edge parent.

func (f *MenuFilter) WhereHasParentWith(preds ...predicate.Menu)

WhereHasParentWith applies a predicate to check if query has an edge parent with a given conditions (other predicates).

func (f *MenuFilter) WhereID(p entql.Uint32P)

WhereID applies the entql uint32 predicate on the id field.

func (f *MenuFilter) WhereName(p entql.StringP)

WhereName applies the entql string predicate on the name field.

func (f *MenuFilter) WhereParentID(p entql.Uint32P)

WhereParentID applies the entql uint32 predicate on the parent_id field.

func (f *MenuFilter) WherePath(p entql.StringP)

WherePath applies the entql string predicate on the path field.

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

MenuGroupBy is the group-by builder for Menu entities.

func (_g *MenuGroupBy) Aggregate(fns ...AggregateFunc) *MenuGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (s *MenuGroupBy) Bool(ctx context.Context) (_ bool, err error)

Bool returns a single bool from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) BoolX(ctx context.Context) bool

BoolX is like Bool, but panics if an error occurs.

func (s *MenuGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (s *MenuGroupBy) Float64(ctx context.Context) (_ float64, err error)

Float64 returns a single float64 from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) Float64X(ctx context.Context) float64

Float64X is like Float64, but panics if an error occurs.

func (s *MenuGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (s *MenuGroupBy) Int(ctx context.Context) (_ int, err error)

Int returns a single int from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) IntX(ctx context.Context) int

IntX is like Int, but panics if an error occurs.

func (s *MenuGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (_g *MenuGroupBy) Scan(ctx context.Context, v any) error

Scan applies the selector query and scans the result into the given value.

func (s *MenuGroupBy) ScanX(ctx context.Context, v any)

ScanX is like Scan, but panics if an error occurs.

func (s *MenuGroupBy) String(ctx context.Context) (_ string, err error)

String returns a single string from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) StringX(ctx context.Context) string

StringX is like String, but panics if an error occurs.

func (s *MenuGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from a selector. It is only allowed when selecting one field.

func (s *MenuGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

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

MenuMutation represents an operation that mutates the Menu nodes in the graph.

func (m *MenuMutation) AddChildIDs(ids ...uint32)

AddChildIDs adds the "children" edge to the Menu entity by ids.

func (m *MenuMutation) AddField(name string, value ent.Value) error

AddField adds the value to the field with the given name. It returns an error if the field is not defined in the schema, or if the type mismatched the field type.

func (m *MenuMutation) AddedEdges() []string

AddedEdges returns all edge names that were set/added in this mutation.

func (m *MenuMutation) AddedField(name string) (ent.Value, bool)

AddedField returns the numeric value that was incremented/decremented on a field with the given name. The second boolean return value indicates that this field was not set, or was not defined in the schema.

func (m *MenuMutation) AddedFields() []string

AddedFields returns all numeric fields that were incremented/decremented during this mutation.

func (m *MenuMutation) AddedIDs(name string) []ent.Value

AddedIDs returns all IDs (to other nodes) that were added for the given edge name in this mutation.

func (m *MenuMutation) ChildrenCleared() bool

ChildrenCleared reports if the "children" edge to the Menu entity was cleared.

func (m *MenuMutation) ChildrenIDs() (ids []uint32)

ChildrenIDs returns the "children" edge IDs in the mutation.

func (m *MenuMutation) ClearChildren()

ClearChildren clears the "children" edge to the Menu entity.

func (m *MenuMutation) ClearEdge(name string) error

ClearEdge clears the value of the edge with the given name. It returns an error if that edge is not defined in the schema.

func (m *MenuMutation) ClearField(name string) error

ClearField clears the value of the field with the given name. It returns an error if the field is not defined in the schema.

func (m *MenuMutation) ClearParent()

ClearParent clears the "parent" edge to the Menu entity.

func (m *MenuMutation) ClearParentID()

ClearParentID clears the value of the "parent_id" field.

func (m *MenuMutation) ClearPath()

ClearPath clears the value of the "path" field.

func (m *MenuMutation) ClearedEdges() []string

ClearedEdges returns all edge names that were cleared in this mutation.

func (m *MenuMutation) ClearedFields() []string

ClearedFields returns all nullable fields that were cleared during this mutation.

func (m MenuMutation) Client() *Client

Client returns a new `ent.Client` from the mutation. If the mutation was executed in a transaction (ent.Tx), a transactional client is returned.

func (m *MenuMutation) EdgeCleared(name string) bool

EdgeCleared returns a boolean which indicates if the edge with the given name was cleared in this mutation.

func (m *MenuMutation) Field(name string) (ent.Value, bool)

Field returns the value of a field with the given name. The second boolean return value indicates that this field was not set, or was not defined in the schema.

func (m *MenuMutation) FieldCleared(name string) bool

FieldCleared returns a boolean indicating if a field with the given name was cleared in this mutation.

func (m *MenuMutation) Fields() []string

Fields returns all fields that were changed during this mutation. Note that in order to get all numeric fields that were incremented/decremented, call AddedFields().

func (m *MenuMutation) Filter() *MenuFilter

Filter returns an entql.Where implementation to apply filters on the MenuMutation builder.

func (m *MenuMutation) ID() (id uint32, exists bool)

ID returns the ID value in the mutation. Note that the ID is only available if it was provided to the builder or after it was returned from the database.

func (m *MenuMutation) IDs(ctx context.Context) ([]uint32, error)

IDs queries the database and returns the entity ids that match the mutation's predicate. That means, if the mutation is applied within a transaction with an isolation level such as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated or updated by the mutation.

func (m *MenuMutation) Name() (r string, exists bool)

Name returns the value of the "name" field in the mutation.

func (m *MenuMutation) OldField(ctx context.Context, name string) (ent.Value, error)

OldField returns the old value of the field from the database. An error is returned if the mutation operation is not UpdateOne, or the query to the database failed.

func (m *MenuMutation) OldName(ctx context.Context) (v string, err error)

OldName returns the old "name" field's value of the Menu entity. If the Menu object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (m *MenuMutation) OldParentID(ctx context.Context) (v *uint32, err error)

OldParentID returns the old "parent_id" field's value of the Menu entity. If the Menu object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (m *MenuMutation) OldPath(ctx context.Context) (v *string, err error)

OldPath returns the old "path" field's value of the Menu entity. If the Menu object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (m *MenuMutation) Op() Op

Op returns the operation name.

func (m *MenuMutation) ParentCleared() bool

ParentCleared reports if the "parent" edge to the Menu entity was cleared.

func (m *MenuMutation) ParentID() (r uint32, exists bool)

ParentID returns the value of the "parent_id" field in the mutation.

func (m *MenuMutation) ParentIDCleared() bool

ParentIDCleared returns if the "parent_id" field was cleared in this mutation.

func (m *MenuMutation) ParentIDs() (ids []uint32)

ParentIDs returns the "parent" edge IDs in the mutation. Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use ParentID instead. It exists only for internal usage by the builders.

func (m *MenuMutation) Path() (r string, exists bool)

Path returns the value of the "path" field in the mutation.

func (m *MenuMutation) PathCleared() bool

PathCleared returns if the "path" field was cleared in this mutation.

func (m *MenuMutation) RemoveChildIDs(ids ...uint32)

RemoveChildIDs removes the "children" edge to the Menu entity by IDs.

func (m *MenuMutation) RemovedChildrenIDs() (ids []uint32)

RemovedChildren returns the removed IDs of the "children" edge to the Menu entity.

func (m *MenuMutation) RemovedEdges() []string

RemovedEdges returns all edge names that were removed in this mutation.

func (m *MenuMutation) RemovedIDs(name string) []ent.Value

RemovedIDs returns all IDs (to other nodes) that were removed for the edge with the given name in this mutation.

func (m *MenuMutation) ResetChildren()

ResetChildren resets all changes to the "children" edge.

func (m *MenuMutation) ResetEdge(name string) error

ResetEdge resets all changes to the edge with the given name in this mutation. It returns an error if the edge is not defined in the schema.

func (m *MenuMutation) ResetField(name string) error

ResetField resets all changes in the mutation for the field with the given name. It returns an error if the field is not defined in the schema.

func (m *MenuMutation) ResetName()

ResetName resets all changes to the "name" field.

func (m *MenuMutation) ResetParent()

ResetParent resets all changes to the "parent" edge.

func (m *MenuMutation) ResetParentID()

ResetParentID resets all changes to the "parent_id" field.

func (m *MenuMutation) ResetPath()

ResetPath resets all changes to the "path" field.

func (m *MenuMutation) SetField(name string, value ent.Value) error

SetField sets the value of a field with the given name. It returns an error if the field is not defined in the schema, or if the type mismatched the field type.

func (m *MenuMutation) SetID(id uint32)

SetID sets the value of the id field. Note that this operation is only accepted on creation of Menu entities.

func (m *MenuMutation) SetName(s string)

SetName sets the "name" field.

func (m *MenuMutation) SetOp(op Op)

SetOp allows setting the mutation operation.

func (m *MenuMutation) SetParentID(u uint32)

SetParentID sets the "parent_id" field.

func (m *MenuMutation) SetPath(s string)

SetPath sets the "path" field.

func (m MenuMutation) Tx() (*Tx, error)

Tx returns an `ent.Tx` for mutations that were executed in transactions; it returns an error otherwise.

func (m *MenuMutation) Type() string

Type returns the node type of this mutation (Menu).

func (m *MenuMutation) Where(ps ...predicate.Menu)

Where appends a list predicates to the MenuMutation builder.

func (m *MenuMutation) WhereP(ps ...func(*sql.Selector))

WhereP appends storage-level predicates to the MenuMutation builder. Using this method, users can use type-assertion to append predicates that do not depend on any generated package.

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

MenuQuery is the builder for querying Menu entities.

func (_q *MenuQuery) Aggregate(fns ...AggregateFunc) *MenuSelect

Aggregate returns a MenuSelect configured with the given aggregations.

func (_q *MenuQuery) All(ctx context.Context) ([]*Menu, error)

All executes the query and returns a list of Menus.

func (_q *MenuQuery) AllX(ctx context.Context) []*Menu

AllX is like All, but panics if an error occurs.

func (_q *MenuQuery) Clone() *MenuQuery

Clone returns a duplicate of the MenuQuery builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (_q *MenuQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (_q *MenuQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (_q *MenuQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (_q *MenuQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (_q *MenuQuery) Filter() *MenuFilter

Filter returns a Filter implementation to apply filters on the MenuQuery builder.

func (_q *MenuQuery) First(ctx context.Context) (*Menu, error)

First returns the first Menu entity from the query. Returns a *NotFoundError when no Menu was found.

func (_q *MenuQuery) FirstID(ctx context.Context) (id uint32, err error)

FirstID returns the first Menu ID from the query. Returns a *NotFoundError when no Menu ID was found.

func (_q *MenuQuery) FirstIDX(ctx context.Context) uint32

FirstIDX is like FirstID, but panics if an error occurs.

func (_q *MenuQuery) FirstX(ctx context.Context) *Menu

FirstX is like First, but panics if an error occurs.

func (_q *MenuQuery) GroupBy(field string, fields ...string) *MenuGroupBy

GroupBy is used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

Example:

var v []struct {
	ParentID uint32 `json:"parent_id,omitempty"`
	Count int `json:"count,omitempty"`
}

client.Menu.Query().
	GroupBy(menu.FieldParentID).
	Aggregate(ent.Count()).
	Scan(ctx, &v)
func (_q *MenuQuery) IDs(ctx context.Context) (ids []uint32, err error)

IDs executes the query and returns a list of Menu IDs.

func (_q *MenuQuery) IDsX(ctx context.Context) []uint32

IDsX is like IDs, but panics if an error occurs.

func (_q *MenuQuery) Limit(limit int) *MenuQuery

Limit the number of records to be returned by this query.

func (_q *MenuQuery) Modify(modifiers ...func(s *sql.Selector)) *MenuSelect

Modify adds a query modifier for attaching custom logic to queries.

func (_q *MenuQuery) Offset(offset int) *MenuQuery

Offset to start from.

func (_q *MenuQuery) Only(ctx context.Context) (*Menu, error)

Only returns a single Menu entity found by the query, ensuring it only returns one. Returns a *NotSingularError when more than one Menu entity is found. Returns a *NotFoundError when no Menu entities are found.

func (_q *MenuQuery) OnlyID(ctx context.Context) (id uint32, err error)

OnlyID is like Only, but returns the only Menu ID in the query. Returns a *NotSingularError when more than one Menu ID is found. Returns a *NotFoundError when no entities are found.

func (_q *MenuQuery) OnlyIDX(ctx context.Context) uint32

OnlyIDX is like OnlyID, but panics if an error occurs.

func (_q *MenuQuery) OnlyX(ctx context.Context) *Menu

OnlyX is like Only, but panics if an error occurs.

func (_q *MenuQuery) Order(o ...menu.OrderOption) *MenuQuery

Order specifies how the records should be ordered.

func (_q *MenuQuery) QueryChildren() *MenuQuery

QueryChildren chains the current query on the "children" edge.

func (_q *MenuQuery) QueryParent() *MenuQuery

QueryParent chains the current query on the "parent" edge.

func (_q *MenuQuery) Select(fields ...string) *MenuSelect

Select allows the selection one or more fields/columns for the given query, instead of selecting all fields in the entity.

Example:

var v []struct {
	ParentID uint32 `json:"parent_id,omitempty"`
}

client.Menu.Query().
	Select(menu.FieldParentID).
	Scan(ctx, &v)
func (_q *MenuQuery) Unique(unique bool) *MenuQuery

Unique configures the query builder to filter duplicate records on query. By default, unique is set to true, and can be disabled using this method.

func (_q *MenuQuery) Where(ps ...predicate.Menu) *MenuQuery

Where adds a new predicate for the MenuQuery builder.

func (_q *MenuQuery) WithChildren(opts ...func(*MenuQuery)) *MenuQuery

WithChildren tells the query-builder to eager-load the nodes that are connected to the "children" edge. The optional arguments are used to configure the query builder of the edge.

func (_q *MenuQuery) WithParent(opts ...func(*MenuQuery)) *MenuQuery

WithParent tells the query-builder to eager-load the nodes that are connected to the "parent" edge. The optional arguments are used to configure the query builder of the edge.

type MenuSelect struct {
	*MenuQuery
	// contains filtered or unexported fields
}

MenuSelect is the builder for selecting fields of Menu entities.

func (_s *MenuSelect) Aggregate(fns ...AggregateFunc) *MenuSelect

Aggregate adds the given aggregation functions to the selector query.

func (s *MenuSelect) Bool(ctx context.Context) (_ bool, err error)

Bool returns a single bool from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) BoolX(ctx context.Context) bool

BoolX is like Bool, but panics if an error occurs.

func (s *MenuSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (s *MenuSelect) Float64(ctx context.Context) (_ float64, err error)

Float64 returns a single float64 from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) Float64X(ctx context.Context) float64

Float64X is like Float64, but panics if an error occurs.

func (s *MenuSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (s *MenuSelect) Int(ctx context.Context) (_ int, err error)

Int returns a single int from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) IntX(ctx context.Context) int

IntX is like Int, but panics if an error occurs.

func (s *MenuSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (_s *MenuSelect) Modify(modifiers ...func(s *sql.Selector)) *MenuSelect

Modify adds a query modifier for attaching custom logic to queries.

func (_s *MenuSelect) Scan(ctx context.Context, v any) error

Scan applies the selector query and scans the result into the given value.

func (s *MenuSelect) ScanX(ctx context.Context, v any)

ScanX is like Scan, but panics if an error occurs.

func (s *MenuSelect) String(ctx context.Context) (_ string, err error)

String returns a single string from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) StringX(ctx context.Context) string

StringX is like String, but panics if an error occurs.

func (s *MenuSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from a selector. It is only allowed when selecting one field.

func (s *MenuSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

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

MenuUpdate is the builder for updating Menu entities.

func (_u *MenuUpdate) AddChildIDs(ids ...uint32) *MenuUpdate

AddChildIDs adds the "children" edge to the Menu entity by IDs.

func (_u *MenuUpdate) AddChildren(v ...*Menu) *MenuUpdate

AddChildren adds the "children" edges to the Menu entity.

func (_u *MenuUpdate) ClearChildren() *MenuUpdate

ClearChildren clears all "children" edges to the Menu entity.

func (_u *MenuUpdate) ClearParent() *MenuUpdate

ClearParent clears the "parent" edge to the Menu entity.

func (_u *MenuUpdate) ClearParentID() *MenuUpdate

ClearParentID clears the value of the "parent_id" field.

func (_u *MenuUpdate) ClearPath() *MenuUpdate

ClearPath clears the value of the "path" field.

func (_u *MenuUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (_u *MenuUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (_u *MenuUpdate) Modify(modifiers ...func(u *sql.UpdateBuilder)) *MenuUpdate

Modify adds a statement modifier for attaching custom logic to the UPDATE statement.

func (_u *MenuUpdate) Mutation() *MenuMutation

Mutation returns the MenuMutation object of the builder.

func (_u *MenuUpdate) RemoveChildIDs(ids ...uint32) *MenuUpdate

RemoveChildIDs removes the "children" edge to Menu entities by IDs.

func (_u *MenuUpdate) RemoveChildren(v ...*Menu) *MenuUpdate

RemoveChildren removes "children" edges to Menu entities.

func (_u *MenuUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of nodes affected by the update operation.

func (_u *MenuUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (_u *MenuUpdate) SetName(v string) *MenuUpdate

SetName sets the "name" field.

func (_u *MenuUpdate) SetNillableName(v *string) *MenuUpdate

SetNillableName sets the "name" field if the given value is not nil.

func (_u *MenuUpdate) SetNillableParentID(v *uint32) *MenuUpdate

SetNillableParentID sets the "parent_id" field if the given value is not nil.

func (_u *MenuUpdate) SetNillablePath(v *string) *MenuUpdate

SetNillablePath sets the "path" field if the given value is not nil.

func (_u *MenuUpdate) SetParent(v *Menu) *MenuUpdate

SetParent sets the "parent" edge to the Menu entity.

func (_u *MenuUpdate) SetParentID(v uint32) *MenuUpdate

SetParentID sets the "parent_id" field.

func (_u *MenuUpdate) SetPath(v string) *MenuUpdate

SetPath sets the "path" field.

func (_u *MenuUpdate) Where(ps ...predicate.Menu) *MenuUpdate

Where appends a list predicates to the MenuUpdate builder.

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

MenuUpdateOne is the builder for updating a single Menu entity.

func (_u *MenuUpdateOne) AddChildIDs(ids ...uint32) *MenuUpdateOne

AddChildIDs adds the "children" edge to the Menu entity by IDs.

func (_u *MenuUpdateOne) AddChildren(v ...*Menu) *MenuUpdateOne

AddChildren adds the "children" edges to the Menu entity.

func (_u *MenuUpdateOne) ClearChildren() *MenuUpdateOne

ClearChildren clears all "children" edges to the Menu entity.

func (_u *MenuUpdateOne) ClearParent() *MenuUpdateOne

ClearParent clears the "parent" edge to the Menu entity.

func (_u *MenuUpdateOne) ClearParentID() *MenuUpdateOne

ClearParentID clears the value of the "parent_id" field.

func (_u *MenuUpdateOne) ClearPath() *MenuUpdateOne

ClearPath clears the value of the "path" field.

func (_u *MenuUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (_u *MenuUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (_u *MenuUpdateOne) Modify(modifiers ...func(u *sql.UpdateBuilder)) *MenuUpdateOne

Modify adds a statement modifier for attaching custom logic to the UPDATE statement.

func (_u *MenuUpdateOne) Mutation() *MenuMutation

Mutation returns the MenuMutation object of the builder.

func (_u *MenuUpdateOne) RemoveChildIDs(ids ...uint32) *MenuUpdateOne

RemoveChildIDs removes the "children" edge to Menu entities by IDs.

func (_u *MenuUpdateOne) RemoveChildren(v ...*Menu) *MenuUpdateOne

RemoveChildren removes "children" edges to Menu entities.

func (_u *MenuUpdateOne) Save(ctx context.Context) (*Menu, error)

Save executes the query and returns the updated Menu entity.

func (_u *MenuUpdateOne) SaveX(ctx context.Context) *Menu

SaveX is like Save, but panics if an error occurs.

func (_u *MenuUpdateOne) Select(field string, fields ...string) *MenuUpdateOne

Select allows selecting one or more fields (columns) of the returned entity. The default is selecting all fields defined in the entity schema.

func (_u *MenuUpdateOne) SetName(v string) *MenuUpdateOne

SetName sets the "name" field.

func (_u *MenuUpdateOne) SetNillableName(v *string) *MenuUpdateOne

SetNillableName sets the "name" field if the given value is not nil.

func (_u *MenuUpdateOne) SetNillableParentID(v *uint32) *MenuUpdateOne

SetNillableParentID sets the "parent_id" field if the given value is not nil.

func (_u *MenuUpdateOne) SetNillablePath(v *string) *MenuUpdateOne

SetNillablePath sets the "path" field if the given value is not nil.

func (_u *MenuUpdateOne) SetParent(v *Menu) *MenuUpdateOne

SetParent sets the "parent" edge to the Menu entity.

func (_u *MenuUpdateOne) SetParentID(v uint32) *MenuUpdateOne

SetParentID sets the "parent_id" field.

func (_u *MenuUpdateOne) SetPath(v string) *MenuUpdateOne

SetPath sets the "path" field.

func (_u *MenuUpdateOne) Where(ps ...predicate.Menu) *MenuUpdateOne

Where appends a list predicates to the MenuUpdate builder.

type MenuUpsert struct {
	*sql.UpdateSet
}

MenuUpsert is the "OnConflict" setter.

func (u *MenuUpsert) ClearParentID() *MenuUpsert

ClearParentID clears the value of the "parent_id" field.

func (u *MenuUpsert) ClearPath() *MenuUpsert

ClearPath clears the value of the "path" field.

func (u *MenuUpsert) SetName(v string) *MenuUpsert

SetName sets the "name" field.

func (u *MenuUpsert) SetParentID(v uint32) *MenuUpsert

SetParentID sets the "parent_id" field.

func (u *MenuUpsert) SetPath(v string) *MenuUpsert

SetPath sets the "path" field.

func (u *MenuUpsert) UpdateName() *MenuUpsert

UpdateName sets the "name" field to the value that was provided on create.

func (u *MenuUpsert) UpdateParentID() *MenuUpsert

UpdateParentID sets the "parent_id" field to the value that was provided on create.

func (u *MenuUpsert) UpdatePath() *MenuUpsert

UpdatePath sets the "path" field to the value that was provided on create.

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

MenuUpsertBulk is the builder for "upsert"-ing a bulk of Menu nodes.

func (u *MenuUpsertBulk) ClearParentID() *MenuUpsertBulk

ClearParentID clears the value of the "parent_id" field.

func (u *MenuUpsertBulk) ClearPath() *MenuUpsertBulk

ClearPath clears the value of the "path" field.

func (u *MenuUpsertBulk) DoNothing() *MenuUpsertBulk

DoNothing configures the conflict_action to `DO NOTHING`. Supported only by SQLite and PostgreSQL.

func (u *MenuUpsertBulk) Exec(ctx context.Context) error

Exec executes the query.

func (u *MenuUpsertBulk) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (u *MenuUpsertBulk) Ignore() *MenuUpsertBulk

Ignore sets each column to itself in case of conflict. Using this option is equivalent to using:

client.Menu.Create().
	OnConflict(sql.ResolveWithIgnore()).
	Exec(ctx)
func (u *MenuUpsertBulk) SetName(v string) *MenuUpsertBulk

SetName sets the "name" field.

func (u *MenuUpsertBulk) SetParentID(v uint32) *MenuUpsertBulk

SetParentID sets the "parent_id" field.

func (u *MenuUpsertBulk) SetPath(v string) *MenuUpsertBulk

SetPath sets the "path" field.

func (u *MenuUpsertBulk) Update(set func(*MenuUpsert)) *MenuUpsertBulk

Update allows overriding fields `UPDATE` values. See the MenuCreateBulk.OnConflict documentation for more info.

func (u *MenuUpsertBulk) UpdateName() *MenuUpsertBulk

UpdateName sets the "name" field to the value that was provided on create.

func (u *MenuUpsertBulk) UpdateNewValues() *MenuUpsertBulk

UpdateNewValues updates the mutable fields using the new values that were set on create. Using this option is equivalent to using:

client.Menu.Create().
	OnConflict(
		sql.ResolveWithNewValues(),
		sql.ResolveWith(func(u *sql.UpdateSet) {
			u.SetIgnore(menu.FieldID)
		}),
	).
	Exec(ctx)
func (u *MenuUpsertBulk) UpdateParentID() *MenuUpsertBulk

UpdateParentID sets the "parent_id" field to the value that was provided on create.

func (u *MenuUpsertBulk) UpdatePath() *MenuUpsertBulk

UpdatePath sets the "path" field to the value that was provided on create.

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

MenuUpsertOne is the builder for "upsert"-ing

one Menu node.
func (u *MenuUpsertOne) ClearParentID() *MenuUpsertOne

ClearParentID clears the value of the "parent_id" field.

func (u *MenuUpsertOne) ClearPath() *MenuUpsertOne

ClearPath clears the value of the "path" field.

func (u *MenuUpsertOne) DoNothing() *MenuUpsertOne

DoNothing configures the conflict_action to `DO NOTHING`. Supported only by SQLite and PostgreSQL.

func (u *MenuUpsertOne) Exec(ctx context.Context) error

Exec executes the query.

func (u *MenuUpsertOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (u *MenuUpsertOne) ID(ctx context.Context) (id uint32, err error)

Exec executes the UPSERT query and returns the inserted/updated ID.

func (u *MenuUpsertOne) IDX(ctx context.Context) uint32

IDX is like ID, but panics if an error occurs.

func (u *MenuUpsertOne) Ignore() *MenuUpsertOne

Ignore sets each column to itself in case of conflict. Using this option is equivalent to using:

client.Menu.Create().
    OnConflict(sql.ResolveWithIgnore()).
    Exec(ctx)
func (u *MenuUpsertOne) SetName(v string) *MenuUpsertOne

SetName sets the "name" field.

func (u *MenuUpsertOne) SetParentID(v uint32) *MenuUpsertOne

SetParentID sets the "parent_id" field.

func (u *MenuUpsertOne) SetPath(v string) *MenuUpsertOne

SetPath sets the "path" field.

func (u *MenuUpsertOne) Update(set func(*MenuUpsert)) *MenuUpsertOne

Update allows overriding fields `UPDATE` values. See the MenuCreate.OnConflict documentation for more info.

func (u *MenuUpsertOne) UpdateName() *MenuUpsertOne

UpdateName sets the "name" field to the value that was provided on create.

func (u *MenuUpsertOne) UpdateNewValues() *MenuUpsertOne

UpdateNewValues updates the mutable fields using the new values that were set on create except the ID field. Using this option is equivalent to using:

client.Menu.Create().
	OnConflict(
		sql.ResolveWithNewValues(),
		sql.ResolveWith(func(u *sql.UpdateSet) {
			u.SetIgnore(menu.FieldID)
		}),
	).
	Exec(ctx)
func (u *MenuUpsertOne) UpdateParentID() *MenuUpsertOne

UpdateParentID sets the "parent_id" field to the value that was provided on create.

func (u *MenuUpsertOne) UpdatePath() *MenuUpsertOne

UpdatePath sets the "path" field to the value that was provided on create.

type Menus []*Menu

Menus is a parsable slice of Menu.

type MutateFunc

type MutateFunc = ent.MutateFunc

ent aliases to avoid import conflicts in user's code.

type Mutation

type Mutation = ent.Mutation

ent aliases to avoid import conflicts in user's code.

type Mutator

type Mutator = ent.Mutator

ent aliases to avoid import conflicts in user's code.

type NotFoundError

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

NotFoundError returns when trying to fetch a specific entity and it was not found in the database.

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

Error implements the error interface.

type NotLoadedError

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

NotLoadedError returns when trying to get a node that was not loaded by the query.

func (*NotLoadedError) Error

func (e *NotLoadedError) Error() string

Error implements the error interface.

type NotSingularError

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

NotSingularError returns when trying to fetch a singular entity and more then one was found in the database.

func (*NotSingularError) Error

func (e *NotSingularError) Error() string

Error implements the error interface.

type Op

type Op = ent.Op

ent aliases to avoid import conflicts in user's code.

type Option

type Option func(*config)

Option function to configure the client.

func Debug

func Debug() Option

Debug enables debug logging on the ent.Driver.

func Driver

func Driver(driver dialect.Driver) Option

Driver configures the client driver.

func Log

func Log(fn func(...any)) Option

Log sets the logging function for debug mode.

type OrderFunc

type OrderFunc func(*sql.Selector)

OrderFunc applies an ordering on the sql selector. Deprecated: Use Asc/Desc functions or the package builders instead.

type Policy

type Policy = ent.Policy

ent aliases to avoid import conflicts in user's code.

type Querier

type Querier = ent.Querier

ent aliases to avoid import conflicts in user's code.

type QuerierFunc

type QuerierFunc = ent.QuerierFunc

ent aliases to avoid import conflicts in user's code.

type Query

type Query = ent.Query

ent aliases to avoid import conflicts in user's code.

type QueryContext

type QueryContext = ent.QueryContext

ent aliases to avoid import conflicts in user's code.

type RollbackFunc

type RollbackFunc func(context.Context, *Tx) error

The RollbackFunc type is an adapter to allow the use of ordinary function as a Rollbacker. If f is a function with the appropriate signature, RollbackFunc(f) is a Rollbacker that calls f.

func (RollbackFunc) Rollback

func (f RollbackFunc) Rollback(ctx context.Context, tx *Tx) error

Rollback calls f(ctx, m).

type RollbackHook

type RollbackHook func(Rollbacker) Rollbacker

RollbackHook defines the "rollback middleware". A function that gets a Rollbacker and returns a Rollbacker. For example:

hook := func(next ent.Rollbacker) ent.Rollbacker {
	return ent.RollbackFunc(func(ctx context.Context, tx *ent.Tx) error {
		// Do some stuff before.
		if err := next.Rollback(ctx, tx); err != nil {
			return err
		}
		// Do some stuff after.
		return nil
	})
}

type Rollbacker

type Rollbacker interface {
	Rollback(context.Context, *Tx) error
}

Rollbacker is the interface that wraps the Rollback method.

type TraverseFunc

type TraverseFunc = ent.TraverseFunc

ent aliases to avoid import conflicts in user's code.

type Traverser

type Traverser = ent.Traverser

ent aliases to avoid import conflicts in user's code.

type Tx

type Tx struct {

	// Menu is the client for interacting with the Menu builders.
	Menu *MenuClient
	// User is the client for interacting with the User builders.
	User *UserClient
	// contains filtered or unexported fields
}

Tx is a transactional client that is created by calling Client.Tx().

func TxFromContext

func TxFromContext(ctx context.Context) *Tx

TxFromContext returns a Tx stored inside a context, or nil if there isn't one.

func (*Tx) Client

func (tx *Tx) Client() *Client

Client returns a Client that binds to current transaction.

func (*Tx) Commit

func (tx *Tx) Commit() error

Commit commits the transaction.

func (*Tx) OnCommit

func (tx *Tx) OnCommit(f CommitHook)

OnCommit adds a hook to call on commit.

func (*Tx) OnRollback

func (tx *Tx) OnRollback(f RollbackHook)

OnRollback adds a hook to call on rollback.

func (*Tx) Rollback

func (tx *Tx) Rollback() error

Rollback rollbacks the transaction.

type User

type User struct {

	// ID of the ent.
	// id
	ID uint32 `json:"id,omitempty"`
	// 租户ID
	TenantID *uint32 `json:"tenant_id,omitempty"`
	// user name
	Name string `json:"name,omitempty"`
	// user age
	Age uint32 `json:"age,omitempty"`
	// contains filtered or unexported fields
}

User is the model entity for the User schema.

func (*User) String

func (_m *User) String() string

String implements the fmt.Stringer.

func (*User) Unwrap

func (_m *User) Unwrap() *User

Unwrap unwraps the User entity that was returned from a transaction after it was closed, so that all future queries will be executed through the driver which created the transaction.

func (*User) Update

func (_m *User) Update() *UserUpdateOne

Update returns a builder for updating this User. Note that you need to call User.Unwrap() before calling this method if this User was returned from a transaction, and the transaction was committed or rolled back.

func (*User) Value

func (_m *User) Value(name string) (ent.Value, error)

Value returns the ent.Value that was dynamically selected and assigned to the User. This includes values selected through modifiers, order, etc.

type UserClient

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

UserClient is a client for the User schema.

func NewUserClient

func NewUserClient(c config) *UserClient

NewUserClient returns a client for the User from the given config.

func (*UserClient) Create

func (c *UserClient) Create() *UserCreate

Create returns a builder for creating a User entity.

func (*UserClient) CreateBulk

func (c *UserClient) CreateBulk(builders ...*UserCreate) *UserCreateBulk

CreateBulk returns a builder for creating a bulk of User entities.

func (*UserClient) Delete

func (c *UserClient) Delete() *UserDelete

Delete returns a delete builder for User.

func (*UserClient) DeleteOne

func (c *UserClient) DeleteOne(_m *User) *UserDeleteOne

DeleteOne returns a builder for deleting the given entity.

func (*UserClient) DeleteOneID

func (c *UserClient) DeleteOneID(id uint32) *UserDeleteOne

DeleteOneID returns a builder for deleting the given entity by its id.

func (*UserClient) Get

func (c *UserClient) Get(ctx context.Context, id uint32) (*User, error)

Get returns a User entity by its id.

func (*UserClient) GetX

func (c *UserClient) GetX(ctx context.Context, id uint32) *User

GetX is like Get, but panics if an error occurs.

func (*UserClient) Hooks

func (c *UserClient) Hooks() []Hook

Hooks returns the client hooks.

func (*UserClient) Intercept

func (c *UserClient) Intercept(interceptors ...Interceptor)

Intercept adds a list of query interceptors to the interceptors stack. A call to `Intercept(f, g, h)` equals to `user.Intercept(f(g(h())))`.

func (*UserClient) Interceptors

func (c *UserClient) Interceptors() []Interceptor

Interceptors returns the client interceptors.

func (*UserClient) MapCreateBulk

func (c *UserClient) MapCreateBulk(slice any, setFunc func(*UserCreate, int)) *UserCreateBulk

MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates a builder and applies setFunc on it.

func (*UserClient) Query

func (c *UserClient) Query() *UserQuery

Query returns a query builder for User.

func (*UserClient) Update

func (c *UserClient) Update() *UserUpdate

Update returns an update builder for User.

func (*UserClient) UpdateOne

func (c *UserClient) UpdateOne(_m *User) *UserUpdateOne

UpdateOne returns an update builder for the given entity.

func (*UserClient) UpdateOneID

func (c *UserClient) UpdateOneID(id uint32) *UserUpdateOne

UpdateOneID returns an update builder for the given id.

func (*UserClient) Use

func (c *UserClient) Use(hooks ...Hook)

Use adds a list of mutation hooks to the hooks stack. A call to `Use(f, g, h)` equals to `user.Hooks(f(g(h())))`.

type UserCreate

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

UserCreate is the builder for creating a User entity.

func (*UserCreate) Exec

func (_c *UserCreate) Exec(ctx context.Context) error

Exec executes the query.

func (*UserCreate) ExecX

func (_c *UserCreate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserCreate) Mutation

func (_c *UserCreate) Mutation() *UserMutation

Mutation returns the UserMutation object of the builder.

func (*UserCreate) OnConflict

func (_c *UserCreate) OnConflict(opts ...sql.ConflictOption) *UserUpsertOne

OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause of the `INSERT` statement. For example:

client.User.Create().
	SetTenantID(v).
	OnConflict(
		// Update the row with the new values
		// the was proposed for insertion.
		sql.ResolveWithNewValues(),
	).
	// Override some of the fields with custom
	// update values.
	Update(func(u *ent.UserUpsert) {
		SetTenantID(v+v).
	}).
	Exec(ctx)

func (*UserCreate) OnConflictColumns

func (_c *UserCreate) OnConflictColumns(columns ...string) *UserUpsertOne

OnConflictColumns calls `OnConflict` and configures the columns as conflict target. Using this option is equivalent to using:

client.User.Create().
	OnConflict(sql.ConflictColumns(columns...)).
	Exec(ctx)

func (*UserCreate) Save

func (_c *UserCreate) Save(ctx context.Context) (*User, error)

Save creates the User in the database.

func (*UserCreate) SaveX

func (_c *UserCreate) SaveX(ctx context.Context) *User

SaveX calls Save and panics if Save returns an error.

func (*UserCreate) SetAge

func (_c *UserCreate) SetAge(v uint32) *UserCreate

SetAge sets the "age" field.

func (*UserCreate) SetID added in v0.0.3

func (_c *UserCreate) SetID(v uint32) *UserCreate

SetID sets the "id" field.

func (*UserCreate) SetName

func (_c *UserCreate) SetName(v string) *UserCreate

SetName sets the "name" field.

func (*UserCreate) SetNillableAge

func (_c *UserCreate) SetNillableAge(v *uint32) *UserCreate

SetNillableAge sets the "age" field if the given value is not nil.

func (*UserCreate) SetNillableTenantID added in v0.0.3

func (_c *UserCreate) SetNillableTenantID(v *uint32) *UserCreate

SetNillableTenantID sets the "tenant_id" field if the given value is not nil.

func (*UserCreate) SetTenantID added in v0.0.3

func (_c *UserCreate) SetTenantID(v uint32) *UserCreate

SetTenantID sets the "tenant_id" field.

type UserCreateBulk

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

UserCreateBulk is the builder for creating many User entities in bulk.

func (*UserCreateBulk) Exec

func (_c *UserCreateBulk) Exec(ctx context.Context) error

Exec executes the query.

func (*UserCreateBulk) ExecX

func (_c *UserCreateBulk) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserCreateBulk) OnConflict

func (_c *UserCreateBulk) OnConflict(opts ...sql.ConflictOption) *UserUpsertBulk

OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause of the `INSERT` statement. For example:

client.User.CreateBulk(builders...).
	OnConflict(
		// Update the row with the new values
		// the was proposed for insertion.
		sql.ResolveWithNewValues(),
	).
	// Override some of the fields with custom
	// update values.
	Update(func(u *ent.UserUpsert) {
		SetTenantID(v+v).
	}).
	Exec(ctx)

func (*UserCreateBulk) OnConflictColumns

func (_c *UserCreateBulk) OnConflictColumns(columns ...string) *UserUpsertBulk

OnConflictColumns calls `OnConflict` and configures the columns as conflict target. Using this option is equivalent to using:

client.User.Create().
	OnConflict(sql.ConflictColumns(columns...)).
	Exec(ctx)

func (*UserCreateBulk) Save

func (_c *UserCreateBulk) Save(ctx context.Context) ([]*User, error)

Save creates the User entities in the database.

func (*UserCreateBulk) SaveX

func (_c *UserCreateBulk) SaveX(ctx context.Context) []*User

SaveX is like Save, but panics if an error occurs.

type UserDelete

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

UserDelete is the builder for deleting a User entity.

func (*UserDelete) Exec

func (_d *UserDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (*UserDelete) ExecX

func (_d *UserDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (*UserDelete) Where

func (_d *UserDelete) Where(ps ...predicate.User) *UserDelete

Where appends a list predicates to the UserDelete builder.

type UserDeleteOne

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

UserDeleteOne is the builder for deleting a single User entity.

func (*UserDeleteOne) Exec

func (_d *UserDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (*UserDeleteOne) ExecX

func (_d *UserDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserDeleteOne) Where

func (_d *UserDeleteOne) Where(ps ...predicate.User) *UserDeleteOne

Where appends a list predicates to the UserDelete builder.

type UserFilter

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

UserFilter provides a generic filtering capability at runtime for UserQuery.

func (*UserFilter) Where

func (f *UserFilter) Where(p entql.P)

Where applies the entql predicate on the query filter.

func (*UserFilter) WhereAge

func (f *UserFilter) WhereAge(p entql.Uint32P)

WhereAge applies the entql uint32 predicate on the age field.

func (*UserFilter) WhereID

func (f *UserFilter) WhereID(p entql.Uint32P)

WhereID applies the entql uint32 predicate on the id field.

func (*UserFilter) WhereName

func (f *UserFilter) WhereName(p entql.StringP)

WhereName applies the entql string predicate on the name field.

func (*UserFilter) WhereTenantID added in v0.0.3

func (f *UserFilter) WhereTenantID(p entql.Uint32P)

WhereTenantID applies the entql uint32 predicate on the tenant_id field.

type UserGroupBy

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

UserGroupBy is the group-by builder for User entities.

func (*UserGroupBy) Aggregate

func (_g *UserGroupBy) Aggregate(fns ...AggregateFunc) *UserGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (*UserGroupBy) Bool

func (s *UserGroupBy) Bool(ctx context.Context) (_ bool, err error)

Bool returns a single bool from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) BoolX

func (s *UserGroupBy) BoolX(ctx context.Context) bool

BoolX is like Bool, but panics if an error occurs.

func (*UserGroupBy) Bools

func (s *UserGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) BoolsX

func (s *UserGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*UserGroupBy) Float64

func (s *UserGroupBy) Float64(ctx context.Context) (_ float64, err error)

Float64 returns a single float64 from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) Float64X

func (s *UserGroupBy) Float64X(ctx context.Context) float64

Float64X is like Float64, but panics if an error occurs.

func (*UserGroupBy) Float64s

func (s *UserGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) Float64sX

func (s *UserGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*UserGroupBy) Int

func (s *UserGroupBy) Int(ctx context.Context) (_ int, err error)

Int returns a single int from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) IntX

func (s *UserGroupBy) IntX(ctx context.Context) int

IntX is like Int, but panics if an error occurs.

func (*UserGroupBy) Ints

func (s *UserGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) IntsX

func (s *UserGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*UserGroupBy) Scan

func (_g *UserGroupBy) Scan(ctx context.Context, v any) error

Scan applies the selector query and scans the result into the given value.

func (*UserGroupBy) ScanX

func (s *UserGroupBy) ScanX(ctx context.Context, v any)

ScanX is like Scan, but panics if an error occurs.

func (*UserGroupBy) String

func (s *UserGroupBy) String(ctx context.Context) (_ string, err error)

String returns a single string from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) StringX

func (s *UserGroupBy) StringX(ctx context.Context) string

StringX is like String, but panics if an error occurs.

func (*UserGroupBy) Strings

func (s *UserGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from a selector. It is only allowed when selecting one field.

func (*UserGroupBy) StringsX

func (s *UserGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type UserMutation

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

UserMutation represents an operation that mutates the User nodes in the graph.

func (*UserMutation) AddAge

func (m *UserMutation) AddAge(u int32)

AddAge adds u to the "age" field.

func (*UserMutation) AddField

func (m *UserMutation) AddField(name string, value ent.Value) error

AddField adds the value to the field with the given name. It returns an error if the field is not defined in the schema, or if the type mismatched the field type.

func (*UserMutation) AddTenantID added in v0.0.3

func (m *UserMutation) AddTenantID(u int32)

AddTenantID adds u to the "tenant_id" field.

func (*UserMutation) AddedAge

func (m *UserMutation) AddedAge() (r int32, exists bool)

AddedAge returns the value that was added to the "age" field in this mutation.

func (*UserMutation) AddedEdges

func (m *UserMutation) AddedEdges() []string

AddedEdges returns all edge names that were set/added in this mutation.

func (*UserMutation) AddedField

func (m *UserMutation) AddedField(name string) (ent.Value, bool)

AddedField returns the numeric value that was incremented/decremented on a field with the given name. The second boolean return value indicates that this field was not set, or was not defined in the schema.

func (*UserMutation) AddedFields

func (m *UserMutation) AddedFields() []string

AddedFields returns all numeric fields that were incremented/decremented during this mutation.

func (*UserMutation) AddedIDs

func (m *UserMutation) AddedIDs(name string) []ent.Value

AddedIDs returns all IDs (to other nodes) that were added for the given edge name in this mutation.

func (*UserMutation) AddedTenantID added in v0.0.3

func (m *UserMutation) AddedTenantID() (r int32, exists bool)

AddedTenantID returns the value that was added to the "tenant_id" field in this mutation.

func (*UserMutation) Age

func (m *UserMutation) Age() (r uint32, exists bool)

Age returns the value of the "age" field in the mutation.

func (*UserMutation) ClearEdge

func (m *UserMutation) ClearEdge(name string) error

ClearEdge clears the value of the edge with the given name. It returns an error if that edge is not defined in the schema.

func (*UserMutation) ClearField

func (m *UserMutation) ClearField(name string) error

ClearField clears the value of the field with the given name. It returns an error if the field is not defined in the schema.

func (*UserMutation) ClearTenantID added in v0.0.3

func (m *UserMutation) ClearTenantID()

ClearTenantID clears the value of the "tenant_id" field.

func (*UserMutation) ClearedEdges

func (m *UserMutation) ClearedEdges() []string

ClearedEdges returns all edge names that were cleared in this mutation.

func (*UserMutation) ClearedFields

func (m *UserMutation) ClearedFields() []string

ClearedFields returns all nullable fields that were cleared during this mutation.

func (UserMutation) Client

func (m UserMutation) Client() *Client

Client returns a new `ent.Client` from the mutation. If the mutation was executed in a transaction (ent.Tx), a transactional client is returned.

func (*UserMutation) EdgeCleared

func (m *UserMutation) EdgeCleared(name string) bool

EdgeCleared returns a boolean which indicates if the edge with the given name was cleared in this mutation.

func (*UserMutation) Field

func (m *UserMutation) Field(name string) (ent.Value, bool)

Field returns the value of a field with the given name. The second boolean return value indicates that this field was not set, or was not defined in the schema.

func (*UserMutation) FieldCleared

func (m *UserMutation) FieldCleared(name string) bool

FieldCleared returns a boolean indicating if a field with the given name was cleared in this mutation.

func (*UserMutation) Fields

func (m *UserMutation) Fields() []string

Fields returns all fields that were changed during this mutation. Note that in order to get all numeric fields that were incremented/decremented, call AddedFields().

func (*UserMutation) Filter

func (m *UserMutation) Filter() *UserFilter

Filter returns an entql.Where implementation to apply filters on the UserMutation builder.

func (*UserMutation) ID

func (m *UserMutation) ID() (id uint32, exists bool)

ID returns the ID value in the mutation. Note that the ID is only available if it was provided to the builder or after it was returned from the database.

func (*UserMutation) IDs

func (m *UserMutation) IDs(ctx context.Context) ([]uint32, error)

IDs queries the database and returns the entity ids that match the mutation's predicate. That means, if the mutation is applied within a transaction with an isolation level such as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated or updated by the mutation.

func (*UserMutation) Name

func (m *UserMutation) Name() (r string, exists bool)

Name returns the value of the "name" field in the mutation.

func (*UserMutation) OldAge

func (m *UserMutation) OldAge(ctx context.Context) (v uint32, err error)

OldAge returns the old "age" field's value of the User entity. If the User object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (*UserMutation) OldField

func (m *UserMutation) OldField(ctx context.Context, name string) (ent.Value, error)

OldField returns the old value of the field from the database. An error is returned if the mutation operation is not UpdateOne, or the query to the database failed.

func (*UserMutation) OldName

func (m *UserMutation) OldName(ctx context.Context) (v string, err error)

OldName returns the old "name" field's value of the User entity. If the User object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (*UserMutation) OldTenantID added in v0.0.3

func (m *UserMutation) OldTenantID(ctx context.Context) (v *uint32, err error)

OldTenantID returns the old "tenant_id" field's value of the User entity. If the User object wasn't provided to the builder, the object is fetched from the database. An error is returned if the mutation operation is not UpdateOne, or the database query fails.

func (*UserMutation) Op

func (m *UserMutation) Op() Op

Op returns the operation name.

func (*UserMutation) RemovedEdges

func (m *UserMutation) RemovedEdges() []string

RemovedEdges returns all edge names that were removed in this mutation.

func (*UserMutation) RemovedIDs

func (m *UserMutation) RemovedIDs(name string) []ent.Value

RemovedIDs returns all IDs (to other nodes) that were removed for the edge with the given name in this mutation.

func (*UserMutation) ResetAge

func (m *UserMutation) ResetAge()

ResetAge resets all changes to the "age" field.

func (*UserMutation) ResetEdge

func (m *UserMutation) ResetEdge(name string) error

ResetEdge resets all changes to the edge with the given name in this mutation. It returns an error if the edge is not defined in the schema.

func (*UserMutation) ResetField

func (m *UserMutation) ResetField(name string) error

ResetField resets all changes in the mutation for the field with the given name. It returns an error if the field is not defined in the schema.

func (*UserMutation) ResetName

func (m *UserMutation) ResetName()

ResetName resets all changes to the "name" field.

func (*UserMutation) ResetTenantID added in v0.0.3

func (m *UserMutation) ResetTenantID()

ResetTenantID resets all changes to the "tenant_id" field.

func (*UserMutation) SetAge

func (m *UserMutation) SetAge(u uint32)

SetAge sets the "age" field.

func (*UserMutation) SetField

func (m *UserMutation) SetField(name string, value ent.Value) error

SetField sets the value of a field with the given name. It returns an error if the field is not defined in the schema, or if the type mismatched the field type.

func (*UserMutation) SetID added in v0.0.3

func (m *UserMutation) SetID(id uint32)

SetID sets the value of the id field. Note that this operation is only accepted on creation of User entities.

func (*UserMutation) SetName

func (m *UserMutation) SetName(s string)

SetName sets the "name" field.

func (*UserMutation) SetOp

func (m *UserMutation) SetOp(op Op)

SetOp allows setting the mutation operation.

func (*UserMutation) SetTenantID added in v0.0.3

func (m *UserMutation) SetTenantID(u uint32)

SetTenantID sets the "tenant_id" field.

func (*UserMutation) TenantID added in v0.0.3

func (m *UserMutation) TenantID() (r uint32, exists bool)

TenantID returns the value of the "tenant_id" field in the mutation.

func (*UserMutation) TenantIDCleared added in v0.0.3

func (m *UserMutation) TenantIDCleared() bool

TenantIDCleared returns if the "tenant_id" field was cleared in this mutation.

func (UserMutation) Tx

func (m UserMutation) Tx() (*Tx, error)

Tx returns an `ent.Tx` for mutations that were executed in transactions; it returns an error otherwise.

func (*UserMutation) Type

func (m *UserMutation) Type() string

Type returns the node type of this mutation (User).

func (*UserMutation) Where

func (m *UserMutation) Where(ps ...predicate.User)

Where appends a list predicates to the UserMutation builder.

func (*UserMutation) WhereP

func (m *UserMutation) WhereP(ps ...func(*sql.Selector))

WhereP appends storage-level predicates to the UserMutation builder. Using this method, users can use type-assertion to append predicates that do not depend on any generated package.

type UserQuery

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

UserQuery is the builder for querying User entities.

func (*UserQuery) Aggregate

func (_q *UserQuery) Aggregate(fns ...AggregateFunc) *UserSelect

Aggregate returns a UserSelect configured with the given aggregations.

func (*UserQuery) All

func (_q *UserQuery) All(ctx context.Context) ([]*User, error)

All executes the query and returns a list of Users.

func (*UserQuery) AllX

func (_q *UserQuery) AllX(ctx context.Context) []*User

AllX is like All, but panics if an error occurs.

func (*UserQuery) Clone

func (_q *UserQuery) Clone() *UserQuery

Clone returns a duplicate of the UserQuery builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (*UserQuery) Count

func (_q *UserQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (*UserQuery) CountX

func (_q *UserQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (*UserQuery) Exist

func (_q *UserQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (*UserQuery) ExistX

func (_q *UserQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (*UserQuery) Filter

func (_q *UserQuery) Filter() *UserFilter

Filter returns a Filter implementation to apply filters on the UserQuery builder.

func (*UserQuery) First

func (_q *UserQuery) First(ctx context.Context) (*User, error)

First returns the first User entity from the query. Returns a *NotFoundError when no User was found.

func (*UserQuery) FirstID

func (_q *UserQuery) FirstID(ctx context.Context) (id uint32, err error)

FirstID returns the first User ID from the query. Returns a *NotFoundError when no User ID was found.

func (*UserQuery) FirstIDX

func (_q *UserQuery) FirstIDX(ctx context.Context) uint32

FirstIDX is like FirstID, but panics if an error occurs.

func (*UserQuery) FirstX

func (_q *UserQuery) FirstX(ctx context.Context) *User

FirstX is like First, but panics if an error occurs.

func (*UserQuery) GroupBy

func (_q *UserQuery) GroupBy(field string, fields ...string) *UserGroupBy

GroupBy is used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

Example:

var v []struct {
	TenantID uint32 `json:"tenant_id,omitempty"`
	Count int `json:"count,omitempty"`
}

client.User.Query().
	GroupBy(user.FieldTenantID).
	Aggregate(ent.Count()).
	Scan(ctx, &v)

func (*UserQuery) IDs

func (_q *UserQuery) IDs(ctx context.Context) (ids []uint32, err error)

IDs executes the query and returns a list of User IDs.

func (*UserQuery) IDsX

func (_q *UserQuery) IDsX(ctx context.Context) []uint32

IDsX is like IDs, but panics if an error occurs.

func (*UserQuery) Limit

func (_q *UserQuery) Limit(limit int) *UserQuery

Limit the number of records to be returned by this query.

func (*UserQuery) Modify

func (_q *UserQuery) Modify(modifiers ...func(s *sql.Selector)) *UserSelect

Modify adds a query modifier for attaching custom logic to queries.

func (*UserQuery) Offset

func (_q *UserQuery) Offset(offset int) *UserQuery

Offset to start from.

func (*UserQuery) Only

func (_q *UserQuery) Only(ctx context.Context) (*User, error)

Only returns a single User entity found by the query, ensuring it only returns one. Returns a *NotSingularError when more than one User entity is found. Returns a *NotFoundError when no User entities are found.

func (*UserQuery) OnlyID

func (_q *UserQuery) OnlyID(ctx context.Context) (id uint32, err error)

OnlyID is like Only, but returns the only User ID in the query. Returns a *NotSingularError when more than one User ID is found. Returns a *NotFoundError when no entities are found.

func (*UserQuery) OnlyIDX

func (_q *UserQuery) OnlyIDX(ctx context.Context) uint32

OnlyIDX is like OnlyID, but panics if an error occurs.

func (*UserQuery) OnlyX

func (_q *UserQuery) OnlyX(ctx context.Context) *User

OnlyX is like Only, but panics if an error occurs.

func (*UserQuery) Order

func (_q *UserQuery) Order(o ...user.OrderOption) *UserQuery

Order specifies how the records should be ordered.

func (*UserQuery) Select

func (_q *UserQuery) Select(fields ...string) *UserSelect

Select allows the selection one or more fields/columns for the given query, instead of selecting all fields in the entity.

Example:

var v []struct {
	TenantID uint32 `json:"tenant_id,omitempty"`
}

client.User.Query().
	Select(user.FieldTenantID).
	Scan(ctx, &v)

func (*UserQuery) Unique

func (_q *UserQuery) Unique(unique bool) *UserQuery

Unique configures the query builder to filter duplicate records on query. By default, unique is set to true, and can be disabled using this method.

func (*UserQuery) Where

func (_q *UserQuery) Where(ps ...predicate.User) *UserQuery

Where adds a new predicate for the UserQuery builder.

type UserSelect

type UserSelect struct {
	*UserQuery
	// contains filtered or unexported fields
}

UserSelect is the builder for selecting fields of User entities.

func (*UserSelect) Aggregate

func (_s *UserSelect) Aggregate(fns ...AggregateFunc) *UserSelect

Aggregate adds the given aggregation functions to the selector query.

func (*UserSelect) Bool

func (s *UserSelect) Bool(ctx context.Context) (_ bool, err error)

Bool returns a single bool from a selector. It is only allowed when selecting one field.

func (*UserSelect) BoolX

func (s *UserSelect) BoolX(ctx context.Context) bool

BoolX is like Bool, but panics if an error occurs.

func (*UserSelect) Bools

func (s *UserSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from a selector. It is only allowed when selecting one field.

func (*UserSelect) BoolsX

func (s *UserSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*UserSelect) Float64

func (s *UserSelect) Float64(ctx context.Context) (_ float64, err error)

Float64 returns a single float64 from a selector. It is only allowed when selecting one field.

func (*UserSelect) Float64X

func (s *UserSelect) Float64X(ctx context.Context) float64

Float64X is like Float64, but panics if an error occurs.

func (*UserSelect) Float64s

func (s *UserSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from a selector. It is only allowed when selecting one field.

func (*UserSelect) Float64sX

func (s *UserSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*UserSelect) Int

func (s *UserSelect) Int(ctx context.Context) (_ int, err error)

Int returns a single int from a selector. It is only allowed when selecting one field.

func (*UserSelect) IntX

func (s *UserSelect) IntX(ctx context.Context) int

IntX is like Int, but panics if an error occurs.

func (*UserSelect) Ints

func (s *UserSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from a selector. It is only allowed when selecting one field.

func (*UserSelect) IntsX

func (s *UserSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*UserSelect) Modify

func (_s *UserSelect) Modify(modifiers ...func(s *sql.Selector)) *UserSelect

Modify adds a query modifier for attaching custom logic to queries.

func (*UserSelect) Scan

func (_s *UserSelect) Scan(ctx context.Context, v any) error

Scan applies the selector query and scans the result into the given value.

func (*UserSelect) ScanX

func (s *UserSelect) ScanX(ctx context.Context, v any)

ScanX is like Scan, but panics if an error occurs.

func (*UserSelect) String

func (s *UserSelect) String(ctx context.Context) (_ string, err error)

String returns a single string from a selector. It is only allowed when selecting one field.

func (*UserSelect) StringX

func (s *UserSelect) StringX(ctx context.Context) string

StringX is like String, but panics if an error occurs.

func (*UserSelect) Strings

func (s *UserSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from a selector. It is only allowed when selecting one field.

func (*UserSelect) StringsX

func (s *UserSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type UserUpdate

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

UserUpdate is the builder for updating User entities.

func (*UserUpdate) AddAge

func (_u *UserUpdate) AddAge(v int32) *UserUpdate

AddAge adds value to the "age" field.

func (*UserUpdate) Exec

func (_u *UserUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (*UserUpdate) ExecX

func (_u *UserUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpdate) Modify

func (_u *UserUpdate) Modify(modifiers ...func(u *sql.UpdateBuilder)) *UserUpdate

Modify adds a statement modifier for attaching custom logic to the UPDATE statement.

func (*UserUpdate) Mutation

func (_u *UserUpdate) Mutation() *UserMutation

Mutation returns the UserMutation object of the builder.

func (*UserUpdate) Save

func (_u *UserUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of nodes affected by the update operation.

func (*UserUpdate) SaveX

func (_u *UserUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (*UserUpdate) SetAge

func (_u *UserUpdate) SetAge(v uint32) *UserUpdate

SetAge sets the "age" field.

func (*UserUpdate) SetName

func (_u *UserUpdate) SetName(v string) *UserUpdate

SetName sets the "name" field.

func (*UserUpdate) SetNillableAge

func (_u *UserUpdate) SetNillableAge(v *uint32) *UserUpdate

SetNillableAge sets the "age" field if the given value is not nil.

func (*UserUpdate) SetNillableName

func (_u *UserUpdate) SetNillableName(v *string) *UserUpdate

SetNillableName sets the "name" field if the given value is not nil.

func (*UserUpdate) Where

func (_u *UserUpdate) Where(ps ...predicate.User) *UserUpdate

Where appends a list predicates to the UserUpdate builder.

type UserUpdateOne

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

UserUpdateOne is the builder for updating a single User entity.

func (*UserUpdateOne) AddAge

func (_u *UserUpdateOne) AddAge(v int32) *UserUpdateOne

AddAge adds value to the "age" field.

func (*UserUpdateOne) Exec

func (_u *UserUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (*UserUpdateOne) ExecX

func (_u *UserUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpdateOne) Modify

func (_u *UserUpdateOne) Modify(modifiers ...func(u *sql.UpdateBuilder)) *UserUpdateOne

Modify adds a statement modifier for attaching custom logic to the UPDATE statement.

func (*UserUpdateOne) Mutation

func (_u *UserUpdateOne) Mutation() *UserMutation

Mutation returns the UserMutation object of the builder.

func (*UserUpdateOne) Save

func (_u *UserUpdateOne) Save(ctx context.Context) (*User, error)

Save executes the query and returns the updated User entity.

func (*UserUpdateOne) SaveX

func (_u *UserUpdateOne) SaveX(ctx context.Context) *User

SaveX is like Save, but panics if an error occurs.

func (*UserUpdateOne) Select

func (_u *UserUpdateOne) Select(field string, fields ...string) *UserUpdateOne

Select allows selecting one or more fields (columns) of the returned entity. The default is selecting all fields defined in the entity schema.

func (*UserUpdateOne) SetAge

func (_u *UserUpdateOne) SetAge(v uint32) *UserUpdateOne

SetAge sets the "age" field.

func (*UserUpdateOne) SetName

func (_u *UserUpdateOne) SetName(v string) *UserUpdateOne

SetName sets the "name" field.

func (*UserUpdateOne) SetNillableAge

func (_u *UserUpdateOne) SetNillableAge(v *uint32) *UserUpdateOne

SetNillableAge sets the "age" field if the given value is not nil.

func (*UserUpdateOne) SetNillableName

func (_u *UserUpdateOne) SetNillableName(v *string) *UserUpdateOne

SetNillableName sets the "name" field if the given value is not nil.

func (*UserUpdateOne) Where

func (_u *UserUpdateOne) Where(ps ...predicate.User) *UserUpdateOne

Where appends a list predicates to the UserUpdate builder.

type UserUpsert

type UserUpsert struct {
	*sql.UpdateSet
}

UserUpsert is the "OnConflict" setter.

func (*UserUpsert) AddAge

func (u *UserUpsert) AddAge(v uint32) *UserUpsert

AddAge adds v to the "age" field.

func (*UserUpsert) SetAge

func (u *UserUpsert) SetAge(v uint32) *UserUpsert

SetAge sets the "age" field.

func (*UserUpsert) SetName

func (u *UserUpsert) SetName(v string) *UserUpsert

SetName sets the "name" field.

func (*UserUpsert) UpdateAge

func (u *UserUpsert) UpdateAge() *UserUpsert

UpdateAge sets the "age" field to the value that was provided on create.

func (*UserUpsert) UpdateName

func (u *UserUpsert) UpdateName() *UserUpsert

UpdateName sets the "name" field to the value that was provided on create.

type UserUpsertBulk

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

UserUpsertBulk is the builder for "upsert"-ing a bulk of User nodes.

func (*UserUpsertBulk) AddAge

func (u *UserUpsertBulk) AddAge(v uint32) *UserUpsertBulk

AddAge adds v to the "age" field.

func (*UserUpsertBulk) DoNothing

func (u *UserUpsertBulk) DoNothing() *UserUpsertBulk

DoNothing configures the conflict_action to `DO NOTHING`. Supported only by SQLite and PostgreSQL.

func (*UserUpsertBulk) Exec

func (u *UserUpsertBulk) Exec(ctx context.Context) error

Exec executes the query.

func (*UserUpsertBulk) ExecX

func (u *UserUpsertBulk) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpsertBulk) Ignore

func (u *UserUpsertBulk) Ignore() *UserUpsertBulk

Ignore sets each column to itself in case of conflict. Using this option is equivalent to using:

client.User.Create().
	OnConflict(sql.ResolveWithIgnore()).
	Exec(ctx)

func (*UserUpsertBulk) SetAge

func (u *UserUpsertBulk) SetAge(v uint32) *UserUpsertBulk

SetAge sets the "age" field.

func (*UserUpsertBulk) SetName

func (u *UserUpsertBulk) SetName(v string) *UserUpsertBulk

SetName sets the "name" field.

func (*UserUpsertBulk) Update

func (u *UserUpsertBulk) Update(set func(*UserUpsert)) *UserUpsertBulk

Update allows overriding fields `UPDATE` values. See the UserCreateBulk.OnConflict documentation for more info.

func (*UserUpsertBulk) UpdateAge

func (u *UserUpsertBulk) UpdateAge() *UserUpsertBulk

UpdateAge sets the "age" field to the value that was provided on create.

func (*UserUpsertBulk) UpdateName

func (u *UserUpsertBulk) UpdateName() *UserUpsertBulk

UpdateName sets the "name" field to the value that was provided on create.

func (*UserUpsertBulk) UpdateNewValues

func (u *UserUpsertBulk) UpdateNewValues() *UserUpsertBulk

UpdateNewValues updates the mutable fields using the new values that were set on create. Using this option is equivalent to using:

client.User.Create().
	OnConflict(
		sql.ResolveWithNewValues(),
		sql.ResolveWith(func(u *sql.UpdateSet) {
			u.SetIgnore(user.FieldID)
		}),
	).
	Exec(ctx)

type UserUpsertOne

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

UserUpsertOne is the builder for "upsert"-ing

one User node.

func (*UserUpsertOne) AddAge

func (u *UserUpsertOne) AddAge(v uint32) *UserUpsertOne

AddAge adds v to the "age" field.

func (*UserUpsertOne) DoNothing

func (u *UserUpsertOne) DoNothing() *UserUpsertOne

DoNothing configures the conflict_action to `DO NOTHING`. Supported only by SQLite and PostgreSQL.

func (*UserUpsertOne) Exec

func (u *UserUpsertOne) Exec(ctx context.Context) error

Exec executes the query.

func (*UserUpsertOne) ExecX

func (u *UserUpsertOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpsertOne) ID

func (u *UserUpsertOne) ID(ctx context.Context) (id uint32, err error)

Exec executes the UPSERT query and returns the inserted/updated ID.

func (*UserUpsertOne) IDX

func (u *UserUpsertOne) IDX(ctx context.Context) uint32

IDX is like ID, but panics if an error occurs.

func (*UserUpsertOne) Ignore

func (u *UserUpsertOne) Ignore() *UserUpsertOne

Ignore sets each column to itself in case of conflict. Using this option is equivalent to using:

client.User.Create().
    OnConflict(sql.ResolveWithIgnore()).
    Exec(ctx)

func (*UserUpsertOne) SetAge

func (u *UserUpsertOne) SetAge(v uint32) *UserUpsertOne

SetAge sets the "age" field.

func (*UserUpsertOne) SetName

func (u *UserUpsertOne) SetName(v string) *UserUpsertOne

SetName sets the "name" field.

func (*UserUpsertOne) Update

func (u *UserUpsertOne) Update(set func(*UserUpsert)) *UserUpsertOne

Update allows overriding fields `UPDATE` values. See the UserCreate.OnConflict documentation for more info.

func (*UserUpsertOne) UpdateAge

func (u *UserUpsertOne) UpdateAge() *UserUpsertOne

UpdateAge sets the "age" field to the value that was provided on create.

func (*UserUpsertOne) UpdateName

func (u *UserUpsertOne) UpdateName() *UserUpsertOne

UpdateName sets the "name" field to the value that was provided on create.

func (*UserUpsertOne) UpdateNewValues

func (u *UserUpsertOne) UpdateNewValues() *UserUpsertOne

UpdateNewValues updates the mutable fields using the new values that were set on create except the ID field. Using this option is equivalent to using:

client.User.Create().
	OnConflict(
		sql.ResolveWithNewValues(),
		sql.ResolveWith(func(u *sql.UpdateSet) {
			u.SetIgnore(user.FieldID)
		}),
	).
	Exec(ctx)

type Users

type Users []*User

Users is a parsable slice of User.

type ValidationError

type ValidationError struct {
	Name string // Field or edge name.
	// contains filtered or unexported fields
}

ValidationError returns when validating a field or edge fails.

func (*ValidationError) Error

func (e *ValidationError) Error() string

Error implements the error interface.

func (*ValidationError) Unwrap

func (e *ValidationError) Unwrap() error

Unwrap implements the errors.Wrapper interface.

type Value

type Value = ent.Value

ent aliases to avoid import conflicts in user's code.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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