// Code generated by ent, DO NOT EDIT.

package fileentity

import (
	"time"

	"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 uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldID, id))
}

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

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

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

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

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

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

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

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

// DeletedAt applies equality check predicate on the "deleted_at" field. It's identical to DeletedAtEQ.
func DeletedAt(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldDeletedAt, v))
}

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

// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func UpdatedAt(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldUpdatedAt, v))
}

// FileID applies equality check predicate on the "file_id" field. It's identical to FileIDEQ.
func FileID(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldFileID, v))
}

// EntityID applies equality check predicate on the "entity_id" field. It's identical to EntityIDEQ.
func EntityID(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldEntityID, v))
}

// Version applies equality check predicate on the "version" field. It's identical to VersionEQ.
func Version(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldVersion, v))
}

// IsCurrent applies equality check predicate on the "is_current" field. It's identical to IsCurrentEQ.
func IsCurrent(v bool) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldIsCurrent, v))
}

// UploadedByUserID applies equality check predicate on the "uploaded_by_user_id" field. It's identical to UploadedByUserIDEQ.
func UploadedByUserID(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldUploadedByUserID, v))
}

// DeletedAtEQ applies the EQ predicate on the "deleted_at" field.
func DeletedAtEQ(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldDeletedAt, v))
}

// DeletedAtNEQ applies the NEQ predicate on the "deleted_at" field.
func DeletedAtNEQ(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldDeletedAt, v))
}

// DeletedAtIn applies the In predicate on the "deleted_at" field.
func DeletedAtIn(vs ...time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldDeletedAt, vs...))
}

// DeletedAtNotIn applies the NotIn predicate on the "deleted_at" field.
func DeletedAtNotIn(vs ...time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldDeletedAt, vs...))
}

// DeletedAtGT applies the GT predicate on the "deleted_at" field.
func DeletedAtGT(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGT(FieldDeletedAt, v))
}

// DeletedAtGTE applies the GTE predicate on the "deleted_at" field.
func DeletedAtGTE(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGTE(FieldDeletedAt, v))
}

// DeletedAtLT applies the LT predicate on the "deleted_at" field.
func DeletedAtLT(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLT(FieldDeletedAt, v))
}

// DeletedAtLTE applies the LTE predicate on the "deleted_at" field.
func DeletedAtLTE(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLTE(FieldDeletedAt, v))
}

// DeletedAtIsNil applies the IsNil predicate on the "deleted_at" field.
func DeletedAtIsNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIsNull(FieldDeletedAt))
}

// DeletedAtNotNil applies the NotNil predicate on the "deleted_at" field.
func DeletedAtNotNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotNull(FieldDeletedAt))
}

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

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

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

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

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

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

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

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

// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func UpdatedAtEQ(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldUpdatedAt, v))
}

// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func UpdatedAtNEQ(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldUpdatedAt, v))
}

// UpdatedAtIn applies the In predicate on the "updated_at" field.
func UpdatedAtIn(vs ...time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldUpdatedAt, vs...))
}

// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func UpdatedAtNotIn(vs ...time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldUpdatedAt, vs...))
}

// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func UpdatedAtGT(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGT(FieldUpdatedAt, v))
}

// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func UpdatedAtGTE(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGTE(FieldUpdatedAt, v))
}

// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func UpdatedAtLT(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLT(FieldUpdatedAt, v))
}

// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func UpdatedAtLTE(v time.Time) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLTE(FieldUpdatedAt, v))
}

// FileIDEQ applies the EQ predicate on the "file_id" field.
func FileIDEQ(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldFileID, v))
}

// FileIDNEQ applies the NEQ predicate on the "file_id" field.
func FileIDNEQ(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldFileID, v))
}

// FileIDIn applies the In predicate on the "file_id" field.
func FileIDIn(vs ...uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldFileID, vs...))
}

// FileIDNotIn applies the NotIn predicate on the "file_id" field.
func FileIDNotIn(vs ...uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldFileID, vs...))
}

// EntityIDEQ applies the EQ predicate on the "entity_id" field.
func EntityIDEQ(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldEntityID, v))
}

// EntityIDNEQ applies the NEQ predicate on the "entity_id" field.
func EntityIDNEQ(v uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldEntityID, v))
}

// EntityIDIn applies the In predicate on the "entity_id" field.
func EntityIDIn(vs ...uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldEntityID, vs...))
}

// EntityIDNotIn applies the NotIn predicate on the "entity_id" field.
func EntityIDNotIn(vs ...uint) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldEntityID, vs...))
}

// VersionEQ applies the EQ predicate on the "version" field.
func VersionEQ(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldVersion, v))
}

