// Code generated by ent, DO NOT EDIT.

package workflow

import (
	"time"

	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
	"github.com/chainloop-dev/chainloop/app/controlplane/pkg/data/ent/predicate"
	"github.com/google/uuid"
)

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

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

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

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

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

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

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

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

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

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

// ProjectOld applies equality check predicate on the "project_old" field. It's identical to ProjectOldEQ.
func ProjectOld(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldProjectOld, v))
}

// Team applies equality check predicate on the "team" field. It's identical to TeamEQ.
func Team(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldTeam, v))
}

// RunsCount applies equality check predicate on the "runs_count" field. It's identical to RunsCountEQ.
func RunsCount(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldRunsCount, v))
}

// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v time.Time) predicate.Workflow {
	return predicate.Workflow(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.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldUpdatedAt, v))
}

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

// Public applies equality check predicate on the "public" field. It's identical to PublicEQ.
func Public(v bool) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldPublic, v))
}

// OrganizationID applies equality check predicate on the "organization_id" field. It's identical to OrganizationIDEQ.
func OrganizationID(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldOrganizationID, v))
}

// ProjectID applies equality check predicate on the "project_id" field. It's identical to ProjectIDEQ.
func ProjectID(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldProjectID, v))
}

// LatestRun applies equality check predicate on the "latest_run" field. It's identical to LatestRunEQ.
func LatestRun(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldLatestRun, v))
}

// Description applies equality check predicate on the "description" field. It's identical to DescriptionEQ.
func Description(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldDescription, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// ProjectOldEQ applies the EQ predicate on the "project_old" field.
func ProjectOldEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldProjectOld, v))
}

// ProjectOldNEQ applies the NEQ predicate on the "project_old" field.
func ProjectOldNEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldProjectOld, v))
}

// ProjectOldIn applies the In predicate on the "project_old" field.
func ProjectOldIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldProjectOld, vs...))
}

// ProjectOldNotIn applies the NotIn predicate on the "project_old" field.
func ProjectOldNotIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldProjectOld, vs...))
}

// ProjectOldGT applies the GT predicate on the "project_old" field.
func ProjectOldGT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGT(FieldProjectOld, v))
}

// ProjectOldGTE applies the GTE predicate on the "project_old" field.
func ProjectOldGTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGTE(FieldProjectOld, v))
}

// ProjectOldLT applies the LT predicate on the "project_old" field.
func ProjectOldLT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLT(FieldProjectOld, v))
}

// ProjectOldLTE applies the LTE predicate on the "project_old" field.
func ProjectOldLTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLTE(FieldProjectOld, v))
}

// ProjectOldContains applies the Contains predicate on the "project_old" field.
func ProjectOldContains(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContains(FieldProjectOld, v))
}

// ProjectOldHasPrefix applies the HasPrefix predicate on the "project_old" field.
func ProjectOldHasPrefix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasPrefix(FieldProjectOld, v))
}

// ProjectOldHasSuffix applies the HasSuffix predicate on the "project_old" field.
func ProjectOldHasSuffix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasSuffix(FieldProjectOld, v))
}

// ProjectOldIsNil applies the IsNil predicate on the "project_old" field.
func ProjectOldIsNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldIsNull(FieldProjectOld))
}

// ProjectOldNotNil applies the NotNil predicate on the "project_old" field.
func ProjectOldNotNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldNotNull(FieldProjectOld))
}

// ProjectOldEqualFold applies the EqualFold predicate on the "project_old" field.
func ProjectOldEqualFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEqualFold(FieldProjectOld, v))
}

// ProjectOldContainsFold applies the ContainsFold predicate on the "project_old" field.
func ProjectOldContainsFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContainsFold(FieldProjectOld, v))
}

// TeamEQ applies the EQ predicate on the "team" field.
func TeamEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldTeam, v))
}

// TeamNEQ applies the NEQ predicate on the "team" field.
func TeamNEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldTeam, v))
}

// TeamIn applies the In predicate on the "team" field.
func TeamIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldTeam, vs...))
}

// TeamNotIn applies the NotIn predicate on the "team" field.
func TeamNotIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldTeam, vs...))
}

// TeamGT applies the GT predicate on the "team" field.
func TeamGT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGT(FieldTeam, v))
}

// TeamGTE applies the GTE predicate on the "team" field.
func TeamGTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGTE(FieldTeam, v))
}

// TeamLT applies the LT predicate on the "team" field.
func TeamLT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLT(FieldTeam, v))
}

// TeamLTE applies the LTE predicate on the "team" field.
func TeamLTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLTE(FieldTeam, v))
}

// TeamContains applies the Contains predicate on the "team" field.
func TeamContains(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContains(FieldTeam, v))
}

