// Code generated by ent, DO NOT EDIT.

package resource

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

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

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

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

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

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

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

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

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

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

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

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

// Format applies equality check predicate on the "format" field. It's identical to FormatEQ.
func Format(v string) predicate.Resource {
	return predicate.Resource(sql.FieldEQ(FieldFormat, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// FormatEQ applies the EQ predicate on the "format" field.
func FormatEQ(v string) predicate.Resource {
	return predicate.Resource(sql.FieldEQ(FieldFormat, v))
}

// FormatNEQ applies the NEQ predicate on the "format" field.
func FormatNEQ(v string) predicate.Resource {
	return predicate.Resource(sql.FieldNEQ(FieldFormat, v))
}

// FormatIn applies the In predicate on the "format" field.
func FormatIn(vs ...string) predicate.Resource {
	return predicate.Resource(sql.FieldIn(FieldFormat, vs...))
}

// FormatNotIn applies the NotIn predicate on the "format" field.
func FormatNotIn(vs ...string) predicate.Resource {
	return predicate.Resource(sql.FieldNotIn(FieldFormat, vs...))
}

// FormatGT applies the GT predicate on the "format" field.
func FormatGT(v string) predicate.Resource {
	return predicate.Resource(sql.FieldGT(FieldFormat, v))
}

// FormatGTE applies the GTE predicate on the "format" field.
func FormatGTE(v string) predicate.Resource {
	return predicate.Resource(sql.FieldGTE(FieldFormat, v))
}

// FormatLT applies the LT predicate on the "format" field.
func FormatLT(v string) predicate.Resource {
	return predicate.Resource(sql.FieldLT(FieldFormat, v))
}

// FormatLTE applies the LTE predicate on the "format" field.
func FormatLTE(v string) predicate.Resource {
	return predicate.Resource(sql.FieldLTE(FieldFormat, v))
}

// FormatContains applies the Contains predicate on the "format" field.
func FormatContains(v string) predicate.Resource {
	return predicate.Resource(sql.FieldContains(FieldFormat, v))
}

// FormatHasPrefix applies the HasPrefix predicate on the "format" field.
func FormatHasPrefix(v string) predicate.Resource {
	return predicate.Resource(sql.FieldHasPrefix(FieldFormat, v))
}

// FormatHasSuffix applies the HasSuffix predicate on the "format" field.
func FormatHasSuffix(v string) predicate.Resource {
	return predicate.Resource(sql.FieldHasSuffix(FieldFormat, v))
}

// FormatEqualFold applies the EqualFold predicate on the "format" field.
func FormatEqualFold(v string) predicate.Resource {
	return predicate.Resource(sql.FieldEqualFold(FieldFormat, v))
}

// FormatContainsFold applies the ContainsFold predicate on the "format" field.
func FormatContainsFold(v string) predicate.Resource {
	return predicate.Resource(sql.FieldContainsFold(FieldFormat, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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