// Code generated by ent, DO NOT EDIT.

package wallettransactions

import (
	"juwan-backend/app/wallet/rpc/internal/models/predicate"
	"time"

	"entgo.io/ent/dialect/sql"
	"github.com/shopspring/decimal"
)

// ID filters vertices based on their ID field.
func ID(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldID, id))
}

// IDEqualFold applies the EqualFold predicate on the ID field.
func IDEqualFold(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEqualFold(FieldID, id))
}

// IDContainsFold applies the ContainsFold predicate on the ID field.
func IDContainsFold(id string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldContainsFold(FieldID, id))
}

// UserID applies equality check predicate on the "user_id" field. It's identical to UserIDEQ.
func UserID(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldUserID, v))
}

// Type applies equality check predicate on the "type" field. It's identical to TypeEQ.
func Type(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldType, v))
}

// Amount applies equality check predicate on the "amount" field. It's identical to AmountEQ.
func Amount(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldAmount, v))
}

// BalanceAfter applies equality check predicate on the "balance_after" field. It's identical to BalanceAfterEQ.
func BalanceAfter(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldBalanceAfter, v))
}

// OrderID applies equality check predicate on the "order_id" field. It's identical to OrderIDEQ.
func OrderID(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldOrderID, v))
}

// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldCreatedAt, v))
}

// SearchText applies equality check predicate on the "search_text" field. It's identical to SearchTextEQ.
func SearchText(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldSearchText, v))
}

// UserIDEQ applies the EQ predicate on the "user_id" field.
func UserIDEQ(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldUserID, v))
}

// UserIDNEQ applies the NEQ predicate on the "user_id" field.
func UserIDNEQ(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldUserID, v))
}

// UserIDIn applies the In predicate on the "user_id" field.
func UserIDIn(vs ...int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldUserID, vs...))
}

// UserIDNotIn applies the NotIn predicate on the "user_id" field.
func UserIDNotIn(vs ...int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldUserID, vs...))
}

// UserIDGT applies the GT predicate on the "user_id" field.
func UserIDGT(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldUserID, v))
}

// UserIDGTE applies the GTE predicate on the "user_id" field.
func UserIDGTE(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldUserID, v))
}

// UserIDLT applies the LT predicate on the "user_id" field.
func UserIDLT(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldUserID, v))
}

// UserIDLTE applies the LTE predicate on the "user_id" field.
func UserIDLTE(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldUserID, v))
}

// TypeEQ applies the EQ predicate on the "type" field.
func TypeEQ(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldType, v))
}

// TypeNEQ applies the NEQ predicate on the "type" field.
func TypeNEQ(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldType, v))
}

// TypeIn applies the In predicate on the "type" field.
func TypeIn(vs ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldType, vs...))
}

// TypeNotIn applies the NotIn predicate on the "type" field.
func TypeNotIn(vs ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldType, vs...))
}

// TypeGT applies the GT predicate on the "type" field.
func TypeGT(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldType, v))
}

// TypeGTE applies the GTE predicate on the "type" field.
func TypeGTE(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldType, v))
}

// TypeLT applies the LT predicate on the "type" field.
func TypeLT(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldType, v))
}

// TypeLTE applies the LTE predicate on the "type" field.
func TypeLTE(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldType, v))
}

// TypeContains applies the Contains predicate on the "type" field.
func TypeContains(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldContains(FieldType, v))
}

// TypeHasPrefix applies the HasPrefix predicate on the "type" field.
func TypeHasPrefix(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldHasPrefix(FieldType, v))
}

// TypeHasSuffix applies the HasSuffix predicate on the "type" field.
func TypeHasSuffix(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldHasSuffix(FieldType, v))
}

// TypeEqualFold applies the EqualFold predicate on the "type" field.
func TypeEqualFold(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEqualFold(FieldType, v))
}

// TypeContainsFold applies the ContainsFold predicate on the "type" field.
func TypeContainsFold(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldContainsFold(FieldType, v))
}

// AmountEQ applies the EQ predicate on the "amount" field.
func AmountEQ(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldAmount, v))
}

// AmountNEQ applies the NEQ predicate on the "amount" field.
func AmountNEQ(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldAmount, v))
}

// AmountIn applies the In predicate on the "amount" field.
func AmountIn(vs ...decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldAmount, vs...))
}

// AmountNotIn applies the NotIn predicate on the "amount" field.
func AmountNotIn(vs ...decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldAmount, vs...))
}

// AmountGT applies the GT predicate on the "amount" field.
func AmountGT(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldAmount, v))
}

// AmountGTE applies the GTE predicate on the "amount" field.
func AmountGTE(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldAmount, v))
}

// AmountLT applies the LT predicate on the "amount" field.
func AmountLT(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldAmount, v))
}

// AmountLTE applies the LTE predicate on the "amount" field.
func AmountLTE(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldAmount, v))
}

// BalanceAfterEQ applies the EQ predicate on the "balance_after" field.
func BalanceAfterEQ(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldBalanceAfter, v))
}

// BalanceAfterNEQ applies the NEQ predicate on the "balance_after" field.
func BalanceAfterNEQ(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldBalanceAfter, v))
}

