Documentation ¶
Index ¶
- Constants
- Variables
- func Asc(fields ...string) func(*sql.Selector)
- func Desc(fields ...string) func(*sql.Selector)
- func IsConstraintError(err error) bool
- func IsNotFound(err error) bool
- func IsNotLoaded(err error) bool
- func IsNotSingular(err error) bool
- func IsValidationError(err error) bool
- func MaskNotFound(err error) error
- func NewContext(parent context.Context, c *Client) context.Context
- func NewTxContext(parent context.Context, tx *Tx) context.Context
- func OpenTxFromContext(ctx context.Context) (context.Context, driver.Tx, error)
- type AggregateFunc
- type Client
- func (c *Client) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error)
- func (c *Client) Close() error
- func (c *Client) Debug() *Client
- func (c *Client) Intercept(interceptors ...Interceptor)
- func (c *Client) Mutate(ctx context.Context, m Mutation) (Value, error)
- func (c *Client) Noder(ctx context.Context, id xid.ID, opts ...NodeOption) (_ Noder, err error)
- func (c *Client) Noders(ctx context.Context, ids []xid.ID, opts ...NodeOption) ([]Noder, error)
- func (c *Client) OpenTx(ctx context.Context) (context.Context, driver.Tx, error)
- func (c *Client) Tx(ctx context.Context) (*Tx, error)
- func (c *Client) Use(hooks ...Hook)
- type CommitFunc
- type CommitHook
- type Committer
- type ConstraintError
- type CreateTodoInput
- type Cursor
- type Hook
- type InterceptFunc
- type Interceptor
- type MutateFunc
- type Mutation
- type Mutator
- type NodeOption
- type Noder
- type NotFoundError
- type NotLoadedError
- type NotSingularError
- type Op
- type Option
- type OrderDirection
- type OrderFunc
- type PageInfo
- type Policy
- type Querier
- type QuerierFunc
- type Query
- type QueryContext
- type RollbackFunc
- type RollbackHook
- type Rollbacker
- type Todo
- func (t *Todo) Children(ctx context.Context) (result []*Todo, err error)
- func (*Todo) IsNode()
- func (t *Todo) NamedChildren(name string) ([]*Todo, error)
- func (t *Todo) Parent(ctx context.Context) (*Todo, error)
- func (t *Todo) QueryChildren() *TodoQuery
- func (t *Todo) QueryParent() *TodoQuery
- func (t *Todo) String() string
- func (t *Todo) ToEdge(order *TodoOrder) *TodoEdge
- func (t *Todo) Unwrap() *Todo
- func (t *Todo) Update() *TodoUpdateOne
- func (t *Todo) Value(name string) (ent.Value, error)
- type TodoClient
- func (c *TodoClient) Create() *TodoCreate
- func (c *TodoClient) CreateBulk(builders ...*TodoCreate) *TodoCreateBulk
- func (c *TodoClient) Delete() *TodoDelete
- func (c *TodoClient) DeleteOne(t *Todo) *TodoDeleteOne
- func (c *TodoClient) DeleteOneID(id xid.ID) *TodoDeleteOne
- func (c *TodoClient) Get(ctx context.Context, id xid.ID) (*Todo, error)
- func (c *TodoClient) GetX(ctx context.Context, id xid.ID) *Todo
- func (c *TodoClient) Hooks() []Hook
- func (c *TodoClient) Intercept(interceptors ...Interceptor)
- func (c *TodoClient) Interceptors() []Interceptor
- func (c *TodoClient) Query() *TodoQuery
- func (c *TodoClient) QueryChildren(t *Todo) *TodoQuery
- func (c *TodoClient) QueryParent(t *Todo) *TodoQuery
- func (c *TodoClient) Update() *TodoUpdate
- func (c *TodoClient) UpdateOne(t *Todo) *TodoUpdateOne
- func (c *TodoClient) UpdateOneID(id xid.ID) *TodoUpdateOne
- func (c *TodoClient) Use(hooks ...Hook)
- type TodoConnection
- type TodoCreate
- func (tc *TodoCreate) AddChildIDs(ids ...xid.ID) *TodoCreate
- func (tc *TodoCreate) AddChildren(t ...*Todo) *TodoCreate
- func (tc *TodoCreate) Exec(ctx context.Context) error
- func (tc *TodoCreate) ExecX(ctx context.Context)
- func (tc *TodoCreate) Mutation() *TodoMutation
- func (tc *TodoCreate) Save(ctx context.Context) (*Todo, error)
- func (tc *TodoCreate) SaveX(ctx context.Context) *Todo
- func (tc *TodoCreate) SetCreatedAt(t time.Time) *TodoCreate
- func (tc *TodoCreate) SetID(x xid.ID) *TodoCreate
- func (c *TodoCreate) SetInput(i CreateTodoInput) *TodoCreate
- func (tc *TodoCreate) SetNillableCreatedAt(t *time.Time) *TodoCreate
- func (tc *TodoCreate) SetNillableID(x *xid.ID) *TodoCreate
- func (tc *TodoCreate) SetNillableParentID(id *xid.ID) *TodoCreate
- func (tc *TodoCreate) SetNillablePriority(i *int) *TodoCreate
- func (tc *TodoCreate) SetNillableUpdatedAt(t *time.Time) *TodoCreate
- func (tc *TodoCreate) SetParent(t *Todo) *TodoCreate
- func (tc *TodoCreate) SetParentID(id xid.ID) *TodoCreate
- func (tc *TodoCreate) SetPriority(i int) *TodoCreate
- func (tc *TodoCreate) SetStatus(t todo.Status) *TodoCreate
- func (tc *TodoCreate) SetText(s string) *TodoCreate
- func (tc *TodoCreate) SetUpdatedAt(t time.Time) *TodoCreate
- type TodoCreateBulk
- type TodoDelete
- type TodoDeleteOne
- type TodoEdge
- type TodoEdges
- type TodoGroupBy
- func (tgb *TodoGroupBy) Aggregate(fns ...AggregateFunc) *TodoGroupBy
- func (s *TodoGroupBy) Bool(ctx context.Context) (_ bool, err error)
- func (s *TodoGroupBy) BoolX(ctx context.Context) bool
- func (s *TodoGroupBy) Bools(ctx context.Context) ([]bool, error)
- func (s *TodoGroupBy) BoolsX(ctx context.Context) []bool
- func (s *TodoGroupBy) Float64(ctx context.Context) (_ float64, err error)
- func (s *TodoGroupBy) Float64X(ctx context.Context) float64
- func (s *TodoGroupBy) Float64s(ctx context.Context) ([]float64, error)
- func (s *TodoGroupBy) Float64sX(ctx context.Context) []float64
- func (s *TodoGroupBy) Int(ctx context.Context) (_ int, err error)
- func (s *TodoGroupBy) IntX(ctx context.Context) int
- func (s *TodoGroupBy) Ints(ctx context.Context) ([]int, error)
- func (s *TodoGroupBy) IntsX(ctx context.Context) []int
- func (tgb *TodoGroupBy) Scan(ctx context.Context, v any) error
- func (s *TodoGroupBy) ScanX(ctx context.Context, v any)
- func (s *TodoGroupBy) String(ctx context.Context) (_ string, err error)
- func (s *TodoGroupBy) StringX(ctx context.Context) string
- func (s *TodoGroupBy) Strings(ctx context.Context) ([]string, error)
- func (s *TodoGroupBy) StringsX(ctx context.Context) []string
- type TodoMutation
- func (m *TodoMutation) AddChildIDs(ids ...xid.ID)
- func (m *TodoMutation) AddField(name string, value ent.Value) error
- func (m *TodoMutation) AddPriority(i int)
- func (m *TodoMutation) AddedEdges() []string
- func (m *TodoMutation) AddedField(name string) (ent.Value, bool)
- func (m *TodoMutation) AddedFields() []string
- func (m *TodoMutation) AddedIDs(name string) []ent.Value
- func (m *TodoMutation) AddedPriority() (r int, exists bool)
- func (m *TodoMutation) ChildrenCleared() bool
- func (m *TodoMutation) ChildrenIDs() (ids []xid.ID)
- func (m *TodoMutation) ClearChildren()
- func (m *TodoMutation) ClearEdge(name string) error
- func (m *TodoMutation) ClearField(name string) error
- func (m *TodoMutation) ClearParent()
- func (m *TodoMutation) ClearedEdges() []string
- func (m *TodoMutation) ClearedFields() []string
- func (m TodoMutation) Client() *Client
- func (m *TodoMutation) CreatedAt() (r time.Time, exists bool)
- func (m *TodoMutation) EdgeCleared(name string) bool
- func (m *TodoMutation) Field(name string) (ent.Value, bool)
- func (m *TodoMutation) FieldCleared(name string) bool
- func (m *TodoMutation) Fields() []string
- func (m *TodoMutation) ID() (id xid.ID, exists bool)
- func (m *TodoMutation) IDs(ctx context.Context) ([]xid.ID, error)
- func (m *TodoMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error)
- func (m *TodoMutation) OldField(ctx context.Context, name string) (ent.Value, error)
- func (m *TodoMutation) OldPriority(ctx context.Context) (v int, err error)
- func (m *TodoMutation) OldStatus(ctx context.Context) (v todo.Status, err error)
- func (m *TodoMutation) OldText(ctx context.Context) (v string, err error)
- func (m *TodoMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error)
- func (m *TodoMutation) Op() Op
- func (m *TodoMutation) ParentCleared() bool
- func (m *TodoMutation) ParentID() (id xid.ID, exists bool)
- func (m *TodoMutation) ParentIDs() (ids []xid.ID)
- func (m *TodoMutation) Priority() (r int, exists bool)
- func (m *TodoMutation) RemoveChildIDs(ids ...xid.ID)
- func (m *TodoMutation) RemovedChildrenIDs() (ids []xid.ID)
- func (m *TodoMutation) RemovedEdges() []string
- func (m *TodoMutation) RemovedIDs(name string) []ent.Value
- func (m *TodoMutation) ResetChildren()
- func (m *TodoMutation) ResetCreatedAt()
- func (m *TodoMutation) ResetEdge(name string) error
- func (m *TodoMutation) ResetField(name string) error
- func (m *TodoMutation) ResetParent()
- func (m *TodoMutation) ResetPriority()
- func (m *TodoMutation) ResetStatus()
- func (m *TodoMutation) ResetText()
- func (m *TodoMutation) ResetUpdatedAt()
- func (m *TodoMutation) SetCreatedAt(t time.Time)
- func (m *TodoMutation) SetField(name string, value ent.Value) error
- func (m *TodoMutation) SetID(id xid.ID)
- func (m *TodoMutation) SetOp(op Op)
- func (m *TodoMutation) SetParentID(id xid.ID)
- func (m *TodoMutation) SetPriority(i int)
- func (m *TodoMutation) SetStatus(t todo.Status)
- func (m *TodoMutation) SetText(s string)
- func (m *TodoMutation) SetUpdatedAt(t time.Time)
- func (m *TodoMutation) Status() (r todo.Status, exists bool)
- func (m *TodoMutation) Text() (r string, exists bool)
- func (m TodoMutation) Tx() (*Tx, error)
- func (m *TodoMutation) Type() string
- func (m *TodoMutation) UpdatedAt() (r time.Time, exists bool)
- func (m *TodoMutation) Where(ps ...predicate.Todo)
- func (m *TodoMutation) WhereP(ps ...func(*sql.Selector))
- type TodoOrder
- type TodoOrderField
- type TodoPaginateOption
- type TodoQuery
- func (tq *TodoQuery) Aggregate(fns ...AggregateFunc) *TodoSelect
- func (tq *TodoQuery) All(ctx context.Context) ([]*Todo, error)
- func (tq *TodoQuery) AllX(ctx context.Context) []*Todo
- func (tq *TodoQuery) Clone() *TodoQuery
- func (t *TodoQuery) CollectFields(ctx context.Context, satisfies ...string) (*TodoQuery, error)
- func (tq *TodoQuery) Count(ctx context.Context) (int, error)
- func (tq *TodoQuery) CountX(ctx context.Context) int
- func (tq *TodoQuery) Exist(ctx context.Context) (bool, error)
- func (tq *TodoQuery) ExistX(ctx context.Context) bool
- func (tq *TodoQuery) First(ctx context.Context) (*Todo, error)
- func (tq *TodoQuery) FirstID(ctx context.Context) (id xid.ID, err error)
- func (tq *TodoQuery) FirstIDX(ctx context.Context) xid.ID
- func (tq *TodoQuery) FirstX(ctx context.Context) *Todo
- func (tq *TodoQuery) GroupBy(field string, fields ...string) *TodoGroupBy
- func (tq *TodoQuery) IDs(ctx context.Context) (ids []xid.ID, err error)
- func (tq *TodoQuery) IDsX(ctx context.Context) []xid.ID
- func (tq *TodoQuery) Limit(limit int) *TodoQuery
- func (tq *TodoQuery) Offset(offset int) *TodoQuery
- func (tq *TodoQuery) Only(ctx context.Context) (*Todo, error)
- func (tq *TodoQuery) OnlyID(ctx context.Context) (id xid.ID, err error)
- func (tq *TodoQuery) OnlyIDX(ctx context.Context) xid.ID
- func (tq *TodoQuery) OnlyX(ctx context.Context) *Todo
- func (tq *TodoQuery) Order(o ...todo.OrderOption) *TodoQuery
- func (t *TodoQuery) Paginate(ctx context.Context, after *Cursor, first *int, before *Cursor, last *int, ...) (*TodoConnection, error)
- func (tq *TodoQuery) QueryChildren() *TodoQuery
- func (tq *TodoQuery) QueryParent() *TodoQuery
- func (tq *TodoQuery) Select(fields ...string) *TodoSelect
- func (tq *TodoQuery) Unique(unique bool) *TodoQuery
- func (tq *TodoQuery) Where(ps ...predicate.Todo) *TodoQuery
- func (tq *TodoQuery) WithChildren(opts ...func(*TodoQuery)) *TodoQuery
- func (tq *TodoQuery) WithNamedChildren(name string, opts ...func(*TodoQuery)) *TodoQuery
- func (tq *TodoQuery) WithParent(opts ...func(*TodoQuery)) *TodoQuery
- type TodoSelect
- func (ts *TodoSelect) Aggregate(fns ...AggregateFunc) *TodoSelect
- func (s *TodoSelect) Bool(ctx context.Context) (_ bool, err error)
- func (s *TodoSelect) BoolX(ctx context.Context) bool
- func (s *TodoSelect) Bools(ctx context.Context) ([]bool, error)
- func (s *TodoSelect) BoolsX(ctx context.Context) []bool
- func (s *TodoSelect) Float64(ctx context.Context) (_ float64, err error)
- func (s *TodoSelect) Float64X(ctx context.Context) float64
- func (s *TodoSelect) Float64s(ctx context.Context) ([]float64, error)
- func (s *TodoSelect) Float64sX(ctx context.Context) []float64
- func (s *TodoSelect) Int(ctx context.Context) (_ int, err error)
- func (s *TodoSelect) IntX(ctx context.Context) int
- func (s *TodoSelect) Ints(ctx context.Context) ([]int, error)
- func (s *TodoSelect) IntsX(ctx context.Context) []int
- func (ts *TodoSelect) Scan(ctx context.Context, v any) error
- func (s *TodoSelect) ScanX(ctx context.Context, v any)
- func (s *TodoSelect) String(ctx context.Context) (_ string, err error)
- func (s *TodoSelect) StringX(ctx context.Context) string
- func (s *TodoSelect) Strings(ctx context.Context) ([]string, error)
- func (s *TodoSelect) StringsX(ctx context.Context) []string
- type TodoUpdate
- func (tu *TodoUpdate) AddChildIDs(ids ...xid.ID) *TodoUpdate
- func (tu *TodoUpdate) AddChildren(t ...*Todo) *TodoUpdate
- func (tu *TodoUpdate) AddPriority(i int) *TodoUpdate
- func (tu *TodoUpdate) ClearChildren() *TodoUpdate
- func (tu *TodoUpdate) ClearParent() *TodoUpdate
- func (tu *TodoUpdate) Exec(ctx context.Context) error
- func (tu *TodoUpdate) ExecX(ctx context.Context)
- func (tu *TodoUpdate) Mutation() *TodoMutation
- func (tu *TodoUpdate) RemoveChildIDs(ids ...xid.ID) *TodoUpdate
- func (tu *TodoUpdate) RemoveChildren(t ...*Todo) *TodoUpdate
- func (tu *TodoUpdate) Save(ctx context.Context) (int, error)
- func (tu *TodoUpdate) SaveX(ctx context.Context) int
- func (c *TodoUpdate) SetInput(i UpdateTodoInput) *TodoUpdate
- func (tu *TodoUpdate) SetNillableParentID(id *xid.ID) *TodoUpdate
- func (tu *TodoUpdate) SetNillablePriority(i *int) *TodoUpdate
- func (tu *TodoUpdate) SetParent(t *Todo) *TodoUpdate
- func (tu *TodoUpdate) SetParentID(id xid.ID) *TodoUpdate
- func (tu *TodoUpdate) SetPriority(i int) *TodoUpdate
- func (tu *TodoUpdate) SetStatus(t todo.Status) *TodoUpdate
- func (tu *TodoUpdate) SetText(s string) *TodoUpdate
- func (tu *TodoUpdate) SetUpdatedAt(t time.Time) *TodoUpdate
- func (tu *TodoUpdate) Where(ps ...predicate.Todo) *TodoUpdate
- type TodoUpdateOne
- func (tuo *TodoUpdateOne) AddChildIDs(ids ...xid.ID) *TodoUpdateOne
- func (tuo *TodoUpdateOne) AddChildren(t ...*Todo) *TodoUpdateOne
- func (tuo *TodoUpdateOne) AddPriority(i int) *TodoUpdateOne
- func (tuo *TodoUpdateOne) ClearChildren() *TodoUpdateOne
- func (tuo *TodoUpdateOne) ClearParent() *TodoUpdateOne
- func (tuo *TodoUpdateOne) Exec(ctx context.Context) error
- func (tuo *TodoUpdateOne) ExecX(ctx context.Context)
- func (tuo *TodoUpdateOne) Mutation() *TodoMutation
- func (tuo *TodoUpdateOne) RemoveChildIDs(ids ...xid.ID) *TodoUpdateOne
- func (tuo *TodoUpdateOne) RemoveChildren(t ...*Todo) *TodoUpdateOne
- func (tuo *TodoUpdateOne) Save(ctx context.Context) (*Todo, error)
- func (tuo *TodoUpdateOne) SaveX(ctx context.Context) *Todo
- func (tuo *TodoUpdateOne) Select(field string, fields ...string) *TodoUpdateOne
- func (c *TodoUpdateOne) SetInput(i UpdateTodoInput) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetNillableParentID(id *xid.ID) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetNillablePriority(i *int) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetParent(t *Todo) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetParentID(id xid.ID) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetPriority(i int) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetStatus(t todo.Status) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetText(s string) *TodoUpdateOne
- func (tuo *TodoUpdateOne) SetUpdatedAt(t time.Time) *TodoUpdateOne
- func (tuo *TodoUpdateOne) Where(ps ...predicate.Todo) *TodoUpdateOne
- type TodoWhereInput
- type Todos
- type TraverseFunc
- type Traverser
- type Tx
- type UpdateTodoInput
- type ValidationError
- type Value
Constants ¶
const ( // Operation types. OpCreate = ent.OpCreate OpDelete = ent.OpDelete OpDeleteOne = ent.OpDeleteOne OpUpdate = ent.OpUpdate OpUpdateOne = ent.OpUpdateOne // Node types. TypeTodo = "Todo" )
Variables ¶
var ( // TodoOrderFieldText orders Todo by text. TodoOrderFieldText = &TodoOrderField{ Value: func(t *Todo) (ent.Value, error) { return t.Text, nil }, column: todo.FieldText, toTerm: todo.ByText, toCursor: func(t *Todo) Cursor { return Cursor{ ID: t.ID, Value: t.Text, } }, } // TodoOrderFieldStatus orders Todo by status. TodoOrderFieldStatus = &TodoOrderField{ Value: func(t *Todo) (ent.Value, error) { return t.Status, nil }, column: todo.FieldStatus, toTerm: todo.ByStatus, toCursor: func(t *Todo) Cursor { return Cursor{ ID: t.ID, Value: t.Status, } }, } // TodoOrderFieldPriority orders Todo by priority. TodoOrderFieldPriority = &TodoOrderField{ Value: func(t *Todo) (ent.Value, error) { return t.Priority, nil }, column: todo.FieldPriority, toTerm: todo.ByPriority, toCursor: func(t *Todo) Cursor { return Cursor{ ID: t.ID, Value: t.Priority, } }, } // TodoOrderFieldParentPriority orders by PARENT_PRIORITY. TodoOrderFieldParentPriority = &TodoOrderField{ Value: func(t *Todo) (ent.Value, error) { return t.Value("parent_priority") }, column: "parent_priority", toTerm: func(opts ...sql.OrderTermOption) todo.OrderOption { return todo.ByParentField( todo.FieldPriority, append(opts, sql.OrderSelectAs("parent_priority"))..., ) }, toCursor: func(t *Todo) Cursor { cv, _ := t.Value("parent_priority") return Cursor{ ID: t.ID, Value: cv, } }, } )
var DefaultTodoOrder = &TodoOrder{ Direction: entgql.OrderDirectionAsc, Field: &TodoOrderField{ Value: func(t *Todo) (ent.Value, error) { return t.ID, nil }, column: todo.FieldID, toTerm: todo.ByID, toCursor: func(t *Todo) Cursor { return Cursor{ID: t.ID} }, }, }
DefaultTodoOrder is the default ordering of Todo.
var ErrEmptyTodoWhereInput = errors.New("ent: empty predicate TodoWhereInput")
ErrEmptyTodoWhereInput is returned in case the TodoWhereInput is empty.
Functions ¶
func IsConstraintError ¶
IsConstraintError returns a boolean indicating whether the error is a constraint failure.
func IsNotFound ¶
IsNotFound returns a boolean indicating whether the error is a not found error.
func IsNotLoaded ¶
IsNotLoaded returns a boolean indicating whether the error is a not loaded error.
func IsNotSingular ¶
IsNotSingular returns a boolean indicating whether the error is a not singular error.
func IsValidationError ¶
IsValidationError returns a boolean indicating whether the error is a validation error.
func NewContext ¶
NewContext returns a new context with the given Client attached.
func NewTxContext ¶
NewTxContext returns a new context with the given Tx attached.
Types ¶
type AggregateFunc ¶
AggregateFunc applies an aggregation step on the group-by traversal/selector.
func As ¶
func As(fn AggregateFunc, end string) AggregateFunc
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 // Todo is the client for interacting with the Todo builders. Todo *TodoClient // contains filtered or unexported fields }
Client is the client that holds all ent builders.
func FromContext ¶
FromContext returns a Client stored inside a context, or nil if there isn't one.
func Open ¶
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) Debug ¶
Debug returns a new debug-client. It's used to get verbose logging on specific operations.
client.Debug(). Todo. 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) Noder ¶
Noder returns a Node by its id. If the NodeType was not provided, it will be derived from the id value according to the universal-id configuration.
c.Noder(ctx, id) c.Noder(ctx, id, ent.WithNodeType(typeResolver))
func (*Client) OpenTx ¶
OpenTx opens a transaction and returns a transactional context along with the created transaction.
type CommitFunc ¶
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.
type CommitHook ¶
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 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 CreateTodoInput ¶
type CreateTodoInput struct { CreatedAt *time.Time UpdatedAt *time.Time Text string Status todo.Status Priority *int ParentID *xid.ID ChildIDs []xid.ID }
CreateTodoInput represents a mutation input for creating todos.
func (*CreateTodoInput) Mutate ¶
func (i *CreateTodoInput) Mutate(m *TodoMutation)
Mutate applies the CreateTodoInput on the TodoMutation builder.
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 MutateFunc ¶
type MutateFunc = ent.MutateFunc
ent aliases to avoid import conflicts in user's code.
type NodeOption ¶
type NodeOption func(*nodeOptions)
NodeOption allows configuring the Noder execution using functional options.
func WithFixedNodeType ¶
func WithFixedNodeType(t string) NodeOption
WithFixedNodeType sets the Type of the node to a fixed value.
func WithNodeType ¶
WithNodeType sets the node Type resolver function (i.e. the table to query). If was not provided, the table will be derived from the universal-id configuration as described in: https://entgo.io/docs/migrate/#universal-ids.
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 OrderFunc ¶
OrderFunc applies an ordering on the sql selector. Deprecated: Use Asc/Desc functions or the package builders instead.
type QuerierFunc ¶
type QuerierFunc = ent.QuerierFunc
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 ¶
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.
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 ¶
Rollbacker is the interface that wraps the Rollback method.
type Todo ¶
type Todo struct { // ID of the ent. ID xid.ID `json:"id,omitempty"` // CreatedAt holds the value of the "created_at" field. CreatedAt time.Time `json:"created_at,omitempty"` // UpdatedAt holds the value of the "updated_at" field. UpdatedAt time.Time `json:"updated_at,omitempty"` // Text holds the value of the "text" field. Text string `json:"text,omitempty"` // Status holds the value of the "status" field. Status todo.Status `json:"status,omitempty"` // Priority holds the value of the "priority" field. Priority int `json:"priority,omitempty"` // Edges holds the relations/edges for other nodes in the graph. // The values are being populated by the TodoQuery when eager-loading is set. Edges TodoEdges `json:"edges"` // contains filtered or unexported fields }
Todo is the model entity for the Todo schema.
func (*Todo) NamedChildren ¶
NamedChildren returns the Children named value or an error if the edge was not loaded in eager-loading with this name.
func (*Todo) QueryChildren ¶
QueryChildren queries the "children" edge of the Todo entity.
func (*Todo) QueryParent ¶
QueryParent queries the "parent" edge of the Todo entity.
func (*Todo) Unwrap ¶
Unwrap unwraps the Todo 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 (*Todo) Update ¶
func (t *Todo) Update() *TodoUpdateOne
Update returns a builder for updating this Todo. Note that you need to call Todo.Unwrap() before calling this method if this Todo was returned from a transaction, and the transaction was committed or rolled back.
type TodoClient ¶
type TodoClient struct {
// contains filtered or unexported fields
}
TodoClient is a client for the Todo schema.
func NewTodoClient ¶
func NewTodoClient(c config) *TodoClient
NewTodoClient returns a client for the Todo from the given config.
func (*TodoClient) Create ¶
func (c *TodoClient) Create() *TodoCreate
Create returns a builder for creating a Todo entity.
func (*TodoClient) CreateBulk ¶
func (c *TodoClient) CreateBulk(builders ...*TodoCreate) *TodoCreateBulk
CreateBulk returns a builder for creating a bulk of Todo entities.
func (*TodoClient) Delete ¶
func (c *TodoClient) Delete() *TodoDelete
Delete returns a delete builder for Todo.
func (*TodoClient) DeleteOne ¶
func (c *TodoClient) DeleteOne(t *Todo) *TodoDeleteOne
DeleteOne returns a builder for deleting the given entity.
func (*TodoClient) DeleteOneID ¶
func (c *TodoClient) DeleteOneID(id xid.ID) *TodoDeleteOne
DeleteOneID returns a builder for deleting the given entity by its id.
func (*TodoClient) Intercept ¶
func (c *TodoClient) Intercept(interceptors ...Interceptor)
Intercept adds a list of query interceptors to the interceptors stack. A call to `Intercept(f, g, h)` equals to `todo.Intercept(f(g(h())))`.
func (*TodoClient) Interceptors ¶
func (c *TodoClient) Interceptors() []Interceptor
Interceptors returns the client interceptors.
func (*TodoClient) Query ¶
func (c *TodoClient) Query() *TodoQuery
Query returns a query builder for Todo.
func (*TodoClient) QueryChildren ¶
func (c *TodoClient) QueryChildren(t *Todo) *TodoQuery
QueryChildren queries the children edge of a Todo.
func (*TodoClient) QueryParent ¶
func (c *TodoClient) QueryParent(t *Todo) *TodoQuery
QueryParent queries the parent edge of a Todo.
func (*TodoClient) Update ¶
func (c *TodoClient) Update() *TodoUpdate
Update returns an update builder for Todo.
func (*TodoClient) UpdateOne ¶
func (c *TodoClient) UpdateOne(t *Todo) *TodoUpdateOne
UpdateOne returns an update builder for the given entity.
func (*TodoClient) UpdateOneID ¶
func (c *TodoClient) UpdateOneID(id xid.ID) *TodoUpdateOne
UpdateOneID returns an update builder for the given id.
func (*TodoClient) Use ¶
func (c *TodoClient) Use(hooks ...Hook)
Use adds a list of mutation hooks to the hooks stack. A call to `Use(f, g, h)` equals to `todo.Hooks(f(g(h())))`.
type TodoConnection ¶
type TodoConnection struct { Edges []*TodoEdge `json:"edges"` PageInfo PageInfo `json:"pageInfo"` TotalCount int `json:"totalCount"` }
TodoConnection is the connection containing edges to Todo.
type TodoCreate ¶
type TodoCreate struct {
// contains filtered or unexported fields
}
TodoCreate is the builder for creating a Todo entity.
func (*TodoCreate) AddChildIDs ¶
func (tc *TodoCreate) AddChildIDs(ids ...xid.ID) *TodoCreate
AddChildIDs adds the "children" edge to the Todo entity by IDs.
func (*TodoCreate) AddChildren ¶
func (tc *TodoCreate) AddChildren(t ...*Todo) *TodoCreate
AddChildren adds the "children" edges to the Todo entity.
func (*TodoCreate) Exec ¶
func (tc *TodoCreate) Exec(ctx context.Context) error
Exec executes the query.
func (*TodoCreate) ExecX ¶
func (tc *TodoCreate) ExecX(ctx context.Context)
ExecX is like Exec, but panics if an error occurs.
func (*TodoCreate) Mutation ¶
func (tc *TodoCreate) Mutation() *TodoMutation
Mutation returns the TodoMutation object of the builder.
func (*TodoCreate) Save ¶
func (tc *TodoCreate) Save(ctx context.Context) (*Todo, error)
Save creates the Todo in the database.
func (*TodoCreate) SaveX ¶
func (tc *TodoCreate) SaveX(ctx context.Context) *Todo
SaveX calls Save and panics if Save returns an error.
func (*TodoCreate) SetCreatedAt ¶
func (tc *TodoCreate) SetCreatedAt(t time.Time) *TodoCreate
SetCreatedAt sets the "created_at" field.
func (*TodoCreate) SetID ¶
func (tc *TodoCreate) SetID(x xid.ID) *TodoCreate
SetID sets the "id" field.
func (*TodoCreate) SetInput ¶
func (c *TodoCreate) SetInput(i CreateTodoInput) *TodoCreate
SetInput applies the change-set in the CreateTodoInput on the TodoCreate builder.
func (*TodoCreate) SetNillableCreatedAt ¶
func (tc *TodoCreate) SetNillableCreatedAt(t *time.Time) *TodoCreate
SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (*TodoCreate) SetNillableID ¶
func (tc *TodoCreate) SetNillableID(x *xid.ID) *TodoCreate
SetNillableID sets the "id" field if the given value is not nil.
func (*TodoCreate) SetNillableParentID ¶
func (tc *TodoCreate) SetNillableParentID(id *xid.ID) *TodoCreate
SetNillableParentID sets the "parent" edge to the Todo entity by ID if the given value is not nil.
func (*TodoCreate) SetNillablePriority ¶
func (tc *TodoCreate) SetNillablePriority(i *int) *TodoCreate
SetNillablePriority sets the "priority" field if the given value is not nil.
func (*TodoCreate) SetNillableUpdatedAt ¶
func (tc *TodoCreate) SetNillableUpdatedAt(t *time.Time) *TodoCreate
SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
func (*TodoCreate) SetParent ¶
func (tc *TodoCreate) SetParent(t *Todo) *TodoCreate
SetParent sets the "parent" edge to the Todo entity.
func (*TodoCreate) SetParentID ¶
func (tc *TodoCreate) SetParentID(id xid.ID) *TodoCreate
SetParentID sets the "parent" edge to the Todo entity by ID.
func (*TodoCreate) SetPriority ¶
func (tc *TodoCreate) SetPriority(i int) *TodoCreate
SetPriority sets the "priority" field.
func (*TodoCreate) SetStatus ¶
func (tc *TodoCreate) SetStatus(t todo.Status) *TodoCreate
SetStatus sets the "status" field.
func (*TodoCreate) SetText ¶
func (tc *TodoCreate) SetText(s string) *TodoCreate
SetText sets the "text" field.
func (*TodoCreate) SetUpdatedAt ¶
func (tc *TodoCreate) SetUpdatedAt(t time.Time) *TodoCreate
SetUpdatedAt sets the "updated_at" field.
type TodoCreateBulk ¶
type TodoCreateBulk struct {
// contains filtered or unexported fields
}
TodoCreateBulk is the builder for creating many Todo entities in bulk.
func (*TodoCreateBulk) Exec ¶
func (tcb *TodoCreateBulk) Exec(ctx context.Context) error
Exec executes the query.
func (*TodoCreateBulk) ExecX ¶
func (tcb *TodoCreateBulk) ExecX(ctx context.Context)
ExecX is like Exec, but panics if an error occurs.
type TodoDelete ¶
type TodoDelete struct {
// contains filtered or unexported fields
}
TodoDelete is the builder for deleting a Todo entity.
func (*TodoDelete) Exec ¶
func (td *TodoDelete) Exec(ctx context.Context) (int, error)
Exec executes the deletion query and returns how many vertices were deleted.
func (*TodoDelete) ExecX ¶
func (td *TodoDelete) ExecX(ctx context.Context) int
ExecX is like Exec, but panics if an error occurs.
func (*TodoDelete) Where ¶
func (td *TodoDelete) Where(ps ...predicate.Todo) *TodoDelete
Where appends a list predicates to the TodoDelete builder.
type TodoDeleteOne ¶
type TodoDeleteOne struct {
// contains filtered or unexported fields
}
TodoDeleteOne is the builder for deleting a single Todo entity.
func (*TodoDeleteOne) Exec ¶
func (tdo *TodoDeleteOne) Exec(ctx context.Context) error
Exec executes the deletion query.
func (*TodoDeleteOne) ExecX ¶
func (tdo *TodoDeleteOne) ExecX(ctx context.Context)
ExecX is like Exec, but panics if an error occurs.
func (*TodoDeleteOne) Where ¶
func (tdo *TodoDeleteOne) Where(ps ...predicate.Todo) *TodoDeleteOne
Where appends a list predicates to the TodoDelete builder.
type TodoEdges ¶
type TodoEdges struct { // Parent holds the value of the parent edge. Parent *Todo `json:"parent,omitempty"` // Children holds the value of the children edge. Children []*Todo `json:"children,omitempty"` // contains filtered or unexported fields }
TodoEdges holds the relations/edges for other nodes in the graph.
func (TodoEdges) ChildrenOrErr ¶
ChildrenOrErr returns the Children value or an error if the edge was not loaded in eager-loading.
func (TodoEdges) ParentOrErr ¶
ParentOrErr returns the Parent value or an error if the edge was not loaded in eager-loading, or loaded but was not found.
type TodoGroupBy ¶
type TodoGroupBy struct {
// contains filtered or unexported fields
}
TodoGroupBy is the group-by builder for Todo entities.
func (*TodoGroupBy) Aggregate ¶
func (tgb *TodoGroupBy) Aggregate(fns ...AggregateFunc) *TodoGroupBy
Aggregate adds the given aggregation functions to the group-by query.
func (*TodoGroupBy) Bool ¶
Bool returns a single bool from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Bools ¶
Bools returns list of bools from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Float64 ¶
Float64 returns a single float64 from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Float64s ¶
Float64s returns list of float64s from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Int ¶
Int returns a single int from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Ints ¶
Ints returns list of ints from a selector. It is only allowed when selecting one field.
func (*TodoGroupBy) Scan ¶
func (tgb *TodoGroupBy) Scan(ctx context.Context, v any) error
Scan applies the selector query and scans the result into the given value.
func (*TodoGroupBy) String ¶
String returns a single string from a selector. It is only allowed when selecting one field.
type TodoMutation ¶
type TodoMutation struct {
// contains filtered or unexported fields
}
TodoMutation represents an operation that mutates the Todo nodes in the graph.
func (*TodoMutation) AddChildIDs ¶
func (m *TodoMutation) AddChildIDs(ids ...xid.ID)
AddChildIDs adds the "children" edge to the Todo entity by ids.
func (*TodoMutation) AddField ¶
func (m *TodoMutation) 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 (*TodoMutation) AddPriority ¶
func (m *TodoMutation) AddPriority(i int)
AddPriority adds i to the "priority" field.
func (*TodoMutation) AddedEdges ¶
func (m *TodoMutation) AddedEdges() []string
AddedEdges returns all edge names that were set/added in this mutation.
func (*TodoMutation) AddedField ¶
func (m *TodoMutation) 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 (*TodoMutation) AddedFields ¶
func (m *TodoMutation) AddedFields() []string
AddedFields returns all numeric fields that were incremented/decremented during this mutation.
func (*TodoMutation) AddedIDs ¶
func (m *TodoMutation) AddedIDs(name string) []ent.Value
AddedIDs returns all IDs (to other nodes) that were added for the given edge name in this mutation.
func (*TodoMutation) AddedPriority ¶
func (m *TodoMutation) AddedPriority() (r int, exists bool)
AddedPriority returns the value that was added to the "priority" field in this mutation.
func (*TodoMutation) ChildrenCleared ¶
func (m *TodoMutation) ChildrenCleared() bool
ChildrenCleared reports if the "children" edge to the Todo entity was cleared.
func (*TodoMutation) ChildrenIDs ¶
func (m *TodoMutation) ChildrenIDs() (ids []xid.ID)
ChildrenIDs returns the "children" edge IDs in the mutation.
func (*TodoMutation) ClearChildren ¶
func (m *TodoMutation) ClearChildren()
ClearChildren clears the "children" edge to the Todo entity.
func (*TodoMutation) ClearEdge ¶
func (m *TodoMutation) 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 (*TodoMutation) ClearField ¶
func (m *TodoMutation) 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 (*TodoMutation) ClearParent ¶
func (m *TodoMutation) ClearParent()
ClearParent clears the "parent" edge to the Todo entity.
func (*TodoMutation) ClearedEdges ¶
func (m *TodoMutation) ClearedEdges() []string
ClearedEdges returns all edge names that were cleared in this mutation.
func (*TodoMutation) ClearedFields ¶
func (m *TodoMutation) ClearedFields() []string
ClearedFields returns all nullable fields that were cleared during this mutation.
func (TodoMutation) Client ¶
func (m TodoMutation) 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 (*TodoMutation) CreatedAt ¶
func (m *TodoMutation) CreatedAt() (r time.Time, exists bool)
CreatedAt returns the value of the "created_at" field in the mutation.
func (*TodoMutation) EdgeCleared ¶
func (m *TodoMutation) EdgeCleared(name string) bool
EdgeCleared returns a boolean which indicates if the edge with the given name was cleared in this mutation.
func (*TodoMutation) Field ¶
func (m *TodoMutation) 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 (*TodoMutation) FieldCleared ¶
func (m *TodoMutation) FieldCleared(name string) bool
FieldCleared returns a boolean indicating if a field with the given name was cleared in this mutation.
func (*TodoMutation) Fields ¶
func (m *TodoMutation) 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 (*TodoMutation) ID ¶
func (m *TodoMutation) ID() (id xid.ID, 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 (*TodoMutation) IDs ¶
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 (*TodoMutation) OldCreatedAt ¶
OldCreatedAt returns the old "created_at" field's value of the Todo entity. If the Todo 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 (*TodoMutation) OldField ¶
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 (*TodoMutation) OldPriority ¶
func (m *TodoMutation) OldPriority(ctx context.Context) (v int, err error)
OldPriority returns the old "priority" field's value of the Todo entity. If the Todo 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 (*TodoMutation) OldStatus ¶
OldStatus returns the old "status" field's value of the Todo entity. If the Todo 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 (*TodoMutation) OldText ¶
func (m *TodoMutation) OldText(ctx context.Context) (v string, err error)
OldText returns the old "text" field's value of the Todo entity. If the Todo 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 (*TodoMutation) OldUpdatedAt ¶
OldUpdatedAt returns the old "updated_at" field's value of the Todo entity. If the Todo 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 (*TodoMutation) ParentCleared ¶
func (m *TodoMutation) ParentCleared() bool
ParentCleared reports if the "parent" edge to the Todo entity was cleared.
func (*TodoMutation) ParentID ¶
func (m *TodoMutation) ParentID() (id xid.ID, exists bool)
ParentID returns the "parent" edge ID in the mutation.
func (*TodoMutation) ParentIDs ¶
func (m *TodoMutation) ParentIDs() (ids []xid.ID)
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 (*TodoMutation) Priority ¶
func (m *TodoMutation) Priority() (r int, exists bool)
Priority returns the value of the "priority" field in the mutation.
func (*TodoMutation) RemoveChildIDs ¶
func (m *TodoMutation) RemoveChildIDs(ids ...xid.ID)
RemoveChildIDs removes the "children" edge to the Todo entity by IDs.
func (*TodoMutation) RemovedChildrenIDs ¶
func (m *TodoMutation) RemovedChildrenIDs() (ids []xid.ID)
RemovedChildren returns the removed IDs of the "children" edge to the Todo entity.
func (*TodoMutation) RemovedEdges ¶
func (m *TodoMutation) RemovedEdges() []string
RemovedEdges returns all edge names that were removed in this mutation.
func (*TodoMutation) RemovedIDs ¶
func (m *TodoMutation) 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 (*TodoMutation) ResetChildren ¶
func (m *TodoMutation) ResetChildren()
ResetChildren resets all changes to the "children" edge.
func (*TodoMutation) ResetCreatedAt ¶
func (m *TodoMutation) ResetCreatedAt()
ResetCreatedAt resets all changes to the "created_at" field.
func (*TodoMutation) ResetEdge ¶
func (m *TodoMutation) 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 (*TodoMutation) ResetField ¶
func (m *TodoMutation) 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 (*TodoMutation) ResetParent ¶
func (m *TodoMutation) ResetParent()
ResetParent resets all changes to the "parent" edge.
func (*TodoMutation) ResetPriority ¶
func (m *TodoMutation) ResetPriority()
ResetPriority resets all changes to the "priority" field.
func (*TodoMutation) ResetStatus ¶
func (m *TodoMutation) ResetStatus()
ResetStatus resets all changes to the "status" field.
func (*TodoMutation) ResetText ¶
func (m *TodoMutation) ResetText()
ResetText resets all changes to the "text" field.
func (*TodoMutation) ResetUpdatedAt ¶
func (m *TodoMutation) ResetUpdatedAt()
ResetUpdatedAt resets all changes to the "updated_at" field.
func (*TodoMutation) SetCreatedAt ¶
func (m *TodoMutation) SetCreatedAt(t time.Time)
SetCreatedAt sets the "created_at" field.
func (*TodoMutation) SetField ¶
func (m *TodoMutation) 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 (*TodoMutation) SetID ¶
func (m *TodoMutation) SetID(id xid.ID)
SetID sets the value of the id field. Note that this operation is only accepted on creation of Todo entities.
func (*TodoMutation) SetOp ¶
func (m *TodoMutation) SetOp(op Op)
SetOp allows setting the mutation operation.
func (*TodoMutation) SetParentID ¶
func (m *TodoMutation) SetParentID(id xid.ID)
SetParentID sets the "parent" edge to the Todo entity by id.
func (*TodoMutation) SetPriority ¶
func (m *TodoMutation) SetPriority(i int)
SetPriority sets the "priority" field.
func (*TodoMutation) SetStatus ¶
func (m *TodoMutation) SetStatus(t todo.Status)
SetStatus sets the "status" field.
func (*TodoMutation) SetText ¶
func (m *TodoMutation) SetText(s string)
SetText sets the "text" field.
func (*TodoMutation) SetUpdatedAt ¶
func (m *TodoMutation) SetUpdatedAt(t time.Time)
SetUpdatedAt sets the "updated_at" field.
func (*TodoMutation) Status ¶
func (m *TodoMutation) Status() (r todo.Status, exists bool)
Status returns the value of the "status" field in the mutation.
func (*TodoMutation) Text ¶
func (m *TodoMutation) Text() (r string, exists bool)
Text returns the value of the "text" field in the mutation.
func (TodoMutation) Tx ¶
func (m TodoMutation) Tx() (*Tx, error)
Tx returns an `ent.Tx` for mutations that were executed in transactions; it returns an error otherwise.
func (*TodoMutation) Type ¶
func (m *TodoMutation) Type() string
Type returns the node type of this mutation (Todo).
func (*TodoMutation) UpdatedAt ¶
func (m *TodoMutation) UpdatedAt() (r time.Time, exists bool)
UpdatedAt returns the value of the "updated_at" field in the mutation.
func (*TodoMutation) Where ¶
func (m *TodoMutation) Where(ps ...predicate.Todo)
Where appends a list predicates to the TodoMutation builder.
func (*TodoMutation) WhereP ¶
func (m *TodoMutation) WhereP(ps ...func(*sql.Selector))
WhereP appends storage-level predicates to the TodoMutation builder. Using this method, users can use type-assertion to append predicates that do not depend on any generated package.
type TodoOrder ¶
type TodoOrder struct { Direction OrderDirection `json:"direction"` Field *TodoOrderField `json:"field"` }
TodoOrder defines the ordering of Todo.
type TodoOrderField ¶
type TodoOrderField struct { // Value extracts the ordering value from the given Todo. Value func(*Todo) (ent.Value, error) // contains filtered or unexported fields }
TodoOrderField defines the ordering field of Todo.
func (TodoOrderField) MarshalGQL ¶
func (f TodoOrderField) MarshalGQL(w io.Writer)
MarshalGQL implements graphql.Marshaler interface.
func (TodoOrderField) String ¶
func (f TodoOrderField) String() string
String implement fmt.Stringer interface.
func (*TodoOrderField) UnmarshalGQL ¶
func (f *TodoOrderField) UnmarshalGQL(v interface{}) error
UnmarshalGQL implements graphql.Unmarshaler interface.
type TodoPaginateOption ¶
type TodoPaginateOption func(*todoPager) error
TodoPaginateOption enables pagination customization.
func WithTodoFilter ¶
func WithTodoFilter(filter func(*TodoQuery) (*TodoQuery, error)) TodoPaginateOption
WithTodoFilter configures pagination filter.
func WithTodoOrder ¶
func WithTodoOrder(order *TodoOrder) TodoPaginateOption
WithTodoOrder configures pagination ordering.
type TodoQuery ¶
type TodoQuery struct {
// contains filtered or unexported fields
}
TodoQuery is the builder for querying Todo entities.
func (*TodoQuery) Aggregate ¶
func (tq *TodoQuery) Aggregate(fns ...AggregateFunc) *TodoSelect
Aggregate returns a TodoSelect configured with the given aggregations.
func (*TodoQuery) Clone ¶
Clone returns a duplicate of the TodoQuery builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.
func (*TodoQuery) CollectFields ¶
CollectFields tells the query-builder to eagerly load connected nodes by resolver context.
func (*TodoQuery) First ¶
First returns the first Todo entity from the query. Returns a *NotFoundError when no Todo was found.
func (*TodoQuery) FirstID ¶
FirstID returns the first Todo ID from the query. Returns a *NotFoundError when no Todo ID was found.
func (*TodoQuery) GroupBy ¶
func (tq *TodoQuery) GroupBy(field string, fields ...string) *TodoGroupBy
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 { CreatedAt time.Time `json:"created_at,omitempty"` Count int `json:"count,omitempty"` } client.Todo.Query(). GroupBy(todo.FieldCreatedAt). Aggregate(ent.Count()). Scan(ctx, &v)
func (*TodoQuery) Only ¶
Only returns a single Todo entity found by the query, ensuring it only returns one. Returns a *NotSingularError when more than one Todo entity is found. Returns a *NotFoundError when no Todo entities are found.
func (*TodoQuery) OnlyID ¶
OnlyID is like Only, but returns the only Todo ID in the query. Returns a *NotSingularError when more than one Todo ID is found. Returns a *NotFoundError when no entities are found.
func (*TodoQuery) Order ¶
func (tq *TodoQuery) Order(o ...todo.OrderOption) *TodoQuery
Order specifies how the records should be ordered.
func (*TodoQuery) Paginate ¶
func (t *TodoQuery) Paginate( ctx context.Context, after *Cursor, first *int, before *Cursor, last *int, opts ...TodoPaginateOption, ) (*TodoConnection, error)
Paginate executes the query and returns a relay based cursor connection to Todo.
func (*TodoQuery) QueryChildren ¶
QueryChildren chains the current query on the "children" edge.
func (*TodoQuery) QueryParent ¶
QueryParent chains the current query on the "parent" edge.
func (*TodoQuery) Select ¶
func (tq *TodoQuery) Select(fields ...string) *TodoSelect
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 { CreatedAt time.Time `json:"created_at,omitempty"` } client.Todo.Query(). Select(todo.FieldCreatedAt). Scan(ctx, &v)
func (*TodoQuery) Unique ¶
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 (*TodoQuery) WithChildren ¶
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 (*TodoQuery) WithNamedChildren ¶
WithNamedChildren tells the query-builder to eager-load the nodes that are connected to the "children" edge with the given name. The optional arguments are used to configure the query builder of the edge.
func (*TodoQuery) WithParent ¶
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 TodoSelect ¶
type TodoSelect struct { *TodoQuery // contains filtered or unexported fields }
TodoSelect is the builder for selecting fields of Todo entities.
func (*TodoSelect) Aggregate ¶
func (ts *TodoSelect) Aggregate(fns ...AggregateFunc) *TodoSelect
Aggregate adds the given aggregation functions to the selector query.
func (*TodoSelect) Bool ¶
Bool returns a single bool from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Bools ¶
Bools returns list of bools from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Float64 ¶
Float64 returns a single float64 from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Float64s ¶
Float64s returns list of float64s from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Int ¶
Int returns a single int from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Ints ¶
Ints returns list of ints from a selector. It is only allowed when selecting one field.
func (*TodoSelect) Scan ¶
func (ts *TodoSelect) Scan(ctx context.Context, v any) error
Scan applies the selector query and scans the result into the given value.
func (*TodoSelect) String ¶
String returns a single string from a selector. It is only allowed when selecting one field.
type TodoUpdate ¶
type TodoUpdate struct {
// contains filtered or unexported fields
}
TodoUpdate is the builder for updating Todo entities.
func (*TodoUpdate) AddChildIDs ¶
func (tu *TodoUpdate) AddChildIDs(ids ...xid.ID) *TodoUpdate
AddChildIDs adds the "children" edge to the Todo entity by IDs.
func (*TodoUpdate) AddChildren ¶
func (tu *TodoUpdate) AddChildren(t ...*Todo) *TodoUpdate
AddChildren adds the "children" edges to the Todo entity.
func (*TodoUpdate) AddPriority ¶
func (tu *TodoUpdate) AddPriority(i int) *TodoUpdate
AddPriority adds i to the "priority" field.
func (*TodoUpdate) ClearChildren ¶
func (tu *TodoUpdate) ClearChildren() *TodoUpdate
ClearChildren clears all "children" edges to the Todo entity.
func (*TodoUpdate) ClearParent ¶
func (tu *TodoUpdate) ClearParent() *TodoUpdate
ClearParent clears the "parent" edge to the Todo entity.
func (*TodoUpdate) Exec ¶
func (tu *TodoUpdate) Exec(ctx context.Context) error
Exec executes the query.
func (*TodoUpdate) ExecX ¶
func (tu *TodoUpdate) ExecX(ctx context.Context)
ExecX is like Exec, but panics if an error occurs.
func (*TodoUpdate) Mutation ¶
func (tu *TodoUpdate) Mutation() *TodoMutation
Mutation returns the TodoMutation object of the builder.
func (*TodoUpdate) RemoveChildIDs ¶
func (tu *TodoUpdate) RemoveChildIDs(ids ...xid.ID) *TodoUpdate
RemoveChildIDs removes the "children" edge to Todo entities by IDs.
func (*TodoUpdate) RemoveChildren ¶
func (tu *TodoUpdate) RemoveChildren(t ...*Todo) *TodoUpdate
RemoveChildren removes "children" edges to Todo entities.
func (*TodoUpdate) Save ¶
func (tu *TodoUpdate) Save(ctx context.Context) (int, error)
Save executes the query and returns the number of nodes affected by the update operation.
func (*TodoUpdate) SaveX ¶
func (tu *TodoUpdate) SaveX(ctx context.Context) int
SaveX is like Save, but panics if an error occurs.
func (*TodoUpdate) SetInput ¶
func (c *TodoUpdate) SetInput(i UpdateTodoInput) *TodoUpdate
SetInput applies the change-set in the UpdateTodoInput on the TodoUpdate builder.
func (*TodoUpdate) SetNillableParentID ¶
func (tu *TodoUpdate) SetNillableParentID(id *xid.ID) *TodoUpdate
SetNillableParentID sets the "parent" edge to the Todo entity by ID if the given value is not nil.
func (*TodoUpdate) SetNillablePriority ¶
func (tu *TodoUpdate) SetNillablePriority(i *int) *TodoUpdate
SetNillablePriority sets the "priority" field if the given value is not nil.
func (*TodoUpdate) SetParent ¶
func (tu *TodoUpdate) SetParent(t *Todo) *TodoUpdate
SetParent sets the "parent" edge to the Todo entity.
func (*TodoUpdate) SetParentID ¶
func (tu *TodoUpdate) SetParentID(id xid.ID) *TodoUpdate
SetParentID sets the "parent" edge to the Todo entity by ID.
func (*TodoUpdate) SetPriority ¶
func (tu *TodoUpdate) SetPriority(i int) *TodoUpdate
SetPriority sets the "priority" field.
func (*TodoUpdate) SetStatus ¶
func (tu *TodoUpdate) SetStatus(t todo.Status) *TodoUpdate
SetStatus sets the "status" field.
func (*TodoUpdate) SetText ¶
func (tu *TodoUpdate) SetText(s string) *TodoUpdate
SetText sets the "text" field.
func (*TodoUpdate) SetUpdatedAt ¶
func (tu *TodoUpdate) SetUpdatedAt(t time.Time) *TodoUpdate
SetUpdatedAt sets the "updated_at" field.
func (*TodoUpdate) Where ¶
func (tu *TodoUpdate) Where(ps ...predicate.Todo) *TodoUpdate
Where appends a list predicates to the TodoUpdate builder.
type TodoUpdateOne ¶
type TodoUpdateOne struct {
// contains filtered or unexported fields
}
TodoUpdateOne is the builder for updating a single Todo entity.
func (*TodoUpdateOne) AddChildIDs ¶
func (tuo *TodoUpdateOne) AddChildIDs(ids ...xid.ID) *TodoUpdateOne
AddChildIDs adds the "children" edge to the Todo entity by IDs.
func (*TodoUpdateOne) AddChildren ¶
func (tuo *TodoUpdateOne) AddChildren(t ...*Todo) *TodoUpdateOne
AddChildren adds the "children" edges to the Todo entity.
func (*TodoUpdateOne) AddPriority ¶
func (tuo *TodoUpdateOne) AddPriority(i int) *TodoUpdateOne
AddPriority adds i to the "priority" field.
func (*TodoUpdateOne) ClearChildren ¶
func (tuo *TodoUpdateOne) ClearChildren() *TodoUpdateOne
ClearChildren clears all "children" edges to the Todo entity.
func (*TodoUpdateOne) ClearParent ¶
func (tuo *TodoUpdateOne) ClearParent() *TodoUpdateOne
ClearParent clears the "parent" edge to the Todo entity.
func (*TodoUpdateOne) Exec ¶
func (tuo *TodoUpdateOne) Exec(ctx context.Context) error
Exec executes the query on the entity.
func (*TodoUpdateOne) ExecX ¶
func (tuo *TodoUpdateOne) ExecX(ctx context.Context)
ExecX is like Exec, but panics if an error occurs.
func (*TodoUpdateOne) Mutation ¶
func (tuo *TodoUpdateOne) Mutation() *TodoMutation
Mutation returns the TodoMutation object of the builder.
func (*TodoUpdateOne) RemoveChildIDs ¶
func (tuo *TodoUpdateOne) RemoveChildIDs(ids ...xid.ID) *TodoUpdateOne
RemoveChildIDs removes the "children" edge to Todo entities by IDs.
func (*TodoUpdateOne) RemoveChildren ¶
func (tuo *TodoUpdateOne) RemoveChildren(t ...*Todo) *TodoUpdateOne
RemoveChildren removes "children" edges to Todo entities.
func (*TodoUpdateOne) Save ¶
func (tuo *TodoUpdateOne) Save(ctx context.Context) (*Todo, error)
Save executes the query and returns the updated Todo entity.
func (*TodoUpdateOne) SaveX ¶
func (tuo *TodoUpdateOne) SaveX(ctx context.Context) *Todo
SaveX is like Save, but panics if an error occurs.
func (*TodoUpdateOne) Select ¶
func (tuo *TodoUpdateOne) Select(field string, fields ...string) *TodoUpdateOne
Select allows selecting one or more fields (columns) of the returned entity. The default is selecting all fields defined in the entity schema.
func (*TodoUpdateOne) SetInput ¶
func (c *TodoUpdateOne) SetInput(i UpdateTodoInput) *TodoUpdateOne
SetInput applies the change-set in the UpdateTodoInput on the TodoUpdateOne builder.
func (*TodoUpdateOne) SetNillableParentID ¶
func (tuo *TodoUpdateOne) SetNillableParentID(id *xid.ID) *TodoUpdateOne
SetNillableParentID sets the "parent" edge to the Todo entity by ID if the given value is not nil.
func (*TodoUpdateOne) SetNillablePriority ¶
func (tuo *TodoUpdateOne) SetNillablePriority(i *int) *TodoUpdateOne
SetNillablePriority sets the "priority" field if the given value is not nil.
func (*TodoUpdateOne) SetParent ¶
func (tuo *TodoUpdateOne) SetParent(t *Todo) *TodoUpdateOne
SetParent sets the "parent" edge to the Todo entity.
func (*TodoUpdateOne) SetParentID ¶
func (tuo *TodoUpdateOne) SetParentID(id xid.ID) *TodoUpdateOne
SetParentID sets the "parent" edge to the Todo entity by ID.
func (*TodoUpdateOne) SetPriority ¶
func (tuo *TodoUpdateOne) SetPriority(i int) *TodoUpdateOne
SetPriority sets the "priority" field.
func (*TodoUpdateOne) SetStatus ¶
func (tuo *TodoUpdateOne) SetStatus(t todo.Status) *TodoUpdateOne
SetStatus sets the "status" field.
func (*TodoUpdateOne) SetText ¶
func (tuo *TodoUpdateOne) SetText(s string) *TodoUpdateOne
SetText sets the "text" field.
func (*TodoUpdateOne) SetUpdatedAt ¶
func (tuo *TodoUpdateOne) SetUpdatedAt(t time.Time) *TodoUpdateOne
SetUpdatedAt sets the "updated_at" field.
func (*TodoUpdateOne) Where ¶
func (tuo *TodoUpdateOne) Where(ps ...predicate.Todo) *TodoUpdateOne
Where appends a list predicates to the TodoUpdate builder.
type TodoWhereInput ¶
type TodoWhereInput struct { Predicates []predicate.Todo `json:"-"` Not *TodoWhereInput `json:"not,omitempty"` Or []*TodoWhereInput `json:"or,omitempty"` And []*TodoWhereInput `json:"and,omitempty"` // "id" field predicates. ID *xid.ID `json:"id,omitempty"` IDNEQ *xid.ID `json:"idNEQ,omitempty"` IDIn []xid.ID `json:"idIn,omitempty"` IDNotIn []xid.ID `json:"idNotIn,omitempty"` IDGT *xid.ID `json:"idGT,omitempty"` IDGTE *xid.ID `json:"idGTE,omitempty"` IDLT *xid.ID `json:"idLT,omitempty"` IDLTE *xid.ID `json:"idLTE,omitempty"` // "created_at" field predicates. CreatedAt *time.Time `json:"createdAt,omitempty"` CreatedAtNEQ *time.Time `json:"createdAtNEQ,omitempty"` CreatedAtIn []time.Time `json:"createdAtIn,omitempty"` CreatedAtNotIn []time.Time `json:"createdAtNotIn,omitempty"` CreatedAtGT *time.Time `json:"createdAtGT,omitempty"` CreatedAtGTE *time.Time `json:"createdAtGTE,omitempty"` CreatedAtLT *time.Time `json:"createdAtLT,omitempty"` CreatedAtLTE *time.Time `json:"createdAtLTE,omitempty"` // "updated_at" field predicates. UpdatedAt *time.Time `json:"updatedAt,omitempty"` UpdatedAtNEQ *time.Time `json:"updatedAtNEQ,omitempty"` UpdatedAtIn []time.Time `json:"updatedAtIn,omitempty"` UpdatedAtNotIn []time.Time `json:"updatedAtNotIn,omitempty"` UpdatedAtGT *time.Time `json:"updatedAtGT,omitempty"` UpdatedAtGTE *time.Time `json:"updatedAtGTE,omitempty"` UpdatedAtLT *time.Time `json:"updatedAtLT,omitempty"` UpdatedAtLTE *time.Time `json:"updatedAtLTE,omitempty"` // "text" field predicates. Text *string `json:"text,omitempty"` TextNEQ *string `json:"textNEQ,omitempty"` TextIn []string `json:"textIn,omitempty"` TextNotIn []string `json:"textNotIn,omitempty"` TextGT *string `json:"textGT,omitempty"` TextGTE *string `json:"textGTE,omitempty"` TextLT *string `json:"textLT,omitempty"` TextLTE *string `json:"textLTE,omitempty"` TextContains *string `json:"textContains,omitempty"` TextHasPrefix *string `json:"textHasPrefix,omitempty"` TextHasSuffix *string `json:"textHasSuffix,omitempty"` TextEqualFold *string `json:"textEqualFold,omitempty"` TextContainsFold *string `json:"textContainsFold,omitempty"` // "status" field predicates. Status *todo.Status `json:"status,omitempty"` StatusNEQ *todo.Status `json:"statusNEQ,omitempty"` StatusIn []todo.Status `json:"statusIn,omitempty"` StatusNotIn []todo.Status `json:"statusNotIn,omitempty"` // "priority" field predicates. Priority *int `json:"priority,omitempty"` PriorityNEQ *int `json:"priorityNEQ,omitempty"` PriorityIn []int `json:"priorityIn,omitempty"` PriorityNotIn []int `json:"priorityNotIn,omitempty"` PriorityGT *int `json:"priorityGT,omitempty"` PriorityGTE *int `json:"priorityGTE,omitempty"` PriorityLT *int `json:"priorityLT,omitempty"` PriorityLTE *int `json:"priorityLTE,omitempty"` // "parent" edge predicates. HasParent *bool `json:"hasParent,omitempty"` HasParentWith []*TodoWhereInput `json:"hasParentWith,omitempty"` // "children" edge predicates. HasChildren *bool `json:"hasChildren,omitempty"` HasChildrenWith []*TodoWhereInput `json:"hasChildrenWith,omitempty"` }
TodoWhereInput represents a where input for filtering Todo queries.
func (*TodoWhereInput) AddPredicates ¶
func (i *TodoWhereInput) AddPredicates(predicates ...predicate.Todo)
AddPredicates adds custom predicates to the where input to be used during the filtering phase.
type TraverseFunc ¶
type TraverseFunc = ent.TraverseFunc
ent aliases to avoid import conflicts in user's code.
type Tx ¶
type Tx struct { // Todo is the client for interacting with the Todo builders. Todo *TodoClient // contains filtered or unexported fields }
Tx is a transactional client that is created by calling Client.Tx().
func TxFromContext ¶
TxFromContext returns a Tx stored inside a context, or nil if there isn't one.
func (*Tx) OnRollback ¶
func (tx *Tx) OnRollback(f RollbackHook)
OnRollback adds a hook to call on rollback.
type UpdateTodoInput ¶
type UpdateTodoInput struct { UpdatedAt *time.Time Text *string Status *todo.Status Priority *int ClearParent bool ParentID *xid.ID ClearChildren bool AddChildIDs []xid.ID RemoveChildIDs []xid.ID }
UpdateTodoInput represents a mutation input for updating todos.
func (*UpdateTodoInput) Mutate ¶
func (i *UpdateTodoInput) Mutate(m *TodoMutation)
Mutate applies the UpdateTodoInput on the TodoMutation builder.
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.