// Code generated by ent, DO NOT EDIT.

package principal

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

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

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

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

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

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

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

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

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

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

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

// Trust applies equality check predicate on the "trust" field. It's identical to TrustEQ.
func Trust(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEQ(FieldTrust, v))
}

// Builder applies equality check predicate on the "builder" field. It's identical to BuilderEQ.
func Builder(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEQ(FieldBuilder, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// TrustEQ applies the EQ predicate on the "trust" field.
func TrustEQ(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEQ(FieldTrust, v))
}

// TrustNEQ applies the NEQ predicate on the "trust" field.
func TrustNEQ(v string) predicate.Principal {
	return predicate.Principal(sql.FieldNEQ(FieldTrust, v))
}

// TrustIn applies the In predicate on the "trust" field.
func TrustIn(vs ...string) predicate.Principal {
	return predicate.Principal(sql.FieldIn(FieldTrust, vs...))
}

// TrustNotIn applies the NotIn predicate on the "trust" field.
func TrustNotIn(vs ...string) predicate.Principal {
	return predicate.Principal(sql.FieldNotIn(FieldTrust, vs...))
}

// TrustGT applies the GT predicate on the "trust" field.
func TrustGT(v string) predicate.Principal {
	return predicate.Principal(sql.FieldGT(FieldTrust, v))
}

// TrustGTE applies the GTE predicate on the "trust" field.
func TrustGTE(v string) predicate.Principal {
	return predicate.Principal(sql.FieldGTE(FieldTrust, v))
}

// TrustLT applies the LT predicate on the "trust" field.
func TrustLT(v string) predicate.Principal {
	return predicate.Principal(sql.FieldLT(FieldTrust, v))
}

// TrustLTE applies the LTE predicate on the "trust" field.
func TrustLTE(v string) predicate.Principal {
	return predicate.Principal(sql.FieldLTE(FieldTrust, v))
}

// TrustContains applies the Contains predicate on the "trust" field.
func TrustContains(v string) predicate.Principal {
	return predicate.Principal(sql.FieldContains(FieldTrust, v))
}

// TrustHasPrefix applies the HasPrefix predicate on the "trust" field.
func TrustHasPrefix(v string) predicate.Principal {
	return predicate.Principal(sql.FieldHasPrefix(FieldTrust, v))
}

// TrustHasSuffix applies the HasSuffix predicate on the "trust" field.
func TrustHasSuffix(v string) predicate.Principal {
	return predicate.Principal(sql.FieldHasSuffix(FieldTrust, v))
}

// TrustEqualFold applies the EqualFold predicate on the "trust" field.
func TrustEqualFold(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEqualFold(FieldTrust, v))
}

// TrustContainsFold applies the ContainsFold predicate on the "trust" field.
func TrustContainsFold(v string) predicate.Principal {
	return predicate.Principal(sql.FieldContainsFold(FieldTrust, v))
}

// BuilderEQ applies the EQ predicate on the "builder" field.
func BuilderEQ(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEQ(FieldBuilder, v))
}

// BuilderNEQ applies the NEQ predicate on the "builder" field.
func BuilderNEQ(v string) predicate.Principal {
	return predicate.Principal(sql.FieldNEQ(FieldBuilder, v))
}

// BuilderIn applies the In predicate on the "builder" field.
func BuilderIn(vs ...string) predicate.Principal {
	return predicate.Principal(sql.FieldIn(FieldBuilder, vs...))
}

// BuilderNotIn applies the NotIn predicate on the "builder" field.
func BuilderNotIn(vs ...string) predicate.Principal {
	return predicate.Principal(sql.FieldNotIn(FieldBuilder, vs...))
}

// BuilderGT applies the GT predicate on the "builder" field.
func BuilderGT(v string) predicate.Principal {
	return predicate.Principal(sql.FieldGT(FieldBuilder, v))
}

// BuilderGTE applies the GTE predicate on the "builder" field.
func BuilderGTE(v string) predicate.Principal {
	return predicate.Principal(sql.FieldGTE(FieldBuilder, v))
}

// BuilderLT applies the LT predicate on the "builder" field.
func BuilderLT(v string) predicate.Principal {
	return predicate.Principal(sql.FieldLT(FieldBuilder, v))
}

// BuilderLTE applies the LTE predicate on the "builder" field.
func BuilderLTE(v string) predicate.Principal {
	return predicate.Principal(sql.FieldLTE(FieldBuilder, v))
}

// BuilderContains applies the Contains predicate on the "builder" field.
func BuilderContains(v string) predicate.Principal {
	return predicate.Principal(sql.FieldContains(FieldBuilder, v))
}

// BuilderHasPrefix applies the HasPrefix predicate on the "builder" field.
func BuilderHasPrefix(v string) predicate.Principal {
	return predicate.Principal(sql.FieldHasPrefix(FieldBuilder, v))
}

// BuilderHasSuffix applies the HasSuffix predicate on the "builder" field.
func BuilderHasSuffix(v string) predicate.Principal {
	return predicate.Principal(sql.FieldHasSuffix(FieldBuilder, v))
}

// BuilderEqualFold applies the EqualFold predicate on the "builder" field.
func BuilderEqualFold(v string) predicate.Principal {
	return predicate.Principal(sql.FieldEqualFold(FieldBuilder, v))
}

// BuilderContainsFold applies the ContainsFold predicate on the "builder" field.
func BuilderContainsFold(v string) predicate.Principal {
	return predicate.Principal(sql.FieldContainsFold(FieldBuilder, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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