// BalanceAfterIn applies the In predicate on the "balance_after" field.
func BalanceAfterIn(vs ...decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldBalanceAfter, vs...))
}

// BalanceAfterNotIn applies the NotIn predicate on the "balance_after" field.
func BalanceAfterNotIn(vs ...decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldBalanceAfter, vs...))
}

// BalanceAfterGT applies the GT predicate on the "balance_after" field.
func BalanceAfterGT(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldBalanceAfter, v))
}

// BalanceAfterGTE applies the GTE predicate on the "balance_after" field.
func BalanceAfterGTE(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldBalanceAfter, v))
}

// BalanceAfterLT applies the LT predicate on the "balance_after" field.
func BalanceAfterLT(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldBalanceAfter, v))
}

// BalanceAfterLTE applies the LTE predicate on the "balance_after" field.
func BalanceAfterLTE(v decimal.Decimal) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldBalanceAfter, v))
}

// OrderIDEQ applies the EQ predicate on the "order_id" field.
func OrderIDEQ(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldOrderID, v))
}

// OrderIDNEQ applies the NEQ predicate on the "order_id" field.
func OrderIDNEQ(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldOrderID, v))
}

// OrderIDIn applies the In predicate on the "order_id" field.
func OrderIDIn(vs ...int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldOrderID, vs...))
}

// OrderIDNotIn applies the NotIn predicate on the "order_id" field.
func OrderIDNotIn(vs ...int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldOrderID, vs...))
}

// OrderIDGT applies the GT predicate on the "order_id" field.
func OrderIDGT(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldOrderID, v))
}

// OrderIDGTE applies the GTE predicate on the "order_id" field.
func OrderIDGTE(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldOrderID, v))
}

// OrderIDLT applies the LT predicate on the "order_id" field.
func OrderIDLT(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldOrderID, v))
}

// OrderIDLTE applies the LTE predicate on the "order_id" field.
func OrderIDLTE(v int64) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldOrderID, v))
}

// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func CreatedAtEQ(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldCreatedAt, v))
}

// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func CreatedAtNEQ(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldCreatedAt, v))
}

// CreatedAtIn applies the In predicate on the "created_at" field.
func CreatedAtIn(vs ...time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldCreatedAt, vs...))
}

// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func CreatedAtNotIn(vs ...time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldCreatedAt, vs...))
}

// CreatedAtGT applies the GT predicate on the "created_at" field.
func CreatedAtGT(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldCreatedAt, v))
}

// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func CreatedAtGTE(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldCreatedAt, v))
}

// CreatedAtLT applies the LT predicate on the "created_at" field.
func CreatedAtLT(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldCreatedAt, v))
}

// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func CreatedAtLTE(v time.Time) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldCreatedAt, v))
}

// SearchTextEQ applies the EQ predicate on the "search_text" field.
func SearchTextEQ(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEQ(FieldSearchText, v))
}

// SearchTextNEQ applies the NEQ predicate on the "search_text" field.
func SearchTextNEQ(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNEQ(FieldSearchText, v))
}

// SearchTextIn applies the In predicate on the "search_text" field.
func SearchTextIn(vs ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIn(FieldSearchText, vs...))
}

// SearchTextNotIn applies the NotIn predicate on the "search_text" field.
func SearchTextNotIn(vs ...string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotIn(FieldSearchText, vs...))
}

// SearchTextGT applies the GT predicate on the "search_text" field.
func SearchTextGT(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGT(FieldSearchText, v))
}

// SearchTextGTE applies the GTE predicate on the "search_text" field.
func SearchTextGTE(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldGTE(FieldSearchText, v))
}

// SearchTextLT applies the LT predicate on the "search_text" field.
func SearchTextLT(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLT(FieldSearchText, v))
}

// SearchTextLTE applies the LTE predicate on the "search_text" field.
func SearchTextLTE(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldLTE(FieldSearchText, v))
}

// SearchTextContains applies the Contains predicate on the "search_text" field.
func SearchTextContains(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldContains(FieldSearchText, v))
}

// SearchTextHasPrefix applies the HasPrefix predicate on the "search_text" field.
func SearchTextHasPrefix(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldHasPrefix(FieldSearchText, v))
}

// SearchTextHasSuffix applies the HasSuffix predicate on the "search_text" field.
func SearchTextHasSuffix(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldHasSuffix(FieldSearchText, v))
}

// SearchTextIsNil applies the IsNil predicate on the "search_text" field.
func SearchTextIsNil() predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldIsNull(FieldSearchText))
}

// SearchTextNotNil applies the NotNil predicate on the "search_text" field.
func SearchTextNotNil() predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldNotNull(FieldSearchText))
}

// SearchTextEqualFold applies the EqualFold predicate on the "search_text" field.
func SearchTextEqualFold(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldEqualFold(FieldSearchText, v))
}

// SearchTextContainsFold applies the ContainsFold predicate on the "search_text" field.
func SearchTextContainsFold(v string) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.FieldContainsFold(FieldSearchText, v))
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.WalletTransactions) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.WalletTransactions) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.WalletTransactions) predicate.WalletTransactions {
	return predicate.WalletTransactions(sql.NotPredicates(p))
}
