documentqualityconfig

package
v0.0.0-...-20e6d49 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2025 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DocumentQualityConfig

type DocumentQualityConfig struct {
	bun.BaseModel `bun:"table:document_quality_configs,alias:dqc" json:"-"`

	// Primary identifiers
	ID             pulid.ID `json:"id" bun:"id,pk,type:VARCHAR(100)"`
	BusinessUnitID pulid.ID `json:"businessUnitId" bun:"business_unit_id,type:VARCHAR(100),pk,notnull"`
	OrganizationID pulid.ID `json:"organizationId" bun:"organization_id,type:VARCHAR(100),pk,notnull"`

	// Core Fields
	IsActive bool `json:"isActive" bun:"is_active,type:BOOLEAN,notnull,default:true"`

	// Quality Thresholds
	MinDPI        int     `json:"minDpi" bun:"min_dpi,type:INTEGER,notnull,default:200"`
	MinBrightness float64 `json:"minBrightness" bun:"min_brightness,type:NUMERIC(5,2),notnull,default:40"`
	MaxBrightness float64 `json:"maxBrightness" bun:"max_brightness,type:NUMERIC(5,2),notnull,default:220"`
	MinContrast   float64 `json:"minContrast" bun:"min_contrast,type:NUMERIC(5,2),notnull,default:40"`
	MinSharpness  float64 `json:"minSharpness" bun:"min_sharpness,type:NUMERIC(5,2),notnull,default:50"`

	// OCR Configuration
	MinWordCount   int     `json:"minWordCount" bun:"min_word_count,type:INTEGER,notnull,default:50"`
	MinTextDensity float64 `json:"minTextDensity" bun:"min_text_density,type:NUMERIC(5,2),notnull,default:0.1"`

	// Model Settings
	ModelID       pulid.ID `json:"modelId" bun:"model_id,type:VARCHAR(100),notnull"`
	AllowTraining bool     `json:"allowTraining" bun:"allow_training,type:BOOLEAN,notnull,default:true"`

	// Business Rules
	AutoRejectScore   float64 `json:"autoRejectScore" bun:"auto_reject_score,type:NUMERIC(3,2),notnull,default:0.2"`
	ManualReviewScore float64 `json:"manualReviewScore" bun:"manual_review_score,type:NUMERIC(3,2),notnull,default:0.4"`
	MinConfidence     float64 `json:"minConfidence" bun:"min_confidence,type:NUMERIC(3,2),notnull,default:0.7"`

	// Metadata
	Version   int64 `json:"version" bun:"version,type:BIGINT"`
	CreatedAt int64 `json:"createdAt" bun:"created_at,notnull,default:extract(epoch from current_timestamp)::bigint"`
	UpdatedAt int64 `json:"updatedAt" bun:"updated_at,notnull,default:extract(epoch from current_timestamp)::bigint"`

	// Relationships
	Model *pretrainedmodels.PretrainedModel `json:"model,omitempty" bun:"rel:belongs-to,join:model_id=id"`
}

func (*DocumentQualityConfig) BeforeAppendModel

func (c *DocumentQualityConfig) BeforeAppendModel(_ context.Context, query bun.Query) error

Misc

func (*DocumentQualityConfig) DBValidate

func (c *DocumentQualityConfig) DBValidate(ctx context.Context, tx bun.IDB) *errors.MultiError

func (*DocumentQualityConfig) GetID

func (c *DocumentQualityConfig) GetID() string

func (*DocumentQualityConfig) GetTableName

func (c *DocumentQualityConfig) GetTableName() string

func (*DocumentQualityConfig) Validate

func (c *DocumentQualityConfig) Validate(ctx context.Context, multiErr *errors.MultiError)

func (*DocumentQualityConfig) ValidateUniqueness

func (c *DocumentQualityConfig) ValidateUniqueness(ctx context.Context, tx bun.IDB, multiErr *errors.MultiError)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL