// Code generated by ent, DO NOT EDIT.

package artifact

import (
	"time"

	"entgo.io/ent/dialect/sql"
	"github.com/TSELab/astra/internal/store/ent/predicate"
)

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

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

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

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

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

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

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

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

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

// AstraID applies equality check predicate on the "astra_id" field. It's identical to AstraIDEQ.
func AstraID(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldAstraID, v))
}

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

// Kind applies equality check predicate on the "kind" field. It's identical to KindEQ.
func Kind(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldKind, v))
}

// URI applies equality check predicate on the "uri" field. It's identical to URIEQ.
func URI(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldURI, v))
}

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

// Hash applies equality check predicate on the "hash" field. It's identical to HashEQ.
func Hash(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldHash, v))
}

// Size applies equality check predicate on the "size" field. It's identical to SizeEQ.
func Size(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldSize, v))
}

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

// AstraIDEQ applies the EQ predicate on the "astra_id" field.
func AstraIDEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldAstraID, v))
}

// AstraIDNEQ applies the NEQ predicate on the "astra_id" field.
func AstraIDNEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldAstraID, v))
}

// AstraIDIn applies the In predicate on the "astra_id" field.
func AstraIDIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldAstraID, vs...))
}

// AstraIDNotIn applies the NotIn predicate on the "astra_id" field.
func AstraIDNotIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldAstraID, vs...))
}

// AstraIDGT applies the GT predicate on the "astra_id" field.
func AstraIDGT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGT(FieldAstraID, v))
}

// AstraIDGTE applies the GTE predicate on the "astra_id" field.
func AstraIDGTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGTE(FieldAstraID, v))
}

// AstraIDLT applies the LT predicate on the "astra_id" field.
func AstraIDLT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLT(FieldAstraID, v))
}

// AstraIDLTE applies the LTE predicate on the "astra_id" field.
func AstraIDLTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLTE(FieldAstraID, v))
}

// AstraIDContains applies the Contains predicate on the "astra_id" field.
func AstraIDContains(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContains(FieldAstraID, v))
}

// AstraIDHasPrefix applies the HasPrefix predicate on the "astra_id" field.
func AstraIDHasPrefix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasPrefix(FieldAstraID, v))
}

// AstraIDHasSuffix applies the HasSuffix predicate on the "astra_id" field.
func AstraIDHasSuffix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasSuffix(FieldAstraID, v))
}

// AstraIDEqualFold applies the EqualFold predicate on the "astra_id" field.
func AstraIDEqualFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEqualFold(FieldAstraID, v))
}

// AstraIDContainsFold applies the ContainsFold predicate on the "astra_id" field.
func AstraIDContainsFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContainsFold(FieldAstraID, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// KindEQ applies the EQ predicate on the "kind" field.
func KindEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldKind, v))
}

// KindNEQ applies the NEQ predicate on the "kind" field.
func KindNEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldKind, v))
}

// KindIn applies the In predicate on the "kind" field.
func KindIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldKind, vs...))
}

// KindNotIn applies the NotIn predicate on the "kind" field.
func KindNotIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldKind, vs...))
}

// KindGT applies the GT predicate on the "kind" field.
func KindGT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGT(FieldKind, v))
}

// KindGTE applies the GTE predicate on the "kind" field.
func KindGTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGTE(FieldKind, v))
}

// KindLT applies the LT predicate on the "kind" field.
func KindLT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLT(FieldKind, v))
}

// KindLTE applies the LTE predicate on the "kind" field.
func KindLTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLTE(FieldKind, v))
}

// KindContains applies the Contains predicate on the "kind" field.
func KindContains(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContains(FieldKind, v))
}

// KindHasPrefix applies the HasPrefix predicate on the "kind" field.
func KindHasPrefix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasPrefix(FieldKind, v))
}

// KindHasSuffix applies the HasSuffix predicate on the "kind" field.
func KindHasSuffix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasSuffix(FieldKind, v))
}

// KindEqualFold applies the EqualFold predicate on the "kind" field.
func KindEqualFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEqualFold(FieldKind, v))
}

// KindContainsFold applies the ContainsFold predicate on the "kind" field.
func KindContainsFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContainsFold(FieldKind, v))
}

// URIEQ applies the EQ predicate on the "uri" field.
func URIEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldURI, v))
}

// URINEQ applies the NEQ predicate on the "uri" field.
func URINEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldURI, v))
}

// URIIn applies the In predicate on the "uri" field.
func URIIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldURI, vs...))
}

// URINotIn applies the NotIn predicate on the "uri" field.
func URINotIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldURI, vs...))
}

// URIGT applies the GT predicate on the "uri" field.
func URIGT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGT(FieldURI, v))
}

// URIGTE applies the GTE predicate on the "uri" field.
func URIGTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGTE(FieldURI, v))
}