// VersionNEQ applies the NEQ predicate on the "version" field.
func VersionNEQ(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldVersion, v))
}

// VersionIn applies the In predicate on the "version" field.
func VersionIn(vs ...string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldVersion, vs...))
}

// VersionNotIn applies the NotIn predicate on the "version" field.
func VersionNotIn(vs ...string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldVersion, vs...))
}

// VersionGT applies the GT predicate on the "version" field.
func VersionGT(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGT(FieldVersion, v))
}

// VersionGTE applies the GTE predicate on the "version" field.
func VersionGTE(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGTE(FieldVersion, v))
}

// VersionLT applies the LT predicate on the "version" field.
func VersionLT(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLT(FieldVersion, v))
}

// VersionLTE applies the LTE predicate on the "version" field.
func VersionLTE(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLTE(FieldVersion, v))
}

// VersionContains applies the Contains predicate on the "version" field.
func VersionContains(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldContains(FieldVersion, v))
}

// VersionHasPrefix applies the HasPrefix predicate on the "version" field.
func VersionHasPrefix(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldHasPrefix(FieldVersion, v))
}

// VersionHasSuffix applies the HasSuffix predicate on the "version" field.
func VersionHasSuffix(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldHasSuffix(FieldVersion, v))
}

// VersionIsNil applies the IsNil predicate on the "version" field.
func VersionIsNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIsNull(FieldVersion))
}

// VersionNotNil applies the NotNil predicate on the "version" field.
func VersionNotNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotNull(FieldVersion))
}

// VersionEqualFold applies the EqualFold predicate on the "version" field.
func VersionEqualFold(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEqualFold(FieldVersion, v))
}

// VersionContainsFold applies the ContainsFold predicate on the "version" field.
func VersionContainsFold(v string) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldContainsFold(FieldVersion, v))
}

// IsCurrentEQ applies the EQ predicate on the "is_current" field.
func IsCurrentEQ(v bool) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldIsCurrent, v))
}

// IsCurrentNEQ applies the NEQ predicate on the "is_current" field.
func IsCurrentNEQ(v bool) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldIsCurrent, v))
}

// UploadedByUserIDEQ applies the EQ predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDEQ(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldEQ(FieldUploadedByUserID, v))
}

// UploadedByUserIDNEQ applies the NEQ predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDNEQ(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNEQ(FieldUploadedByUserID, v))
}

// UploadedByUserIDIn applies the In predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDIn(vs ...uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIn(FieldUploadedByUserID, vs...))
}

// UploadedByUserIDNotIn applies the NotIn predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDNotIn(vs ...uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotIn(FieldUploadedByUserID, vs...))
}

// UploadedByUserIDGT applies the GT predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDGT(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGT(FieldUploadedByUserID, v))
}

// UploadedByUserIDGTE applies the GTE predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDGTE(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldGTE(FieldUploadedByUserID, v))
}

// UploadedByUserIDLT applies the LT predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDLT(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLT(FieldUploadedByUserID, v))
}

// UploadedByUserIDLTE applies the LTE predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDLTE(v uint64) predicate.FileEntity {
	return predicate.FileEntity(sql.FieldLTE(FieldUploadedByUserID, v))
}

// UploadedByUserIDIsNil applies the IsNil predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDIsNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldIsNull(FieldUploadedByUserID))
}

// UploadedByUserIDNotNil applies the NotNil predicate on the "uploaded_by_user_id" field.
func UploadedByUserIDNotNil() predicate.FileEntity {
	return predicate.FileEntity(sql.FieldNotNull(FieldUploadedByUserID))
}

// HasFile applies the HasEdge predicate on the "file" edge.
func HasFile() predicate.FileEntity {
	return predicate.FileEntity(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, FileTable, FileColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasFileWith applies the HasEdge predicate on the "file" edge with a given conditions (other predicates).
func HasFileWith(preds ...predicate.File) predicate.FileEntity {
	return predicate.FileEntity(func(s *sql.Selector) {
		step := newFileStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasEntity applies the HasEdge predicate on the "entity" edge.
func HasEntity() predicate.FileEntity {
	return predicate.FileEntity(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, EntityTable, EntityColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasEntityWith applies the HasEdge predicate on the "entity" edge with a given conditions (other predicates).
func HasEntityWith(preds ...predicate.Entity) predicate.FileEntity {
	return predicate.FileEntity(func(s *sql.Selector) {
		step := newEntityStep()
		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.FileEntity) predicate.FileEntity {
	return predicate.FileEntity(sql.AndPredicates(predicates...))
}

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

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