// Code generated by ent, DO NOT EDIT.

package userloginhistory

import (
	"time"

	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
	"github.com/chaitin/MonkeyCode/backend/consts"
	"github.com/chaitin/MonkeyCode/backend/db/predicate"
	"github.com/google/uuid"
)

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

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

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

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

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

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

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

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

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

// UserID applies equality check predicate on the "user_id" field. It's identical to UserIDEQ.
func UserID(v uuid.UUID) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldUserID, v))
}

// IP applies equality check predicate on the "ip" field. It's identical to IPEQ.
func IP(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldIP, v))
}

// Country applies equality check predicate on the "country" field. It's identical to CountryEQ.
func Country(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldCountry, v))
}

// Province applies equality check predicate on the "province" field. It's identical to ProvinceEQ.
func Province(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldProvince, v))
}

// City applies equality check predicate on the "city" field. It's identical to CityEQ.
func City(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldCity, v))
}

// Isp applies equality check predicate on the "isp" field. It's identical to IspEQ.
func Isp(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldIsp, v))
}

// Asn applies equality check predicate on the "asn" field. It's identical to AsnEQ.
func Asn(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldAsn, v))
}

// ClientVersion applies equality check predicate on the "client_version" field. It's identical to ClientVersionEQ.
func ClientVersion(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldClientVersion, v))
}

// OsType applies equality check predicate on the "os_type" field. It's identical to OsTypeEQ.
func OsType(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEQ(FieldOsType, vc))
}

// OsRelease applies equality check predicate on the "os_release" field. It's identical to OsReleaseEQ.
func OsRelease(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEQ(FieldOsRelease, vc))
}

// Hostname applies equality check predicate on the "hostname" field. It's identical to HostnameEQ.
func Hostname(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldHostname, v))
}

// ClientID applies equality check predicate on the "client_id" field. It's identical to ClientIDEQ.
func ClientID(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldClientID, v))
}

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

// UserIDEQ applies the EQ predicate on the "user_id" field.
func UserIDEQ(v uuid.UUID) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldUserID, v))
}

// UserIDNEQ applies the NEQ predicate on the "user_id" field.
func UserIDNEQ(v uuid.UUID) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldUserID, v))
}

// UserIDIn applies the In predicate on the "user_id" field.
func UserIDIn(vs ...uuid.UUID) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldUserID, vs...))
}

// UserIDNotIn applies the NotIn predicate on the "user_id" field.
func UserIDNotIn(vs ...uuid.UUID) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldUserID, vs...))
}

// UserIDIsNil applies the IsNil predicate on the "user_id" field.
func UserIDIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldUserID))
}

// UserIDNotNil applies the NotNil predicate on the "user_id" field.
func UserIDNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldUserID))
}

// IPEQ applies the EQ predicate on the "ip" field.
func IPEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldIP, v))
}

// IPNEQ applies the NEQ predicate on the "ip" field.
func IPNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldIP, v))
}

// IPIn applies the In predicate on the "ip" field.
func IPIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldIP, vs...))
}

// IPNotIn applies the NotIn predicate on the "ip" field.
func IPNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldIP, vs...))
}

// IPGT applies the GT predicate on the "ip" field.
func IPGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldIP, v))
}

// IPGTE applies the GTE predicate on the "ip" field.
func IPGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldIP, v))
}

// IPLT applies the LT predicate on the "ip" field.
func IPLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldIP, v))
}

// IPLTE applies the LTE predicate on the "ip" field.
func IPLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldIP, v))
}

// IPContains applies the Contains predicate on the "ip" field.
func IPContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldIP, v))
}

// IPHasPrefix applies the HasPrefix predicate on the "ip" field.
func IPHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldIP, v))
}

// IPHasSuffix applies the HasSuffix predicate on the "ip" field.
func IPHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldIP, v))
}

// IPEqualFold applies the EqualFold predicate on the "ip" field.
func IPEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldIP, v))
}

// IPContainsFold applies the ContainsFold predicate on the "ip" field.
func IPContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldIP, v))
}

// CountryEQ applies the EQ predicate on the "country" field.
func CountryEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldCountry, v))
}

// CountryNEQ applies the NEQ predicate on the "country" field.
func CountryNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldCountry, v))
}

// CountryIn applies the In predicate on the "country" field.
func CountryIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldCountry, vs...))
}

// CountryNotIn applies the NotIn predicate on the "country" field.
func CountryNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldCountry, vs...))
}

// CountryGT applies the GT predicate on the "country" field.
func CountryGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldCountry, v))
}

