analysismanager

package
v0.0.0-...-a0770fe Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2025 License: AGPL-3.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidParser    = errors.New("invalid parser selected")
	ErrInvalidAnalyzer  = errors.New("invalid analyzer selected")
	ErrParserMarshal    = errors.New("error marshaling parser data")
	ErrHashAlreadyExist = errors.New("hash already exist")
)

Functions

This section is empty.

Types

type Analysis

type Analysis struct {
	Id                uuid.UUID      `gorm:"column:id;primaryKey;type:uuid;default:gen_random_uuid()"`
	AnalysisRequestId uuid.UUID      `gorm:"column:analysis_request_id;primaryKey;type:uuid"`
	AnalyzerKey       string         `gorm:"column:analyzer_key"`
	ThemeId           uuid.UUID      `gorm:"column:theme_id"`
	Status            AnalysisStatus `gorm:"column:status"`
	Score             float32        `gorm:"column:score"`
	Content           Content        `gorm:"column:content;type:jsonb"`
	Inputs            Inputs         `gorm:"column:inputs;type:jsonb"`
	Jobs              JobsProgress   `gorm:"column:jobs;type:jsonb"`
}

type AnalysisInput

type AnalysisInput struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type AnalysisManagerAllocator

type AnalysisManagerAllocator struct {
	// contains filtered or unexported fields
}

func NewAnalysisManagerAllocator

func NewAnalysisManagerAllocator(s subsriber, as analysisStore, ju jobber, sse sseEventSender) *AnalysisManagerAllocator

type AnalysisManagerRepository

type AnalysisManagerRepository struct {
	// contains filtered or unexported fields
}

func NewAnalysisManagerRepository

func NewAnalysisManagerRepository(db *gorm.DB) *AnalysisManagerRepository

type AnalysisManagerRequester

type AnalysisManagerRequester struct {
	// contains filtered or unexported fields
}

func NewAnalysisManangerRequester

func NewAnalysisManangerRequester(jobMananger jobManagerRequester, ars analysisRequestStore, sse sseEventSender, ts themeService) *AnalysisManagerRequester

func (*AnalysisManagerRequester) RequestAnalysis

func (am *AnalysisManagerRequester) RequestAnalysis(arDto *analysisrequest.AnalysisRequest, ui uuid.UUID, requestOrigin string) (uuid.UUID, error)

func (*AnalysisManagerRequester) RequestAnalysisDataloom

func (am *AnalysisManagerRequester) RequestAnalysisDataloom(ardDto *analysisrequest.AnalysisRequestDataloom, ui uuid.UUID) (uuid.UUID, error)

type AnalysisRequest

type AnalysisRequest struct {
	Id            uuid.UUID  `gorm:"column:id;primaryKey;type:uuid;default:gen_random_uuid()"`
	UserId        uuid.UUID  `gorm:"column:user_id"`
	RequestOrigin string     `gorm:"column:request_origin"`
	Category      string     `gorm:"column:category"`
	Title         string     `gorm:"column:title"`
	ContentType   string     `gorm:"column:content_type"`
	RawData       RawData    `gorm:"foreignKey:AnalysisRequestId"`
	Analysis      []Analysis `gorm:"foreignKey:AnalysisRequestId"`
	CreatedAt     time.Time  `gorm:"column:created_at"`
}

type AnalysisRequestController

type AnalysisRequestController struct {
	// contains filtered or unexported fields
}

type AnalysisRequestStepStatus

type AnalysisRequestStepStatus string
const (
	Waiting    AnalysisRequestStepStatus = "waiting"
	Inprogress AnalysisRequestStepStatus = "inprogress"
	Finished   AnalysisRequestStepStatus = "finished"
	Error      AnalysisRequestStepStatus = "error"
)

type AnalysisRequestStepType