// URILT applies the LT predicate on the "uri" field.
func URILT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLT(FieldURI, v))
}

// URILTE applies the LTE predicate on the "uri" field.
func URILTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLTE(FieldURI, v))
}

// URIContains applies the Contains predicate on the "uri" field.
func URIContains(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContains(FieldURI, v))
}

// URIHasPrefix applies the HasPrefix predicate on the "uri" field.
func URIHasPrefix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasPrefix(FieldURI, v))
}

// URIHasSuffix applies the HasSuffix predicate on the "uri" field.
func URIHasSuffix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasSuffix(FieldURI, v))
}

// URIEqualFold applies the EqualFold predicate on the "uri" field.
func URIEqualFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEqualFold(FieldURI, v))
}

// URIContainsFold applies the ContainsFold predicate on the "uri" field.
func URIContainsFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContainsFold(FieldURI, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// HashEQ applies the EQ predicate on the "hash" field.
func HashEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldHash, v))
}

// HashNEQ applies the NEQ predicate on the "hash" field.
func HashNEQ(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldHash, v))
}

// HashIn applies the In predicate on the "hash" field.
func HashIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldHash, vs...))
}

// HashNotIn applies the NotIn predicate on the "hash" field.
func HashNotIn(vs ...string) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldHash, vs...))
}

// HashGT applies the GT predicate on the "hash" field.
func HashGT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGT(FieldHash, v))
}

// HashGTE applies the GTE predicate on the "hash" field.
func HashGTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldGTE(FieldHash, v))
}

// HashLT applies the LT predicate on the "hash" field.
func HashLT(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLT(FieldHash, v))
}

// HashLTE applies the LTE predicate on the "hash" field.
func HashLTE(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldLTE(FieldHash, v))
}

// HashContains applies the Contains predicate on the "hash" field.
func HashContains(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContains(FieldHash, v))
}

// HashHasPrefix applies the HasPrefix predicate on the "hash" field.
func HashHasPrefix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasPrefix(FieldHash, v))
}

// HashHasSuffix applies the HasSuffix predicate on the "hash" field.
func HashHasSuffix(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldHasSuffix(FieldHash, v))
}

// HashEqualFold applies the EqualFold predicate on the "hash" field.
func HashEqualFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldEqualFold(FieldHash, v))
}

// HashContainsFold applies the ContainsFold predicate on the "hash" field.
func HashContainsFold(v string) predicate.Artifact {
	return predicate.Artifact(sql.FieldContainsFold(FieldHash, v))
}

// SizeEQ applies the EQ predicate on the "size" field.
func SizeEQ(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldSize, v))
}

// SizeNEQ applies the NEQ predicate on the "size" field.
func SizeNEQ(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldSize, v))
}

// SizeIn applies the In predicate on the "size" field.
func SizeIn(vs ...int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldSize, vs...))
}

// SizeNotIn applies the NotIn predicate on the "size" field.
func SizeNotIn(vs ...int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldSize, vs...))
}

// SizeGT applies the GT predicate on the "size" field.
func SizeGT(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldGT(FieldSize, v))
}

// SizeGTE applies the GTE predicate on the "size" field.
func SizeGTE(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldGTE(FieldSize, v))
}

// SizeLT applies the LT predicate on the "size" field.
func SizeLT(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldLT(FieldSize, v))
}

// SizeLTE applies the LTE predicate on the "size" field.
func SizeLTE(v int64) predicate.Artifact {
	return predicate.Artifact(sql.FieldLTE(FieldSize, v))
}

// MetadataIsNil applies the IsNil predicate on the "metadata" field.
func MetadataIsNil() predicate.Artifact {
	return predicate.Artifact(sql.FieldIsNull(FieldMetadata))
}

// MetadataNotNil applies the NotNil predicate on the "metadata" field.
func MetadataNotNil() predicate.Artifact {
	return predicate.Artifact(sql.FieldNotNull(FieldMetadata))
}

// CompletenessEQ applies the EQ predicate on the "completeness" field.
func CompletenessEQ(v Completeness) predicate.Artifact {
	return predicate.Artifact(sql.FieldEQ(FieldCompleteness, v))
}

// CompletenessNEQ applies the NEQ predicate on the "completeness" field.
func CompletenessNEQ(v Completeness) predicate.Artifact {
	return predicate.Artifact(sql.FieldNEQ(FieldCompleteness, v))
}

// CompletenessIn applies the In predicate on the "completeness" field.
func CompletenessIn(vs ...Completeness) predicate.Artifact {
	return predicate.Artifact(sql.FieldIn(FieldCompleteness, vs...))
}

// CompletenessNotIn applies the NotIn predicate on the "completeness" field.
func CompletenessNotIn(vs ...Completeness) predicate.Artifact {
	return predicate.Artifact(sql.FieldNotIn(FieldCompleteness, vs...))
}

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

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

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

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

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

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

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

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

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

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

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