// Code generated by ent, DO NOT EDIT.

package link

import (
	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
	"github.com/anzhiyu-c/anheyu-app/ent/predicate"
)

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

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

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

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

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

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

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

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

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

// Name applies equality check predicate on the "name" field. It's identical to NameEQ.
func Name(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldName, v))
}

// URL applies equality check predicate on the "url" field. It's identical to URLEQ.
func URL(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldURL, v))
}

// Logo applies equality check predicate on the "logo" field. It's identical to LogoEQ.
func Logo(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldLogo, v))
}

// Description applies equality check predicate on the "description" field. It's identical to DescriptionEQ.
func Description(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldDescription, v))
}

// Siteshot applies equality check predicate on the "siteshot" field. It's identical to SiteshotEQ.
func Siteshot(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSiteshot, v))
}

// SortOrder applies equality check predicate on the "sort_order" field. It's identical to SortOrderEQ.
func SortOrder(v int) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSortOrder, v))
}

// SkipHealthCheck applies equality check predicate on the "skip_health_check" field. It's identical to SkipHealthCheckEQ.
func SkipHealthCheck(v bool) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSkipHealthCheck, v))
}

// NameEQ applies the EQ predicate on the "name" field.
func NameEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldName, v))
}

// NameNEQ applies the NEQ predicate on the "name" field.
func NameNEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldName, v))
}

// NameIn applies the In predicate on the "name" field.
func NameIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldName, vs...))
}

// NameNotIn applies the NotIn predicate on the "name" field.
func NameNotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldName, vs...))
}

// NameGT applies the GT predicate on the "name" field.
func NameGT(v string) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldName, v))
}

// NameGTE applies the GTE predicate on the "name" field.
func NameGTE(v string) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldName, v))
}

// NameLT applies the LT predicate on the "name" field.
func NameLT(v string) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldName, v))
}

// NameLTE applies the LTE predicate on the "name" field.
func NameLTE(v string) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldName, v))
}

// NameContains applies the Contains predicate on the "name" field.
func NameContains(v string) predicate.Link {
	return predicate.Link(sql.FieldContains(FieldName, v))
}

// NameHasPrefix applies the HasPrefix predicate on the "name" field.
func NameHasPrefix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasPrefix(FieldName, v))
}

// NameHasSuffix applies the HasSuffix predicate on the "name" field.
func NameHasSuffix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasSuffix(FieldName, v))
}

// NameEqualFold applies the EqualFold predicate on the "name" field.
func NameEqualFold(v string) predicate.Link {
	return predicate.Link(sql.FieldEqualFold(FieldName, v))
}

// NameContainsFold applies the ContainsFold predicate on the "name" field.
func NameContainsFold(v string) predicate.Link {
	return predicate.Link(sql.FieldContainsFold(FieldName, v))
}

// URLEQ applies the EQ predicate on the "url" field.
func URLEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldURL, v))
}

// URLNEQ applies the NEQ predicate on the "url" field.
func URLNEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldURL, v))
}

// URLIn applies the In predicate on the "url" field.
func URLIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldURL, vs...))
}

// URLNotIn applies the NotIn predicate on the "url" field.
func URLNotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldURL, vs...))
}

// URLGT applies the GT predicate on the "url" field.
func URLGT(v string) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldURL, v))
}

// URLGTE applies the GTE predicate on the "url" field.
func URLGTE(v string) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldURL, v))
}

// URLLT applies the LT predicate on the "url" field.
func URLLT(v string) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldURL, v))
}

// URLLTE applies the LTE predicate on the "url" field.
func URLLTE(v string) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldURL, v))
}

// URLContains applies the Contains predicate on the "url" field.
func URLContains(v string) predicate.Link {
	return predicate.Link(sql.FieldContains(FieldURL, v))
}

// URLHasPrefix applies the HasPrefix predicate on the "url" field.
func URLHasPrefix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasPrefix(FieldURL, v))
}

// URLHasSuffix applies the HasSuffix predicate on the "url" field.
func URLHasSuffix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasSuffix(FieldURL, v))
}

// URLEqualFold applies the EqualFold predicate on the "url" field.
func URLEqualFold(v string) predicate.Link {
	return predicate.Link(sql.FieldEqualFold(FieldURL, v))
}

// URLContainsFold applies the ContainsFold predicate on the "url" field.
func URLContainsFold(v string) predicate.Link {
	return predicate.Link(sql.FieldContainsFold(FieldURL, v))
}

// LogoEQ applies the EQ predicate on the "logo" field.
func LogoEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldLogo, v))
}

// LogoNEQ applies the NEQ predicate on the "logo" field.
func LogoNEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldLogo, v))
}

// LogoIn applies the In predicate on the "logo" field.
func LogoIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldLogo, vs...))
}

// LogoNotIn applies the NotIn predicate on the "logo" field.
func LogoNotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldLogo, vs...))
}

// LogoGT applies the GT predicate on the "logo" field.
func LogoGT(v string) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldLogo, v))
}