// TeamHasPrefix applies the HasPrefix predicate on the "team" field.
func TeamHasPrefix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasPrefix(FieldTeam, v))
}

// TeamHasSuffix applies the HasSuffix predicate on the "team" field.
func TeamHasSuffix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasSuffix(FieldTeam, v))
}

// TeamIsNil applies the IsNil predicate on the "team" field.
func TeamIsNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldIsNull(FieldTeam))
}

// TeamNotNil applies the NotNil predicate on the "team" field.
func TeamNotNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldNotNull(FieldTeam))
}

// TeamEqualFold applies the EqualFold predicate on the "team" field.
func TeamEqualFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEqualFold(FieldTeam, v))
}

// TeamContainsFold applies the ContainsFold predicate on the "team" field.
func TeamContainsFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContainsFold(FieldTeam, v))
}

// RunsCountEQ applies the EQ predicate on the "runs_count" field.
func RunsCountEQ(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldRunsCount, v))
}

// RunsCountNEQ applies the NEQ predicate on the "runs_count" field.
func RunsCountNEQ(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldRunsCount, v))
}

// RunsCountIn applies the In predicate on the "runs_count" field.
func RunsCountIn(vs ...int) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldRunsCount, vs...))
}

// RunsCountNotIn applies the NotIn predicate on the "runs_count" field.
func RunsCountNotIn(vs ...int) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldRunsCount, vs...))
}

// RunsCountGT applies the GT predicate on the "runs_count" field.
func RunsCountGT(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldGT(FieldRunsCount, v))
}

// RunsCountGTE applies the GTE predicate on the "runs_count" field.
func RunsCountGTE(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldGTE(FieldRunsCount, v))
}

// RunsCountLT applies the LT predicate on the "runs_count" field.
func RunsCountLT(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldLT(FieldRunsCount, v))
}

// RunsCountLTE applies the LTE predicate on the "runs_count" field.
func RunsCountLTE(v int) predicate.Workflow {
	return predicate.Workflow(sql.FieldLTE(FieldRunsCount, v))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// PublicEQ applies the EQ predicate on the "public" field.
func PublicEQ(v bool) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldPublic, v))
}

// PublicNEQ applies the NEQ predicate on the "public" field.
func PublicNEQ(v bool) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldPublic, v))
}

// OrganizationIDEQ applies the EQ predicate on the "organization_id" field.
func OrganizationIDEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldOrganizationID, v))
}

// OrganizationIDNEQ applies the NEQ predicate on the "organization_id" field.
func OrganizationIDNEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldOrganizationID, v))
}

// OrganizationIDIn applies the In predicate on the "organization_id" field.
func OrganizationIDIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldOrganizationID, vs...))
}

// OrganizationIDNotIn applies the NotIn predicate on the "organization_id" field.
func OrganizationIDNotIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldOrganizationID, vs...))
}

// ProjectIDEQ applies the EQ predicate on the "project_id" field.
func ProjectIDEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldProjectID, v))
}

// ProjectIDNEQ applies the NEQ predicate on the "project_id" field.
func ProjectIDNEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldProjectID, v))
}

// ProjectIDIn applies the In predicate on the "project_id" field.
func ProjectIDIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldProjectID, vs...))
}

// ProjectIDNotIn applies the NotIn predicate on the "project_id" field.
func ProjectIDNotIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldProjectID, vs...))
}

// LatestRunEQ applies the EQ predicate on the "latest_run" field.
func LatestRunEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldLatestRun, v))
}

// LatestRunNEQ applies the NEQ predicate on the "latest_run" field.
func LatestRunNEQ(v uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldLatestRun, v))
}

// LatestRunIn applies the In predicate on the "latest_run" field.
func LatestRunIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldLatestRun, vs...))
}

// LatestRunNotIn applies the NotIn predicate on the "latest_run" field.
func LatestRunNotIn(vs ...uuid.UUID) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldLatestRun, vs...))
}

// LatestRunIsNil applies the IsNil predicate on the "latest_run" field.
func LatestRunIsNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldIsNull(FieldLatestRun))
}

// LatestRunNotNil applies the NotNil predicate on the "latest_run" field.
func LatestRunNotNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldNotNull(FieldLatestRun))
}

// DescriptionEQ applies the EQ predicate on the "description" field.
func DescriptionEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEQ(FieldDescription, v))
}

// DescriptionNEQ applies the NEQ predicate on the "description" field.
func DescriptionNEQ(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNEQ(FieldDescription, v))
}

// DescriptionIn applies the In predicate on the "description" field.
func DescriptionIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldIn(FieldDescription, vs...))
}

// DescriptionNotIn applies the NotIn predicate on the "description" field.
func DescriptionNotIn(vs ...string) predicate.Workflow {
	return predicate.Workflow(sql.FieldNotIn(FieldDescription, vs...))
}