type AnalysisRequestStepType string
const (
	Create  AnalysisRequestStepType = "create"
	Upload  AnalysisRequestStepType = "upload"
	Parse   AnalysisRequestStepType = "parse"
	Analyze AnalysisRequestStepType = "analyze"
	Report  AnalysisRequestStepType = "report"
	Done    AnalysisRequestStepType = "done"
)

type AnalysisResultPaginated

type AnalysisResultPaginated struct {
	Limit      int
	Page       int
	TotalPages int
	Requests   []AnalysisRequest
}

type AnalysisResultService

type AnalysisResultService struct {
	// contains filtered or unexported fields
}

func NewAnalysisResultService

func NewAnalysisResultService(ag analysisGetter, au analysisUpdater, ts themeService) *AnalysisResultService

func (*AnalysisResultService) DeleteAnalysisRequestById

func (ars *AnalysisResultService) DeleteAnalysisRequestById(arid, uid uuid.UUID) error

func (*AnalysisResultService) GetAnalysesByAnalysisIdAndUserId

func (ars *AnalysisResultService) GetAnalysesByAnalysisIdAndUserId(uid, arid uuid.UUID) (analysisresult.Analysis, error)

func (*AnalysisResultService) GetAnalysesByUserId

func (ars *AnalysisResultService) GetAnalysesByUserId(id uuid.UUID, limit, page int, catType, catCat, query, sc string) (analysisresult.AnalysisPaginated, error)

func (*AnalysisResultService) UpdateScore

func (ars *AnalysisResultService) UpdateScore(id uuid.UUID, score float32) error

type AnalysisStatus

type AnalysisStatus string
const (
	AnalysisWaiting    AnalysisStatus = "waiting"
	AnalysisInprogress AnalysisStatus = "inprogress"
	AnalysisFinished   AnalysisStatus = "finished"
	AnalysisError      AnalysisStatus = "error"
)

type Content

type Content []string

func (*Content) Scan

func (c *Content) Scan(src interface{}) error

func (Content) Value

func (c Content) Value() (driver.Value, error)

type Inputs

type Inputs []AnalysisInput

func (*Inputs) Scan

func (c *Inputs) Scan(src interface{}) error

func (Inputs) Value

func (c Inputs) Value() (driver.Value, error)

type JobsProgress

type JobsProgress []SingleJobProgress

func (*JobsProgress) Scan

func (as *JobsProgress) Scan(src interface{}) error

func (JobsProgress) Value

func (as JobsProgress) Value() (driver.Value, error)

type Pagination

type Pagination struct {
	Limit int
	Page  int
}

func (*Pagination) GetLimit

func (p *Pagination) GetLimit() int

func (*Pagination) GetOffset

func (p *Pagination) GetOffset() int

func (*Pagination) GetPage

func (p *Pagination) GetPage() int

type RawData

type RawData struct {
	Id                uuid.UUID `gorm:"column:id;primaryKey;type:uuid;default:gen_random_uuid()"`
	AnalysisRequestId uuid.UUID `gorm:"column:analysis_request_id;primaryKey;type:uuid"`
	Hash              string    `gorm:"column:hash"`
	Content           []byte    `gorm:"column:content;type:bytea"`
	FileType          string    `gorm:"column:file_type"`
	ProcessedText     string    `gorm:"column:processed_text"`
}

type RawDataManager

type RawDataManager struct {
	// contains filtered or unexported fields
}

func NewRawDataManager

func NewRawDataManager(tc taskCreater, db *gorm.DB) *RawDataManager

type RequestOrigin

type RequestOrigin string
const (
	RequestOriginUser     RequestOrigin = "user"
	RequestOriginSystem   RequestOrigin = "system"
	RequestOriginDataloom RequestOrigin = "dataloom"
	RequestOriginExternal RequestOrigin = "external"
)

type SingleJobProgress

type SingleJobProgress struct {
	JobId  uuid.UUID      `json:"jobId"`
	Status AnalysisStatus `json:"status"`
}

Jump to

Keyboard shortcuts

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