// LogoGTE applies the GTE predicate on the "logo" field.
func LogoGTE(v string) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldLogo, v))
}

// LogoLT applies the LT predicate on the "logo" field.
func LogoLT(v string) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldLogo, v))
}

// LogoLTE applies the LTE predicate on the "logo" field.
func LogoLTE(v string) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldLogo, v))
}

// LogoContains applies the Contains predicate on the "logo" field.
func LogoContains(v string) predicate.Link {
	return predicate.Link(sql.FieldContains(FieldLogo, v))
}

// LogoHasPrefix applies the HasPrefix predicate on the "logo" field.
func LogoHasPrefix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasPrefix(FieldLogo, v))
}

// LogoHasSuffix applies the HasSuffix predicate on the "logo" field.
func LogoHasSuffix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasSuffix(FieldLogo, v))
}

// LogoIsNil applies the IsNil predicate on the "logo" field.
func LogoIsNil() predicate.Link {
	return predicate.Link(sql.FieldIsNull(FieldLogo))
}

// LogoNotNil applies the NotNil predicate on the "logo" field.
func LogoNotNil() predicate.Link {
	return predicate.Link(sql.FieldNotNull(FieldLogo))
}

// LogoEqualFold applies the EqualFold predicate on the "logo" field.
func LogoEqualFold(v string) predicate.Link {
	return predicate.Link(sql.FieldEqualFold(FieldLogo, v))
}

// LogoContainsFold applies the ContainsFold predicate on the "logo" field.
func LogoContainsFold(v string) predicate.Link {
	return predicate.Link(sql.FieldContainsFold(FieldLogo, v))
}

// DescriptionEQ applies the EQ predicate on the "description" field.
func DescriptionEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldDescription, v))
}

// DescriptionNEQ applies the NEQ predicate on the "description" field.
func DescriptionNEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldDescription, v))
}

// DescriptionIn applies the In predicate on the "description" field.
func DescriptionIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldDescription, vs...))
}

// DescriptionNotIn applies the NotIn predicate on the "description" field.
func DescriptionNotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldDescription, vs...))
}

// DescriptionGT applies the GT predicate on the "description" field.
func DescriptionGT(v string) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldDescription, v))
}

// DescriptionGTE applies the GTE predicate on the "description" field.
func DescriptionGTE(v string) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldDescription, v))
}

// DescriptionLT applies the LT predicate on the "description" field.
func DescriptionLT(v string) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldDescription, v))
}

// DescriptionLTE applies the LTE predicate on the "description" field.
func DescriptionLTE(v string) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldDescription, v))
}

// DescriptionContains applies the Contains predicate on the "description" field.
func DescriptionContains(v string) predicate.Link {
	return predicate.Link(sql.FieldContains(FieldDescription, v))
}

// DescriptionHasPrefix applies the HasPrefix predicate on the "description" field.
func DescriptionHasPrefix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasPrefix(FieldDescription, v))
}

// DescriptionHasSuffix applies the HasSuffix predicate on the "description" field.
func DescriptionHasSuffix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasSuffix(FieldDescription, v))
}

// DescriptionIsNil applies the IsNil predicate on the "description" field.
func DescriptionIsNil() predicate.Link {
	return predicate.Link(sql.FieldIsNull(FieldDescription))
}

// DescriptionNotNil applies the NotNil predicate on the "description" field.
func DescriptionNotNil() predicate.Link {
	return predicate.Link(sql.FieldNotNull(FieldDescription))
}

// DescriptionEqualFold applies the EqualFold predicate on the "description" field.
func DescriptionEqualFold(v string) predicate.Link {
	return predicate.Link(sql.FieldEqualFold(FieldDescription, v))
}

// DescriptionContainsFold applies the ContainsFold predicate on the "description" field.
func DescriptionContainsFold(v string) predicate.Link {
	return predicate.Link(sql.FieldContainsFold(FieldDescription, v))
}

// StatusEQ applies the EQ predicate on the "status" field.
func StatusEQ(v Status) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldStatus, v))
}

// StatusNEQ applies the NEQ predicate on the "status" field.
func StatusNEQ(v Status) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldStatus, v))
}

// StatusIn applies the In predicate on the "status" field.
func StatusIn(vs ...Status) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldStatus, vs...))
}

// StatusNotIn applies the NotIn predicate on the "status" field.
func StatusNotIn(vs ...Status) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldStatus, vs...))
}

// SiteshotEQ applies the EQ predicate on the "siteshot" field.
func SiteshotEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSiteshot, v))
}

// SiteshotNEQ applies the NEQ predicate on the "siteshot" field.
func SiteshotNEQ(v string) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldSiteshot, v))
}

// SiteshotIn applies the In predicate on the "siteshot" field.
func SiteshotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldSiteshot, vs...))
}

// SiteshotNotIn applies the NotIn predicate on the "siteshot" field.
func SiteshotNotIn(vs ...string) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldSiteshot, vs...))
}

// SiteshotGT applies the GT predicate on the "siteshot" field.
func SiteshotGT(v string) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldSiteshot, v))
}

// SiteshotGTE applies the GTE predicate on the "siteshot" field.
func SiteshotGTE(v string) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldSiteshot, v))
}

// SiteshotLT applies the LT predicate on the "siteshot" field.
func SiteshotLT(v string) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldSiteshot, v))
}

// SiteshotLTE applies the LTE predicate on the "siteshot" field.
func SiteshotLTE(v string) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldSiteshot, v))
}

// SiteshotContains applies the Contains predicate on the "siteshot" field.
func SiteshotContains(v string) predicate.Link {
	return predicate.Link(sql.FieldContains(FieldSiteshot, v))
}

// SiteshotHasPrefix applies the HasPrefix predicate on the "siteshot" field.
func SiteshotHasPrefix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasPrefix(FieldSiteshot, v))
}

// SiteshotHasSuffix applies the HasSuffix predicate on the "siteshot" field.
func SiteshotHasSuffix(v string) predicate.Link {
	return predicate.Link(sql.FieldHasSuffix(FieldSiteshot, v))
}

// SiteshotIsNil applies the IsNil predicate on the "siteshot" field.
func SiteshotIsNil() predicate.Link {
	return predicate.Link(sql.FieldIsNull(FieldSiteshot))
}

// SiteshotNotNil applies the NotNil predicate on the "siteshot" field.
func SiteshotNotNil() predicate.Link {
	return predicate.Link(sql.FieldNotNull(FieldSiteshot))
}

// SiteshotEqualFold applies the EqualFold predicate on the "siteshot" field.
func SiteshotEqualFold(v string) predicate.Link {
	return predicate.Link(sql.FieldEqualFold(FieldSiteshot, v))
}

// SiteshotContainsFold applies the ContainsFold predicate on the "siteshot" field.
func SiteshotContainsFold(v string) predicate.Link {
	return predicate.Link(sql.FieldContainsFold(FieldSiteshot, v))
}

// SortOrderEQ applies the EQ predicate on the "sort_order" field.
func SortOrderEQ(v int) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSortOrder, v))
}

// SortOrderNEQ applies the NEQ predicate on the "sort_order" field.
func SortOrderNEQ(v int) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldSortOrder, v))
}

// SortOrderIn applies the In predicate on the "sort_order" field.
func SortOrderIn(vs ...int) predicate.Link {
	return predicate.Link(sql.FieldIn(FieldSortOrder, vs...))
}

// SortOrderNotIn applies the NotIn predicate on the "sort_order" field.
func SortOrderNotIn(vs ...int) predicate.Link {
	return predicate.Link(sql.FieldNotIn(FieldSortOrder, vs...))
}

// SortOrderGT applies the GT predicate on the "sort_order" field.
func SortOrderGT(v int) predicate.Link {
	return predicate.Link(sql.FieldGT(FieldSortOrder, v))
}

// SortOrderGTE applies the GTE predicate on the "sort_order" field.
func SortOrderGTE(v int) predicate.Link {
	return predicate.Link(sql.FieldGTE(FieldSortOrder, v))
}

// SortOrderLT applies the LT predicate on the "sort_order" field.
func SortOrderLT(v int) predicate.Link {
	return predicate.Link(sql.FieldLT(FieldSortOrder, v))
}

// SortOrderLTE applies the LTE predicate on the "sort_order" field.
func SortOrderLTE(v int) predicate.Link {
	return predicate.Link(sql.FieldLTE(FieldSortOrder, v))
}

// SkipHealthCheckEQ applies the EQ predicate on the "skip_health_check" field.
func SkipHealthCheckEQ(v bool) predicate.Link {
	return predicate.Link(sql.FieldEQ(FieldSkipHealthCheck, v))
}

// SkipHealthCheckNEQ applies the NEQ predicate on the "skip_health_check" field.
func SkipHealthCheckNEQ(v bool) predicate.Link {
	return predicate.Link(sql.FieldNEQ(FieldSkipHealthCheck, v))
}

// HasCategory applies the HasEdge predicate on the "category" edge.
func HasCategory() predicate.Link {
	return predicate.Link(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, CategoryTable, CategoryColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasCategoryWith applies the HasEdge predicate on the "category" edge with a given conditions (other predicates).
func HasCategoryWith(preds ...predicate.LinkCategory) predicate.Link {
	return predicate.Link(func(s *sql.Selector) {
		step := newCategoryStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasTags applies the HasEdge predicate on the "tags" edge.
func HasTags() predicate.Link {
	return predicate.Link(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2M, false, TagsTable, TagsPrimaryKey...),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasTagsWith applies the HasEdge predicate on the "tags" edge with a given conditions (other predicates).
func HasTagsWith(preds ...predicate.LinkTag) predicate.Link {
	return predicate.Link(func(s *sql.Selector) {
		step := newTagsStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

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

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

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