// CountryGTE applies the GTE predicate on the "country" field.
func CountryGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldCountry, v))
}

// CountryLT applies the LT predicate on the "country" field.
func CountryLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldCountry, v))
}

// CountryLTE applies the LTE predicate on the "country" field.
func CountryLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldCountry, v))
}

// CountryContains applies the Contains predicate on the "country" field.
func CountryContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldCountry, v))
}

// CountryHasPrefix applies the HasPrefix predicate on the "country" field.
func CountryHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldCountry, v))
}

// CountryHasSuffix applies the HasSuffix predicate on the "country" field.
func CountryHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldCountry, v))
}

// CountryEqualFold applies the EqualFold predicate on the "country" field.
func CountryEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldCountry, v))
}

// CountryContainsFold applies the ContainsFold predicate on the "country" field.
func CountryContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldCountry, v))
}

// ProvinceEQ applies the EQ predicate on the "province" field.
func ProvinceEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldProvince, v))
}

// ProvinceNEQ applies the NEQ predicate on the "province" field.
func ProvinceNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldProvince, v))
}

// ProvinceIn applies the In predicate on the "province" field.
func ProvinceIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldProvince, vs...))
}

// ProvinceNotIn applies the NotIn predicate on the "province" field.
func ProvinceNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldProvince, vs...))
}

// ProvinceGT applies the GT predicate on the "province" field.
func ProvinceGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldProvince, v))
}

// ProvinceGTE applies the GTE predicate on the "province" field.
func ProvinceGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldProvince, v))
}

// ProvinceLT applies the LT predicate on the "province" field.
func ProvinceLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldProvince, v))
}

// ProvinceLTE applies the LTE predicate on the "province" field.
func ProvinceLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldProvince, v))
}

// ProvinceContains applies the Contains predicate on the "province" field.
func ProvinceContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldProvince, v))
}

// ProvinceHasPrefix applies the HasPrefix predicate on the "province" field.
func ProvinceHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldProvince, v))
}

// ProvinceHasSuffix applies the HasSuffix predicate on the "province" field.
func ProvinceHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldProvince, v))
}

// ProvinceEqualFold applies the EqualFold predicate on the "province" field.
func ProvinceEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldProvince, v))
}

// ProvinceContainsFold applies the ContainsFold predicate on the "province" field.
func ProvinceContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldProvince, v))
}

// CityEQ applies the EQ predicate on the "city" field.
func CityEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldCity, v))
}

// CityNEQ applies the NEQ predicate on the "city" field.
func CityNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldCity, v))
}

// CityIn applies the In predicate on the "city" field.
func CityIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldCity, vs...))
}

// CityNotIn applies the NotIn predicate on the "city" field.
func CityNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldCity, vs...))
}

// CityGT applies the GT predicate on the "city" field.
func CityGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldCity, v))
}

// CityGTE applies the GTE predicate on the "city" field.
func CityGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldCity, v))
}

// CityLT applies the LT predicate on the "city" field.
func CityLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldCity, v))
}

// CityLTE applies the LTE predicate on the "city" field.
func CityLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldCity, v))
}

// CityContains applies the Contains predicate on the "city" field.
func CityContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldCity, v))
}

// CityHasPrefix applies the HasPrefix predicate on the "city" field.
func CityHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldCity, v))
}

// CityHasSuffix applies the HasSuffix predicate on the "city" field.
func CityHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldCity, v))
}

// CityEqualFold applies the EqualFold predicate on the "city" field.
func CityEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldCity, v))
}

// CityContainsFold applies the ContainsFold predicate on the "city" field.
func CityContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldCity, v))
}

// IspEQ applies the EQ predicate on the "isp" field.
func IspEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldIsp, v))
}

// IspNEQ applies the NEQ predicate on the "isp" field.
func IspNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldIsp, v))
}

// IspIn applies the In predicate on the "isp" field.
func IspIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldIsp, vs...))
}

// IspNotIn applies the NotIn predicate on the "isp" field.
func IspNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldIsp, vs...))
}

// IspGT applies the GT predicate on the "isp" field.
func IspGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldIsp, v))
}

// IspGTE applies the GTE predicate on the "isp" field.
func IspGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldIsp, v))
}

// IspLT applies the LT predicate on the "isp" field.
func IspLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldIsp, v))
}

// IspLTE applies the LTE predicate on the "isp" field.
func IspLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldIsp, v))
}

// IspContains applies the Contains predicate on the "isp" field.
func IspContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldIsp, v))
}

// IspHasPrefix applies the HasPrefix predicate on the "isp" field.
func IspHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldIsp, v))
}

