// Code generated by ent, DO NOT EDIT.

package batchimageitem

import (
	"time"

	"entgo.io/ent/dialect/sql"
)

const (
	// Label holds the string label denoting the batchimageitem type in the database.
	Label = "batch_image_item"
	// FieldID holds the string denoting the id field in the database.
	FieldID = "id"
	// FieldJobID holds the string denoting the job_id field in the database.
	FieldJobID = "job_id"
	// FieldCustomID holds the string denoting the custom_id field in the database.
	FieldCustomID = "custom_id"
	// FieldStatus holds the string denoting the status field in the database.
	FieldStatus = "status"
	// FieldRequestHash holds the string denoting the request_hash field in the database.
	FieldRequestHash = "request_hash"
	// FieldPromptPreview holds the string denoting the prompt_preview field in the database.
	FieldPromptPreview = "prompt_preview"
	// FieldProviderSourceObject holds the string denoting the provider_source_object field in the database.
	FieldProviderSourceObject = "provider_source_object"
	// FieldSourceLineNumber holds the string denoting the source_line_number field in the database.
	FieldSourceLineNumber = "source_line_number"
	// FieldSourceByteOffset holds the string denoting the source_byte_offset field in the database.
	FieldSourceByteOffset = "source_byte_offset"
	// FieldSourceByteLength holds the string denoting the source_byte_length field in the database.
	FieldSourceByteLength = "source_byte_length"
	// FieldMimeType holds the string denoting the mime_type field in the database.
	FieldMimeType = "mime_type"
	// FieldFileExtension holds the string denoting the file_extension field in the database.
	FieldFileExtension = "file_extension"
	// FieldImageCount holds the string denoting the image_count field in the database.
	FieldImageCount = "image_count"
	// FieldErrorCode holds the string denoting the error_code field in the database.
	FieldErrorCode = "error_code"
	// FieldErrorMessage holds the string denoting the error_message field in the database.
	FieldErrorMessage = "error_message"
	// FieldBilledAmount holds the string denoting the billed_amount field in the database.
	FieldBilledAmount = "billed_amount"
	// FieldCreatedAt holds the string denoting the created_at field in the database.
	FieldCreatedAt = "created_at"
	// FieldIndexedAt holds the string denoting the indexed_at field in the database.
	FieldIndexedAt = "indexed_at"
	// Table holds the table name of the batchimageitem in the database.
	Table = "batch_image_items"
)

// Columns holds all SQL columns for batchimageitem fields.
var Columns = []string{
	FieldID,
	FieldJobID,
	FieldCustomID,
	FieldStatus,
	FieldRequestHash,
	FieldPromptPreview,
	FieldProviderSourceObject,
	FieldSourceLineNumber,
	FieldSourceByteOffset,
	FieldSourceByteLength,
	FieldMimeType,
	FieldFileExtension,
	FieldImageCount,
	FieldErrorCode,
	FieldErrorMessage,
	FieldBilledAmount,
	FieldCreatedAt,
	FieldIndexedAt,
}

// ValidColumn reports if the column name is valid (part of the table columns).
func ValidColumn(column string) bool {
	for i := range Columns {
		if column == Columns[i] {
			return true
		}
	}
	return false
}

var (
	// JobIDValidator is a validator for the "job_id" field. It is called by the builders before save.
	JobIDValidator func(string) error
	// CustomIDValidator is a validator for the "custom_id" field. It is called by the builders before save.
	CustomIDValidator func(string) error
	// StatusValidator is a validator for the "status" field. It is called by the builders before save.
	StatusValidator func(string) error
	// RequestHashValidator is a validator for the "request_hash" field. It is called by the builders before save.
	RequestHashValidator func(string) error
	// ProviderSourceObjectValidator is a validator for the "provider_source_object" field. It is called by the builders before save.
	ProviderSourceObjectValidator func(string) error
	// MimeTypeValidator is a validator for the "mime_type" field. It is called by the builders before save.
	MimeTypeValidator func(string) error
	// FileExtensionValidator is a validator for the "file_extension" field. It is called by the builders before save.
	FileExtensionValidator func(string) error
	// DefaultImageCount holds the default value on creation for the "image_count" field.
	DefaultImageCount int
	// ErrorCodeValidator is a validator for the "error_code" field. It is called by the builders before save.
	ErrorCodeValidator func(string) error
	// DefaultCreatedAt holds the default value on creation for the "created_at" field.
	DefaultCreatedAt func() time.Time
)

// OrderOption defines the ordering options for the BatchImageItem queries.
type OrderOption func(*sql.Selector)

// ByID orders the results by the id field.
func ByID(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldID, opts...).ToFunc()
}

// ByJobID orders the results by the job_id field.
func ByJobID(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldJobID, opts...).ToFunc()
}

// ByCustomID orders the results by the custom_id field.
func ByCustomID(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldCustomID, opts...).ToFunc()
}

// ByStatus orders the results by the status field.
func ByStatus(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldStatus, opts...).ToFunc()
}

// ByRequestHash orders the results by the request_hash field.
func ByRequestHash(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldRequestHash, opts...).ToFunc()
}

// ByPromptPreview orders the results by the prompt_preview field.
func ByPromptPreview(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldPromptPreview, opts...).ToFunc()
}

// ByProviderSourceObject orders the results by the provider_source_object field.
func ByProviderSourceObject(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldProviderSourceObject, opts...).ToFunc()
}

// BySourceLineNumber orders the results by the source_line_number field.
func BySourceLineNumber(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldSourceLineNumber, opts...).ToFunc()
}

// BySourceByteOffset orders the results by the source_byte_offset field.
func BySourceByteOffset(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldSourceByteOffset, opts...).ToFunc()
}

// BySourceByteLength orders the results by the source_byte_length field.
func BySourceByteLength(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldSourceByteLength, opts...).ToFunc()
}

// ByMimeType orders the results by the mime_type field.
func ByMimeType(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldMimeType, opts...).ToFunc()
}

// ByFileExtension orders the results by the file_extension field.
func ByFileExtension(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldFileExtension, opts...).ToFunc()
}

// ByImageCount orders the results by the image_count field.
func ByImageCount(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldImageCount, opts...).ToFunc()
}

// ByErrorCode orders the results by the error_code field.
func ByErrorCode(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldErrorCode, opts...).ToFunc()
}

// ByErrorMessage orders the results by the error_message field.
func ByErrorMessage(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldErrorMessage, opts...).ToFunc()
}

// ByBilledAmount orders the results by the billed_amount field.
func ByBilledAmount(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldBilledAmount, opts...).ToFunc()
}

// ByCreatedAt orders the results by the created_at field.
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
}

// ByIndexedAt orders the results by the indexed_at field.
func ByIndexedAt(opts ...sql.OrderTermOption) OrderOption {
	return sql.OrderByField(FieldIndexedAt, opts...).ToFunc()
}