// DescriptionGT applies the GT predicate on the "description" field.
func DescriptionGT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGT(FieldDescription, v))
}

// DescriptionGTE applies the GTE predicate on the "description" field.
func DescriptionGTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldGTE(FieldDescription, v))
}

// DescriptionLT applies the LT predicate on the "description" field.
func DescriptionLT(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLT(FieldDescription, v))
}

// DescriptionLTE applies the LTE predicate on the "description" field.
func DescriptionLTE(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldLTE(FieldDescription, v))
}

// DescriptionContains applies the Contains predicate on the "description" field.
func DescriptionContains(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContains(FieldDescription, v))
}

// DescriptionHasPrefix applies the HasPrefix predicate on the "description" field.
func DescriptionHasPrefix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasPrefix(FieldDescription, v))
}

// DescriptionHasSuffix applies the HasSuffix predicate on the "description" field.
func DescriptionHasSuffix(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldHasSuffix(FieldDescription, v))
}

// DescriptionIsNil applies the IsNil predicate on the "description" field.
func DescriptionIsNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldIsNull(FieldDescription))
}

// DescriptionNotNil applies the NotNil predicate on the "description" field.
func DescriptionNotNil() predicate.Workflow {
	return predicate.Workflow(sql.FieldNotNull(FieldDescription))
}

// DescriptionEqualFold applies the EqualFold predicate on the "description" field.
func DescriptionEqualFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldEqualFold(FieldDescription, v))
}

// DescriptionContainsFold applies the ContainsFold predicate on the "description" field.
func DescriptionContainsFold(v string) predicate.Workflow {
	return predicate.Workflow(sql.FieldContainsFold(FieldDescription, v))
}

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

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

// HasRobotaccounts applies the HasEdge predicate on the "robotaccounts" edge.
func HasRobotaccounts() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, false, RobotaccountsTable, RobotaccountsColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasRobotaccountsWith applies the HasEdge predicate on the "robotaccounts" edge with a given conditions (other predicates).
func HasRobotaccountsWith(preds ...predicate.RobotAccount) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newRobotaccountsStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasWorkflowruns applies the HasEdge predicate on the "workflowruns" edge.
func HasWorkflowruns() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, false, WorkflowrunsTable, WorkflowrunsColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasWorkflowrunsWith applies the HasEdge predicate on the "workflowruns" edge with a given conditions (other predicates).
func HasWorkflowrunsWith(preds ...predicate.WorkflowRun) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newWorkflowrunsStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasOrganization applies the HasEdge predicate on the "organization" edge.
func HasOrganization() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates).
func HasOrganizationWith(preds ...predicate.Organization) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newOrganizationStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasContract applies the HasEdge predicate on the "contract" edge.
func HasContract() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, false, ContractTable, ContractColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasContractWith applies the HasEdge predicate on the "contract" edge with a given conditions (other predicates).
func HasContractWith(preds ...predicate.WorkflowContract) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newContractStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasIntegrationAttachments applies the HasEdge predicate on the "integration_attachments" edge.
func HasIntegrationAttachments() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, true, IntegrationAttachmentsTable, IntegrationAttachmentsColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasIntegrationAttachmentsWith applies the HasEdge predicate on the "integration_attachments" edge with a given conditions (other predicates).
func HasIntegrationAttachmentsWith(preds ...predicate.IntegrationAttachment) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newIntegrationAttachmentsStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasProject applies the HasEdge predicate on the "project" edge.
func HasProject() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, true, ProjectTable, ProjectColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasProjectWith applies the HasEdge predicate on the "project" edge with a given conditions (other predicates).
func HasProjectWith(preds ...predicate.Project) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newProjectStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasLatestWorkflowRun applies the HasEdge predicate on the "latest_workflow_run" edge.
func HasLatestWorkflowRun() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2O, false, LatestWorkflowRunTable, LatestWorkflowRunColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasLatestWorkflowRunWith applies the HasEdge predicate on the "latest_workflow_run" edge with a given conditions (other predicates).
func HasLatestWorkflowRunWith(preds ...predicate.WorkflowRun) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newLatestWorkflowRunStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasReferrers applies the HasEdge predicate on the "referrers" edge.
func HasReferrers() predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.M2M, true, ReferrersTable, ReferrersPrimaryKey...),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasReferrersWith applies the HasEdge predicate on the "referrers" edge with a given conditions (other predicates).
func HasReferrersWith(preds ...predicate.Referrer) predicate.Workflow {
	return predicate.Workflow(func(s *sql.Selector) {
		step := newReferrersStep()
		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.Workflow) predicate.Workflow {
	return predicate.Workflow(sql.AndPredicates(predicates...))
}

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

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