// IspHasSuffix applies the HasSuffix predicate on the "isp" field.
func IspHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldIsp, v))
}

// IspIsNil applies the IsNil predicate on the "isp" field.
func IspIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldIsp))
}

// IspNotNil applies the NotNil predicate on the "isp" field.
func IspNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldIsp))
}

// IspEqualFold applies the EqualFold predicate on the "isp" field.
func IspEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldIsp, v))
}

// IspContainsFold applies the ContainsFold predicate on the "isp" field.
func IspContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldIsp, v))
}

// AsnEQ applies the EQ predicate on the "asn" field.
func AsnEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldAsn, v))
}

// AsnNEQ applies the NEQ predicate on the "asn" field.
func AsnNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldAsn, v))
}

// AsnIn applies the In predicate on the "asn" field.
func AsnIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldAsn, vs...))
}

// AsnNotIn applies the NotIn predicate on the "asn" field.
func AsnNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldAsn, vs...))
}

// AsnGT applies the GT predicate on the "asn" field.
func AsnGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldAsn, v))
}

// AsnGTE applies the GTE predicate on the "asn" field.
func AsnGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldAsn, v))
}

// AsnLT applies the LT predicate on the "asn" field.
func AsnLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldAsn, v))
}

// AsnLTE applies the LTE predicate on the "asn" field.
func AsnLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldAsn, v))
}

// AsnContains applies the Contains predicate on the "asn" field.
func AsnContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldAsn, v))
}

// AsnHasPrefix applies the HasPrefix predicate on the "asn" field.
func AsnHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldAsn, v))
}

// AsnHasSuffix applies the HasSuffix predicate on the "asn" field.
func AsnHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldAsn, v))
}

// AsnIsNil applies the IsNil predicate on the "asn" field.
func AsnIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldAsn))
}

// AsnNotNil applies the NotNil predicate on the "asn" field.
func AsnNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldAsn))
}

// AsnEqualFold applies the EqualFold predicate on the "asn" field.
func AsnEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldAsn, v))
}

// AsnContainsFold applies the ContainsFold predicate on the "asn" field.
func AsnContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldAsn, v))
}

// ClientVersionEQ applies the EQ predicate on the "client_version" field.
func ClientVersionEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldClientVersion, v))
}

// ClientVersionNEQ applies the NEQ predicate on the "client_version" field.
func ClientVersionNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldClientVersion, v))
}

// ClientVersionIn applies the In predicate on the "client_version" field.
func ClientVersionIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldClientVersion, vs...))
}

// ClientVersionNotIn applies the NotIn predicate on the "client_version" field.
func ClientVersionNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldClientVersion, vs...))
}

// ClientVersionGT applies the GT predicate on the "client_version" field.
func ClientVersionGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldClientVersion, v))
}

// ClientVersionGTE applies the GTE predicate on the "client_version" field.
func ClientVersionGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldClientVersion, v))
}

// ClientVersionLT applies the LT predicate on the "client_version" field.
func ClientVersionLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldClientVersion, v))
}

// ClientVersionLTE applies the LTE predicate on the "client_version" field.
func ClientVersionLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldClientVersion, v))
}

// ClientVersionContains applies the Contains predicate on the "client_version" field.
func ClientVersionContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldClientVersion, v))
}

// ClientVersionHasPrefix applies the HasPrefix predicate on the "client_version" field.
func ClientVersionHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldClientVersion, v))
}

// ClientVersionHasSuffix applies the HasSuffix predicate on the "client_version" field.
func ClientVersionHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldClientVersion, v))
}

// ClientVersionIsNil applies the IsNil predicate on the "client_version" field.
func ClientVersionIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldClientVersion))
}

// ClientVersionNotNil applies the NotNil predicate on the "client_version" field.
func ClientVersionNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldClientVersion))
}

// ClientVersionEqualFold applies the EqualFold predicate on the "client_version" field.
func ClientVersionEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldClientVersion, v))
}

// ClientVersionContainsFold applies the ContainsFold predicate on the "client_version" field.
func ClientVersionContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldClientVersion, v))
}

// OsTypeEQ applies the EQ predicate on the "os_type" field.
func OsTypeEQ(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEQ(FieldOsType, vc))
}

// OsTypeNEQ applies the NEQ predicate on the "os_type" field.
func OsTypeNEQ(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldOsType, vc))
}

// OsTypeIn applies the In predicate on the "os_type" field.
func OsTypeIn(vs ...consts.OSType) predicate.UserLoginHistory {
	v := make([]any, len(vs))
	for i := range v {
		v[i] = string(vs[i])
	}
	return predicate.UserLoginHistory(sql.FieldIn(FieldOsType, v...))
}

// OsTypeNotIn applies the NotIn predicate on the "os_type" field.
func OsTypeNotIn(vs ...consts.OSType) predicate.UserLoginHistory {
	v := make([]any, len(vs))
	for i := range v {
		v[i] = string(vs[i])
	}
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldOsType, v...))
}

// OsTypeGT applies the GT predicate on the "os_type" field.
func OsTypeGT(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldGT(FieldOsType, vc))
}

// OsTypeGTE applies the GTE predicate on the "os_type" field.
func OsTypeGTE(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldGTE(FieldOsType, vc))
}

// OsTypeLT applies the LT predicate on the "os_type" field.
func OsTypeLT(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldLT(FieldOsType, vc))
}

// OsTypeLTE applies the LTE predicate on the "os_type" field.
func OsTypeLTE(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldLTE(FieldOsType, vc))
}

// OsTypeContains applies the Contains predicate on the "os_type" field.
func OsTypeContains(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldContains(FieldOsType, vc))
}

// OsTypeHasPrefix applies the HasPrefix predicate on the "os_type" field.
func OsTypeHasPrefix(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldOsType, vc))
}

// OsTypeHasSuffix applies the HasSuffix predicate on the "os_type" field.
func OsTypeHasSuffix(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldOsType, vc))
}

// OsTypeIsNil applies the IsNil predicate on the "os_type" field.
func OsTypeIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldOsType))
}

// OsTypeNotNil applies the NotNil predicate on the "os_type" field.
func OsTypeNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldOsType))
}

// OsTypeEqualFold applies the EqualFold predicate on the "os_type" field.
func OsTypeEqualFold(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldOsType, vc))
}

// OsTypeContainsFold applies the ContainsFold predicate on the "os_type" field.
func OsTypeContainsFold(v consts.OSType) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldOsType, vc))
}

// OsReleaseEQ applies the EQ predicate on the "os_release" field.
func OsReleaseEQ(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEQ(FieldOsRelease, vc))
}

// OsReleaseNEQ applies the NEQ predicate on the "os_release" field.
func OsReleaseNEQ(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldOsRelease, vc))
}

// OsReleaseIn applies the In predicate on the "os_release" field.
func OsReleaseIn(vs ...consts.OSRelease) predicate.UserLoginHistory {
	v := make([]any, len(vs))
	for i := range v {
		v[i] = string(vs[i])
	}
	return predicate.UserLoginHistory(sql.FieldIn(FieldOsRelease, v...))
}

// OsReleaseNotIn applies the NotIn predicate on the "os_release" field.
func OsReleaseNotIn(vs ...consts.OSRelease) predicate.UserLoginHistory {
	v := make([]any, len(vs))
	for i := range v {
		v[i] = string(vs[i])
	}
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldOsRelease, v...))
}

// OsReleaseGT applies the GT predicate on the "os_release" field.
func OsReleaseGT(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldGT(FieldOsRelease, vc))
}

// OsReleaseGTE applies the GTE predicate on the "os_release" field.
func OsReleaseGTE(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldGTE(FieldOsRelease, vc))
}

// OsReleaseLT applies the LT predicate on the "os_release" field.
func OsReleaseLT(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldLT(FieldOsRelease, vc))
}

// OsReleaseLTE applies the LTE predicate on the "os_release" field.
func OsReleaseLTE(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldLTE(FieldOsRelease, vc))
}

// OsReleaseContains applies the Contains predicate on the "os_release" field.
func OsReleaseContains(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldContains(FieldOsRelease, vc))
}

// OsReleaseHasPrefix applies the HasPrefix predicate on the "os_release" field.
func OsReleaseHasPrefix(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldOsRelease, vc))
}

// OsReleaseHasSuffix applies the HasSuffix predicate on the "os_release" field.
func OsReleaseHasSuffix(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldOsRelease, vc))
}

// OsReleaseIsNil applies the IsNil predicate on the "os_release" field.
func OsReleaseIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldOsRelease))
}

// OsReleaseNotNil applies the NotNil predicate on the "os_release" field.
func OsReleaseNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldOsRelease))
}

// OsReleaseEqualFold applies the EqualFold predicate on the "os_release" field.
func OsReleaseEqualFold(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldOsRelease, vc))
}

// OsReleaseContainsFold applies the ContainsFold predicate on the "os_release" field.
func OsReleaseContainsFold(v consts.OSRelease) predicate.UserLoginHistory {
	vc := string(v)
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldOsRelease, vc))
}

// HostnameEQ applies the EQ predicate on the "hostname" field.
func HostnameEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldHostname, v))
}

// HostnameNEQ applies the NEQ predicate on the "hostname" field.
func HostnameNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldHostname, v))
}

// HostnameIn applies the In predicate on the "hostname" field.
func HostnameIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldHostname, vs...))
}

// HostnameNotIn applies the NotIn predicate on the "hostname" field.
func HostnameNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldHostname, vs...))
}

// HostnameGT applies the GT predicate on the "hostname" field.
func HostnameGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldHostname, v))
}

// HostnameGTE applies the GTE predicate on the "hostname" field.
func HostnameGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldHostname, v))
}

// HostnameLT applies the LT predicate on the "hostname" field.
func HostnameLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldHostname, v))
}

// HostnameLTE applies the LTE predicate on the "hostname" field.
func HostnameLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldHostname, v))
}

// HostnameContains applies the Contains predicate on the "hostname" field.
func HostnameContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldHostname, v))
}

// HostnameHasPrefix applies the HasPrefix predicate on the "hostname" field.
func HostnameHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldHostname, v))
}

// HostnameHasSuffix applies the HasSuffix predicate on the "hostname" field.
func HostnameHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldHostname, v))
}

// HostnameIsNil applies the IsNil predicate on the "hostname" field.
func HostnameIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldHostname))
}

// HostnameNotNil applies the NotNil predicate on the "hostname" field.
func HostnameNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldHostname))
}

// HostnameEqualFold applies the EqualFold predicate on the "hostname" field.
func HostnameEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldHostname, v))
}

// HostnameContainsFold applies the ContainsFold predicate on the "hostname" field.
func HostnameContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldHostname, v))
}

// ClientIDEQ applies the EQ predicate on the "client_id" field.
func ClientIDEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEQ(FieldClientID, v))
}

// ClientIDNEQ applies the NEQ predicate on the "client_id" field.
func ClientIDNEQ(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNEQ(FieldClientID, v))
}

// ClientIDIn applies the In predicate on the "client_id" field.
func ClientIDIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIn(FieldClientID, vs...))
}

// ClientIDNotIn applies the NotIn predicate on the "client_id" field.
func ClientIDNotIn(vs ...string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotIn(FieldClientID, vs...))
}

// ClientIDGT applies the GT predicate on the "client_id" field.
func ClientIDGT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGT(FieldClientID, v))
}

// ClientIDGTE applies the GTE predicate on the "client_id" field.
func ClientIDGTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldGTE(FieldClientID, v))
}

// ClientIDLT applies the LT predicate on the "client_id" field.
func ClientIDLT(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLT(FieldClientID, v))
}

// ClientIDLTE applies the LTE predicate on the "client_id" field.
func ClientIDLTE(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldLTE(FieldClientID, v))
}

// ClientIDContains applies the Contains predicate on the "client_id" field.
func ClientIDContains(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContains(FieldClientID, v))
}

// ClientIDHasPrefix applies the HasPrefix predicate on the "client_id" field.
func ClientIDHasPrefix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasPrefix(FieldClientID, v))
}

// ClientIDHasSuffix applies the HasSuffix predicate on the "client_id" field.
func ClientIDHasSuffix(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldHasSuffix(FieldClientID, v))
}

// ClientIDIsNil applies the IsNil predicate on the "client_id" field.
func ClientIDIsNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldIsNull(FieldClientID))
}

// ClientIDNotNil applies the NotNil predicate on the "client_id" field.
func ClientIDNotNil() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldNotNull(FieldClientID))
}

// ClientIDEqualFold applies the EqualFold predicate on the "client_id" field.
func ClientIDEqualFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldEqualFold(FieldClientID, v))
}

// ClientIDContainsFold applies the ContainsFold predicate on the "client_id" field.
func ClientIDContainsFold(v string) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.FieldContainsFold(FieldClientID, v))
}

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

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

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

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

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

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

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

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

// HasOwner applies the HasEdge predicate on the "owner" edge.
func HasOwner() predicate.UserLoginHistory {
	return predicate.UserLoginHistory(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, OwnerTable, OwnerColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasOwnerWith applies the HasEdge predicate on the "owner" edge with a given conditions (other predicates).
func HasOwnerWith(preds ...predicate.User) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(func(s *sql.Selector) {
		step := newOwnerStep()
		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.UserLoginHistory) predicate.UserLoginHistory {
	return predicate.UserLoginHistory(sql.AndPredicates(predicates...))
}

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

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