db

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const DriverName = "sqlite3"

DriverName is the default driver name for SQLite.

Variables

View Source
var (
	// ErrRecordNotFound - Record not found error
	ErrRecordNotFound = gorm.ErrRecordNotFound
	Client            *gorm.DB
)

Client - Database Client

Functions

func AddAmountWebContent added in v0.1.2

func AddAmountWebContent(artifactName, pipelineName string) (*clientpb.WebContent, error)

func AddAuthzRule added in v0.3.0

func AddAuthzRule(rule *models.AuthzRule) error

AddAuthzRule adds a new authorization rule.

func AddContent

func AddContent(content *clientpb.WebContent) (*models.WebsiteContent, error)

AddContent - Add content to website

func AddTask

func AddTask(task *clientpb.Task) error

func BackfillOperatorFingerprints added in v0.3.0

func BackfillOperatorFingerprints() error

BackfillOperatorFingerprints computes and stores fingerprints for operators that were created before the fingerprint column existed.

func CreateOperator

func CreateOperator(client *models.Operator) error

func CreateOrRecoverSession added in v0.3.0

func CreateOrRecoverSession(session *models.Session) error

CreateOrRecoverSession creates a new session or recovers a soft-deleted one If a soft-deleted session with the same ID exists, it will be deleted and recreated

func Delete added in v0.3.0

func Delete(model interface{}) error

Delete soft-deletes a model

func DeleteArtifactByName added in v0.1.0

func DeleteArtifactByName(artifactName string) error

func DeleteCertificate

func DeleteCertificate(name string) error

DeleteCertificate

func DeleteContext added in v0.1.0

func DeleteContext(contextID string) error

func DeletePipeline added in v0.1.0

func DeletePipeline(name string) error

func DeletePipelineByListener added in v0.3.0

func DeletePipelineByListener(name, listenerID string) error

func DeleteProfileByName added in v0.1.0

func DeleteProfileByName(profileName string) error

func DeleteWebsite added in v0.1.0

func DeleteWebsite(name string) error

func DisablePipeline added in v0.0.3

func DisablePipeline(pid string) error

func DisablePipelineByListener added in v0.3.0

func DisablePipelineByListener(pid, listenerID string) error

func EnablePipeline added in v0.0.3

func EnablePipeline(pid string) error

func EnablePipelineByListener added in v0.3.0

func EnablePipelineByListener(pid, listenerID string) error

func FindArtifact added in v0.1.0

func FindArtifact(target *clientpb.Artifact, bin bool) (*clientpb.Artifact, error)

FindArtifact finds an artifact by various criteria

func FindArtifactFromPipeline added in v0.1.2

func FindArtifactFromPipeline(pipelineName string) (*models.Artifact, error)

func FindBuildersByPipelineID added in v0.1.1

func FindBuildersByPipelineID(pipelineID string) ([]*models.Artifact, error)

FindBuildersByPipelineID returns artifacts whose profile belongs to the given pipeline.

func FindCertificate added in v0.1.1

func FindCertificate(name string) (*models.Certificate, error)

func FindContext added in v0.1.0

func FindContext(contextID string) (*models.Context, error)

func FindOperatorByFingerprint added in v0.3.0

func FindOperatorByFingerprint(fingerprint string) (*models.Operator, error)

FindOperatorByFingerprint looks up an active operator by certificate SHA-256 fingerprint.

func FindOperatorByName added in v0.3.0

func FindOperatorByName(name string) (*models.Operator, error)

FindOperatorByName looks up an operator by name.

func FindPipeline added in v0.0.2

func FindPipeline(name string) (*models.Pipeline, error)

func FindPipelineByListener added in v0.3.0

func FindPipelineByListener(name, listenerID string) (*models.Pipeline, error)

func FindPipelineCert added in v0.0.3

func FindPipelineCert(pipelineName, listenerID string) (*models.Certificate, error)

func FindSession

func FindSession(sessionID string) (*models.Session, error)

func FindWebContent added in v0.1.0

func FindWebContent(id string) (*models.WebsiteContent, error)

WebContent by ID and path

func FindWebContentsByWebsite added in v0.1.0

func FindWebContentsByWebsite(website string) ([]*models.WebsiteContent, error)

func FindWebsiteByName added in v0.1.0

func FindWebsiteByName(name string) (*models.Pipeline, error)

FindWebsiteByName - Get website by name

func GetArtifactById added in v0.0.3

func GetArtifactById(id uint32) (*models.Artifact, error)

func GetArtifactByName added in v0.0.3

func GetArtifactByName(name string) (*models.Artifact, error)

func GetAuthzRulesForRole added in v0.3.0

func GetAuthzRulesForRole(role string) ([]*models.AuthzRule, error)

GetAuthzRulesForRole returns all rules for a given role.

func GetBeaconBuilderByRelinkID added in v0.1.1

func GetBeaconBuilderByRelinkID(relinkID uint32) ([]*models.Artifact, error)

GetBeaconBuilderByRelinkID finds beacon artifacts with a matching RelinkBeaconID. NOTE: RelinkBeaconID is stored inside the JSON ParamsData field. Filtering at the DB level would require dialect-specific JSON operators (json_extract for SQLite, jsonb for Postgres). The in-memory filter is acceptable because the WhereType("beacon") clause limits the dataset to a small subset.

func GetBuilderLogs added in v0.0.3

func GetBuilderLogs(builderName string, limit int) (string, error)

func GetContextByTask added in v0.1.0

func GetContextByTask(taskID string) (*models.Context, error)

func GetDownloadFiles added in v0.1.0

func GetDownloadFiles(sid string) ([]*clientpb.File, error)

func GetProfile added in v0.0.3

func GetProfile(name string) (*implanttypes.ProfileConfig, error)

func GetProfileByName added in v0.1.2

func GetProfileByName(profileName string) (*models.Profile, error)

func GetProfileByNameWithConfig added in v0.3.0

func GetProfileByNameWithConfig(profileName string) (*clientpb.Profile, error)

GetProfileByNameWithConfig returns a Profile protobuf with full disk configuration.

func GetProfileContent added in v0.1.2

func GetProfileContent(profileName string) ([]byte, error)

GetProfileContent reads implant.yaml from disk

func GetProfileFullConfig added in v0.3.0

func GetProfileFullConfig(profileName string) (implantConfig []byte, preludeConfig []byte, resources *clientpb.BuildResources, err error)

GetProfileFullConfig reads all profile configuration files from disk.

func GetTask added in v0.1.2

func GetTask(taskID string) (*models.Task, error)

func GetTaskBySessionAndSeq added in v0.3.0

func GetTaskBySessionAndSeq(sessionID string, seq uint32) (*models.Task, error)

func GetValidArtifacts added in v0.1.1

func GetValidArtifacts() ([]*models.Artifact, error)

func HasOperator added in v0.0.2

func HasOperator(typ string) (bool, error)

func ListAuthzRules added in v0.3.0

func ListAuthzRules(role string) ([]*models.AuthzRule, error)

ListAuthzRules returns all rules, optionally filtered by role.

func NewDBClient

func NewDBClient(dbConfig *configs.DatabaseConfig) (*gorm.DB, error)

NewDBClient initializes the db client. Returns an error instead of panicking on configuration or connection failures.

func NewProfile added in v0.0.3

func NewProfile(profile *clientpb.Profile) error

NewProfile creates a new profile

func Open

func Open(dsn string) gorm.Dialector

func RecoverRemovedSession added in v0.3.0

func RecoverRemovedSession(sessionID string) (*models.Session, error)

RecoverRemovedSession finds a soft-deleted session and resets is_removed flag. Returns nil,nil if no removed session found.

func RemoveAuthzRule added in v0.3.0

func RemoveAuthzRule(id string) error

RemoveAuthzRule removes an authorization rule by ID.

func RemoveContent

func RemoveContent(id string) error

RemoveContent - Remove content by ID

func RemoveOperator added in v0.1.1

func RemoveOperator(name string) error

func RemoveSession added in v0.1.0

func RemoveSession(sessionID string) error

func RevokeOperator added in v0.3.0

func RevokeOperator(name string) error

RevokeOperator sets the revoked flag on an operator.

func Save added in v0.3.0

func Save(model interface{}) error

Save creates or updates a model (generic save operation)

func SaveArtifact added in v0.0.3

func SaveArtifact(name, artifactType, platform, arch, source string) (*models.Artifact, error)

func SaveArtifactFromConfig added in v0.1.1

func SaveArtifactFromConfig(req *clientpb.BuildConfig) (*models.Artifact, error)

func SaveArtifactFromID added in v0.1.0

func SaveArtifactFromID(req *clientpb.BuildConfig, ID uint32) (*models.Artifact, error)

func SaveCertFromTLS added in v0.1.1

func SaveCertFromTLS(tls *clientpb.TLS, pipelineName, listenerID string) (*models.Certificate, error)

func SaveCertificate

func SaveCertificate(certificate *models.Certificate) error

func SaveContext added in v0.1.0

func SaveContext(ctx *clientpb.Context) (*models.Context, error)

func SavePipeline added in v0.1.0

func SavePipeline(pipeline *models.Pipeline) (*models.Pipeline, error)

func SaveSessionModel added in v0.3.0

func SaveSessionModel(session *models.Session) error

SaveSessionModel saves a session model to database

func SeedDefaultAuthzRules added in v0.3.0

func SeedDefaultAuthzRules() error

SeedDefaultAuthzRules inserts the default role-method mappings if the table is empty. This runs at startup and only seeds when no rules exist.

func Session

func Session() *gorm.DB

Session - Database session

func UpdateBuilderLog added in v0.0.3

func UpdateBuilderLog(name string, logEntry string)

func UpdateBuilderPath added in v0.1.0

func UpdateBuilderPath(builder *models.Artifact) error

func UpdateBuilderStatus added in v0.1.1

func UpdateBuilderStatus(builderID uint32, status string)

func UpdateCert added in v0.1.1

func UpdateCert(name, cert, key, ca string) error

func UpdatePipelineCert added in v0.1.1

func UpdatePipelineCert(certName string, pipeline *models.Pipeline) (*models.Pipeline, error)

func UpdateProfileDisk added in v0.3.0

func UpdateProfileDisk(profileName string, implantConfig []byte, preludeConfig []byte, resources *clientpb.BuildResources) error

UpdateProfileDisk updates the profile's configuration files on disk.

func UpdateSession

func UpdateSession(sessionID, note, group string) error

func UpdateSessionTimer added in v0.1.0

func UpdateSessionTimer(sessionID string, expression string, jitter float64) error

func UpdateTask

func UpdateTask(task *clientpb.Task) error

func UpdateTaskCur added in v0.1.0

func UpdateTaskCur(taskID string, cur int) error

func UpdateTaskDescription added in v0.0.3

func UpdateTaskDescription(taskID, Description string) error

func UpdateTaskFinish added in v0.1.2

func UpdateTaskFinish(taskID string) error

func UpdateTaskTotal added in v0.3.0

func UpdateTaskTotal(taskID string, total int) error

Types

type ArtifactQuery added in v0.3.0

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

func NewArtifactQuery added in v0.3.0

func NewArtifactQuery() *ArtifactQuery

NewArtifactQuery creates a new artifact query builder

func (*ArtifactQuery) Delete added in v0.3.0

func (q *ArtifactQuery) Delete() error

Delete deletes matching artifacts

func (*ArtifactQuery) Find added in v0.3.0

func (q *ArtifactQuery) Find() (Artifacts, error)

Find returns all matching artifacts

func (*ArtifactQuery) First added in v0.3.0

func (q *ArtifactQuery) First() (*models.Artifact, error)

First returns the first matching artifact

func (*ArtifactQuery) Last added in v0.3.0

func (q *ArtifactQuery) Last() (*models.Artifact, error)

Last returns the last matching artifact

func (*ArtifactQuery) Update added in v0.3.0

func (q *ArtifactQuery) Update(column string, value interface{}) error

Update updates a single field on matching artifacts

func (*ArtifactQuery) WhereArch added in v0.3.0

func (q *ArtifactQuery) WhereArch(arch string) *ArtifactQuery

WhereArch filters by architecture

func (*ArtifactQuery) WhereID added in v0.3.0

func (q *ArtifactQuery) WhereID(id uint32) *ArtifactQuery

WhereID filters by artifact ID (uint32)

func (*ArtifactQuery) WhereName added in v0.3.0

func (q *ArtifactQuery) WhereName(name string) *ArtifactQuery

WhereName filters by artifact name

func (*ArtifactQuery) WhereOs added in v0.3.0

func (q *ArtifactQuery) WhereOs(os string) *ArtifactQuery

WhereOs filters by OS

func (*ArtifactQuery) WherePathNotEmpty added in v0.3.0

func (q *ArtifactQuery) WherePathNotEmpty() *ArtifactQuery

WherePathNotEmpty filters out artifacts with empty or NULL paths.

func (*ArtifactQuery) WherePipelineID added in v0.3.0

func (q *ArtifactQuery) WherePipelineID(pipelineID string) *ArtifactQuery

WherePipelineID filters artifacts by their profile's pipeline ID using a JOIN.

func (*ArtifactQuery) WhereProfileName added in v0.3.0

func (q *ArtifactQuery) WhereProfileName(profileName string) *ArtifactQuery

WhereProfileName filters by profile name

func (*ArtifactQuery) WhereSource added in v0.3.0

func (q *ArtifactQuery) WhereSource(source string) *ArtifactQuery

WhereSource filters by artifact source

func (*ArtifactQuery) WhereStatus added in v0.3.0

func (q *ArtifactQuery) WhereStatus(status string) *ArtifactQuery

WhereStatus filters by artifact status

func (*ArtifactQuery) WhereType added in v0.3.0

func (q *ArtifactQuery) WhereType(typ string) *ArtifactQuery

WhereType filters by artifact type

func (*ArtifactQuery) WithProfile added in v0.3.0

func (q *ArtifactQuery) WithProfile() *ArtifactQuery

WithProfile preloads the Profile association

func (*ArtifactQuery) WithProfilePipeline added in v0.3.0

func (q *ArtifactQuery) WithProfilePipeline() *ArtifactQuery

WithProfilePipeline preloads Profile and its Pipeline association

type Artifacts added in v0.3.0

type Artifacts []*models.Artifact

Artifacts is a slice of Artifact models

func GetArtifactWithSaas added in v0.1.1

func GetArtifactWithSaas() (Artifacts, error)

func ListArtifacts added in v0.3.0

func ListArtifacts() (Artifacts, error)

ListArtifacts returns all artifacts

func (Artifacts) ToProtobuf added in v0.3.0

func (a Artifacts) ToProtobuf() *clientpb.Artifacts

ToProtobuf converts Artifacts to protobuf (without binary content)

type AuthzRuleQuery added in v0.3.0

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

func NewAuthzRuleQuery added in v0.3.0

func NewAuthzRuleQuery() *AuthzRuleQuery

NewAuthzRuleQuery creates a new authz rule query builder

func (*AuthzRuleQuery) Count added in v0.3.0

func (q *AuthzRuleQuery) Count() (int64, error)

Count counts matching rules

func (*AuthzRuleQuery) Delete added in v0.3.0

func (q *AuthzRuleQuery) Delete() error

Delete deletes matching rules

func (*AuthzRuleQuery) Find added in v0.3.0

func (q *AuthzRuleQuery) Find() ([]*models.AuthzRule, error)

Find returns all matching rules

func (*AuthzRuleQuery) WhereID added in v0.3.0

func (q *AuthzRuleQuery) WhereID(id string) *AuthzRuleQuery

WhereID filters by rule ID

func (*AuthzRuleQuery) WhereRole added in v0.3.0

func (q *AuthzRuleQuery) WhereRole(role string) *AuthzRuleQuery

WhereRole filters by role

type CertificateQuery added in v0.3.0

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

func NewCertificateQuery added in v0.3.0

func NewCertificateQuery() *CertificateQuery

NewCertificateQuery creates a new certificate query builder

func (*CertificateQuery) Delete added in v0.3.0

func (q *CertificateQuery) Delete() error

Delete deletes matching certificates

func (*CertificateQuery) Find added in v0.3.0

func (q *CertificateQuery) Find() (Certificates, error)

Find returns all matching certificates

func (*CertificateQuery) First added in v0.3.0

func (q *CertificateQuery) First() (*models.Certificate, error)

First returns the first matching certificate

func (*CertificateQuery) UpdateFields added in v0.3.0

func (q *CertificateQuery) UpdateFields(fields map[string]interface{}) error

UpdateFields updates specific fields on matching certificates

func (*CertificateQuery) WhereName added in v0.3.0

func (q *CertificateQuery) WhereName(name string) *CertificateQuery

WhereName filters by certificate name

func (*CertificateQuery) WhereType added in v0.3.0

func (q *CertificateQuery) WhereType(typ string) *CertificateQuery

WhereType filters by certificate type

type Certificates added in v0.3.0

type Certificates []*models.Certificate

Certificates is a slice of Certificate models

func GetAllCertificates added in v0.1.1

func GetAllCertificates() (Certificates, error)

func (Certificates) ToProtobuf added in v0.3.0

func (c Certificates) ToProtobuf() []*clientpb.TLS

ToProtobuf converts Certificates to protobuf TLS slice

type ContextQuery added in v0.1.0

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

ContextQuery is a builder for Context queries.

func NewContextQuery added in v0.1.0

func NewContextQuery() *ContextQuery

NewContextQuery creates a new Context query builder.

func (*ContextQuery) Delete added in v0.3.0

func (q *ContextQuery) Delete() error

Delete deletes matching contexts

func (*ContextQuery) Find added in v0.1.0

func (q *ContextQuery) Find() ([]*models.Context, error)

Find executes the query and returns all matching contexts.

func (*ContextQuery) First added in v0.1.0

func (q *ContextQuery) First() (*models.Context, error)

First returns the first matching context.

func (*ContextQuery) WhereID added in v0.3.0

func (q *ContextQuery) WhereID(id uuid.UUID) *ContextQuery

WhereID filters by context ID.

func (*ContextQuery) WhereNonce added in v0.3.0

func (q *ContextQuery) WhereNonce(nonce string) *ContextQuery

WhereNonce filters by nonce.

func (*ContextQuery) WherePipeline added in v0.3.0

func (q *ContextQuery) WherePipeline(pipelineID string) *ContextQuery

WherePipeline filters by pipeline ID.

func (*ContextQuery) WhereSession added in v0.3.0

func (q *ContextQuery) WhereSession(sessionID string) *ContextQuery

WhereSession filters by session ID.

func (*ContextQuery) WhereTask added in v0.3.0

func (q *ContextQuery) WhereTask(taskID string) *ContextQuery

WhereTask filters by task ID.

func (*ContextQuery) WhereType added in v0.3.0

func (q *ContextQuery) WhereType(typ string) *ContextQuery

WhereType filters by context type.

type Contexts added in v0.3.0

type Contexts []*models.Context

Contexts is a slice of Context models

func (Contexts) ToProtobuf added in v0.3.0

func (c Contexts) ToProtobuf() *clientpb.Contexts

ToProtobuf converts Contexts to protobuf

type DialectAdapter added in v0.3.0

type DialectAdapter interface {
	// Name returns the dialect name.
	Name() string

	// FindAliveSessionsUpdateSQL returns the UPDATE SQL for marking inactive sessions.
	FindAliveSessionsUpdateSQL() string

	// FindAliveSessionsSelectSQL returns the SELECT SQL for querying alive sessions.
	FindAliveSessionsSelectSQL() string

	// AppendLogExpr returns the expression for appending a log entry (handles NULL + string concatenation).
	AppendLogExpr(logEntry string) clause.Expr

	// CastIDAsText returns a WHERE condition that casts the ID column to TEXT for LIKE prefix matching.
	CastIDAsText(column string) string

	// DateFunction returns the SQL expression for extracting the date part of a column.
	DateFunction(column string) string
}

DialectAdapter encapsulates SQL dialect differences across database backends.

var Adapter DialectAdapter

Adapter is the global dialect adapter, initialized in NewDBClient.

type Dialector

type Dialector struct {
	DriverName string
	DSN        string
	Conn       gorm.ConnPool
}

func (Dialector) BindVarTo

func (dialector Dialector) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{})

func (Dialector) ClauseBuilders

func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder

func (Dialector) DataTypeOf

func (dialector Dialector) DataTypeOf(field *schema.Field) string

func (Dialector) DefaultValueOf

func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression

func (Dialector) Explain

func (dialector Dialector) Explain(sql string, vars ...interface{}) string

func (Dialector) Initialize

func (dialector Dialector) Initialize(db *gorm.DB) (err error)

func (Dialector) Migrator

func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator

func (Dialector) Name

func (dialector Dialector) Name() string

func (Dialector) QuoteTo

func (dialector Dialector) QuoteTo(writer clause.Writer, str string)

func (Dialector) RollbackTo

func (dialectopr Dialector) RollbackTo(tx *gorm.DB, name string) error

func (Dialector) SavePoint

func (dialectopr Dialector) SavePoint(tx *gorm.DB, name string) error

type Migrator

type Migrator struct {
	migrator.Migrator
}

func (Migrator) AlterColumn added in v0.3.0

func (m Migrator) AlterColumn(value interface{}, field string) error

AlterColumn is a no-op for SQLite. SQLite does not support ALTER COLUMN; the official GORM sqlite driver uses full table recreation, but for our use-case schema-level column type changes are not expected at runtime.

func (Migrator) ColumnTypes added in v0.3.0

func (m Migrator) ColumnTypes(value interface{}) ([]gorm.ColumnType, error)

ColumnTypes returns column type information via pragma_table_info (table-valued function), which supports parameterized queries and avoids SQL injection.

func (Migrator) CreateConstraint added in v0.3.0

func (m Migrator) CreateConstraint(value interface{}, name string) error

CreateConstraint is a no-op for SQLite. SQLite only supports foreign key constraints defined at table creation time, not added via ALTER TABLE.

func (Migrator) CurrentDatabase added in v0.3.0

func (m Migrator) CurrentDatabase() (name string)

CurrentDatabase returns empty string for SQLite (single-database system).

func (Migrator) HasColumn added in v0.3.0

func (m Migrator) HasColumn(value interface{}, field string) bool

HasColumn checks column existence via PRAGMA table_info.

func (Migrator) HasConstraint added in v0.3.0

func (m Migrator) HasConstraint(value interface{}, name string) bool

HasConstraint checks constraint existence via sqlite_master DDL parsing.

func (Migrator) HasIndex added in v0.3.0

func (m Migrator) HasIndex(value interface{}, name string) bool

HasIndex checks index existence via PRAGMA index_list.

func (Migrator) HasTable added in v0.3.0

func (m Migrator) HasTable(value interface{}) bool

HasTable checks table existence via sqlite_master instead of information_schema.

type OperatorQuery added in v0.3.0

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

func NewOperatorQuery added in v0.3.0

func NewOperatorQuery() *OperatorQuery

NewOperatorQuery creates a new operator query builder

func (*OperatorQuery) Count added in v0.3.0

func (q *OperatorQuery) Count() (int64, error)

Count counts matching operators

func (*OperatorQuery) Delete added in v0.3.0

func (q *OperatorQuery) Delete() error

Delete deletes matching operators

func (*OperatorQuery) Find added in v0.3.0

func (q *OperatorQuery) Find() (Operators, error)

Find returns all matching operators

func (*OperatorQuery) First added in v0.3.0

func (q *OperatorQuery) First() (*models.Operator, error)

First returns the first matching operator

func (*OperatorQuery) Update added in v0.3.0

func (q *OperatorQuery) Update(column string, value interface{}) error

Update updates a single field on matching operators

func (*OperatorQuery) Updates added in v0.3.0

func (q *OperatorQuery) Updates(fields map[string]interface{}) error

Updates updates multiple fields on matching operators

func (*OperatorQuery) WhereFingerprint added in v0.3.0

func (q *OperatorQuery) WhereFingerprint(fp string) *OperatorQuery

WhereFingerprint filters by certificate fingerprint

func (*OperatorQuery) WhereFingerprintEmpty added in v0.3.0

func (q *OperatorQuery) WhereFingerprintEmpty() *OperatorQuery

WhereFingerprintEmpty filters operators with empty or null fingerprints

func (*OperatorQuery) WhereName added in v0.3.0

func (q *OperatorQuery) WhereName(name string) *OperatorQuery

WhereName filters by operator name

func (*OperatorQuery) WhereType added in v0.3.0

func (q *OperatorQuery) WhereType(typ string) *OperatorQuery

WhereType filters by operator type

type Operators added in v0.3.0

type Operators []*models.Operator

Operators is a slice of Operator models

func ListClients added in v0.0.2

func ListClients() (Operators, error)

func ListListeners

func ListListeners() (Operators, error)

func (Operators) ToProtobuf added in v0.3.0

func (o Operators) ToProtobuf() *clientpb.Clients

ToProtobuf converts Operators to protobuf

type PipelineQuery added in v0.3.0

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

func NewPipelineQuery added in v0.3.0

func NewPipelineQuery() *PipelineQuery

NewPipelineQuery creates a new pipeline query builder

func (*PipelineQuery) Count added in v0.3.0

func (q *PipelineQuery) Count() (int64, error)

Count counts the number of matching pipelines

func (*PipelineQuery) Delete added in v0.3.0

func (q *PipelineQuery) Delete() error

Delete deletes matching pipelines

func (*PipelineQuery) Find added in v0.3.0

func (q *PipelineQuery) Find() (Pipelines, error)

Find executes the query and returns multiple pipelines

func (*PipelineQuery) First added in v0.3.0

func (q *PipelineQuery) First() (*models.Pipeline, error)

First executes the query and returns the first pipeline

func (*PipelineQuery) OrderBy added in v0.3.0

func (q *PipelineQuery) OrderBy(field string) *PipelineQuery

OrderBy orders by specified field

func (*PipelineQuery) Preload added in v0.3.0

func (q *PipelineQuery) Preload(relation string) *PipelineQuery

Preload preloads associations

func (*PipelineQuery) WhereEnabled added in v0.3.0

func (q *PipelineQuery) WhereEnabled(enabled bool) *PipelineQuery

WhereEnabled filters by enabled status

func (*PipelineQuery) WhereListenerID added in v0.3.0

func (q *PipelineQuery) WhereListenerID(listenerID string) *PipelineQuery

WhereListenerID filters by listener ID

func (*PipelineQuery) WhereName added in v0.3.0

func (q *PipelineQuery) WhereName(name string) *PipelineQuery

WhereName filters by pipeline name

func (*PipelineQuery) WhereNotType added in v0.3.0

func (q *PipelineQuery) WhereNotType(typ string) *PipelineQuery

WhereNotType filters by NOT pipeline type

func (*PipelineQuery) WhereType added in v0.3.0

func (q *PipelineQuery) WhereType(typ string) *PipelineQuery

WhereType filters by pipeline type

func (*PipelineQuery) WithCert added in v0.3.0

func (q *PipelineQuery) WithCert() *PipelineQuery

WithCert enables automatic certificate loading for query results. When enabled, Find() and First() will call loadPipelineCert on each pipeline.

type Pipelines added in v0.3.0

type Pipelines []*models.Pipeline

Pipelines is a slice of Pipeline models

func FindEnabledWebsites added in v0.3.0

func FindEnabledWebsites() (Pipelines, error)

FindEnabledWebsites - Get all enabled websites from database

func ListPipelinesByListener added in v0.3.0

func ListPipelinesByListener(listenerID string) (Pipelines, error)

ListPipelinesByListener returns pipelines for a listener (non-website)

func ListWebsitesByListener added in v0.3.0

func ListWebsitesByListener(listenerID string) (Pipelines, error)

ListWebsitesByListener returns website pipelines for a listener

func (Pipelines) ToProtobuf added in v0.3.0

func (p Pipelines) ToProtobuf() *clientpb.Pipelines

ToProtobuf converts Pipelines to protobuf

type ProfileQuery added in v0.3.0

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

func NewProfileQuery added in v0.3.0

func NewProfileQuery() *ProfileQuery

NewProfileQuery creates a new profile query builder

func (*ProfileQuery) Delete added in v0.3.0

func (q *ProfileQuery) Delete() error

Delete deletes matching profiles

func (*ProfileQuery) Find added in v0.3.0

func (q *ProfileQuery) Find() (Profiles, error)

Find returns all matching profiles

func (*ProfileQuery) First added in v0.3.0

func (q *ProfileQuery) First() (*models.Profile, error)

First returns the first matching profile

func (*ProfileQuery) OrderByCreated added in v0.3.0

func (q *ProfileQuery) OrderByCreated() *ProfileQuery

OrderByCreated orders by created_at ASC

func (*ProfileQuery) WhereName added in v0.3.0

func (q *ProfileQuery) WhereName(name string) *ProfileQuery

WhereName filters by profile name

func (*ProfileQuery) WherePipelineID added in v0.3.0

func (q *ProfileQuery) WherePipelineID(pipelineID string) *ProfileQuery

WherePipelineID filters by pipeline ID

func (*ProfileQuery) WithPipeline added in v0.3.0

func (q *ProfileQuery) WithPipeline() *ProfileQuery

WithPipeline preloads the Pipeline association

type Profiles added in v0.3.0

type Profiles []*models.Profile

Profiles is a slice of Profile models

func GetProfiles added in v0.0.3

func GetProfiles() (Profiles, error)

func (Profiles) ToProtobuf added in v0.3.0

func (p Profiles) ToProtobuf() *clientpb.Profiles

ToProtobuf converts Profiles to protobuf

type SessionQuery added in v0.3.0

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

func NewSessionQuery added in v0.3.0

func NewSessionQuery() *SessionQuery

NewSessionQuery creates a new session query builder

func (*SessionQuery) Count added in v0.3.0

func (q *SessionQuery) Count() (int64, error)

Count counts the number of matching sessions

func (*SessionQuery) Find added in v0.3.0

func (q *SessionQuery) Find() (Sessions, error)

Find executes the query and returns multiple sessions

func (*SessionQuery) First added in v0.3.0

func (q *SessionQuery) First() (*models.Session, error)

First executes the query and returns the first session

func (*SessionQuery) Limit added in v0.3.0

func (q *SessionQuery) Limit(limit int) *SessionQuery

Limit limits the number of results

func (*SessionQuery) Offset added in v0.3.0

func (q *SessionQuery) Offset(offset int) *SessionQuery

Offset sets the offset for results

func (*SessionQuery) OrderBy added in v0.3.0

func (q *SessionQuery) OrderBy(field string) *SessionQuery

OrderBy orders results by field

func (*SessionQuery) Update added in v0.3.0

func (q *SessionQuery) Update(column string, value interface{}) error

Update updates a single field on matching sessions

func (*SessionQuery) WhereAlive added in v0.3.0

func (q *SessionQuery) WhereAlive(alive bool) *SessionQuery

WhereAlive filters by alive status

func (*SessionQuery) WhereGroup added in v0.3.0

func (q *SessionQuery) WhereGroup(group string) *SessionQuery

WhereGroup filters by group name

func (*SessionQuery) WhereID added in v0.3.0

func (q *SessionQuery) WhereID(id string) *SessionQuery

WhereID filters by session ID

func (*SessionQuery) WhereRemoved added in v0.3.0

func (q *SessionQuery) WhereRemoved(removed bool) *SessionQuery

WhereRemoved filters by removed status

func (*SessionQuery) WhereType added in v0.3.0

func (q *SessionQuery) WhereType(typ string) *SessionQuery

WhereType filters by session type

type Sessions added in v0.3.0

type Sessions []*models.Session

Sessions is a slice of Session models

func FindAliveSessions

func FindAliveSessions() (Sessions, error)

func ListAliveSessions added in v0.3.0

func ListAliveSessions() (Sessions, error)

ListAliveSessions returns all alive sessions

func ListSessions added in v0.3.0

func ListSessions() (Sessions, error)

ListSessions returns all sessions (non-removed)

func (Sessions) ToProtobuf added in v0.3.0

func (s Sessions) ToProtobuf() *clientpb.Sessions

ToProtobuf converts Sessions to protobuf

type TaskQuery added in v0.3.0

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

func NewTaskQuery added in v0.3.0

func NewTaskQuery() *TaskQuery

NewTaskQuery creates a new task query builder

func (*TaskQuery) Count added in v0.3.0

func (q *TaskQuery) Count() (int64, error)

Count counts the number of matching tasks

func (*TaskQuery) Delete added in v0.3.0

func (q *TaskQuery) Delete() error

Delete deletes matching tasks

func (*TaskQuery) Find added in v0.3.0

func (q *TaskQuery) Find() (Tasks, error)

Find executes the query and returns multiple tasks

func (*TaskQuery) First added in v0.3.0

func (q *TaskQuery) First() (*models.Task, error)

First executes the query and returns the first task

func (*TaskQuery) Limit added in v0.3.0

func (q *TaskQuery) Limit(limit int) *TaskQuery

Limit limits the number of results

func (*TaskQuery) OrderBy added in v0.3.0

func (q *TaskQuery) OrderBy(field string) *TaskQuery

OrderBy orders by specified field

func (*TaskQuery) OrderBySeq added in v0.3.0

func (q *TaskQuery) OrderBySeq() *TaskQuery

OrderBySeq orders by sequence number

func (*TaskQuery) Update added in v0.3.0

func (q *TaskQuery) Update(column string, value interface{}) error

Update updates a single field on matching tasks

func (*TaskQuery) WhereFinished added in v0.3.0

func (q *TaskQuery) WhereFinished(finished bool) *TaskQuery

WhereFinished filters by finished status

func (*TaskQuery) WhereID added in v0.3.0

func (q *TaskQuery) WhereID(id string) *TaskQuery

WhereID filters by task ID

func (*TaskQuery) WhereSeq added in v0.3.0

func (q *TaskQuery) WhereSeq(seq uint32) *TaskQuery

WhereSeq filters by task sequence number

func (*TaskQuery) WhereSessionID added in v0.3.0

func (q *TaskQuery) WhereSessionID(sessionID string) *TaskQuery

WhereSessionID filters by session ID

func (*TaskQuery) WhereType added in v0.3.0

func (q *TaskQuery) WhereType(taskType string) *TaskQuery

WhereType filters by task type

type Tasks added in v0.3.0

type Tasks []*models.Task

Tasks is a slice of Task models

func FindTaskAndMaxTasksID

func FindTaskAndMaxTasksID(sessionID string) (Tasks, uint32, error)

func ListTasks added in v0.3.0

func ListTasks() (Tasks, error)

ListTasks returns all tasks

func ListTasksBySession added in v0.3.0

func ListTasksBySession(sessionID string) (Tasks, error)

ListTasksBySession returns tasks for a specific session

func (Tasks) ToProtobuf added in v0.3.0

func (t Tasks) ToProtobuf() *clientpb.Tasks

ToProtobuf converts Tasks to protobuf

type WebContentQuery added in v0.3.0

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

func NewWebContentQuery added in v0.3.0

func NewWebContentQuery() *WebContentQuery

NewWebContentQuery creates a new web content query builder

func (*WebContentQuery) Delete added in v0.3.0

func (q *WebContentQuery) Delete() error

Delete deletes matching web contents

func (*WebContentQuery) Find added in v0.3.0

func (q *WebContentQuery) Find() ([]*models.WebsiteContent, error)

Find returns all matching web contents

func (*WebContentQuery) First added in v0.3.0

func (q *WebContentQuery) First() (*models.WebsiteContent, error)

First returns the first matching web content

func (*WebContentQuery) WhereID added in v0.3.0

func (q *WebContentQuery) WhereID(id uuid.UUID) *WebContentQuery

WhereID filters by content ID

func (*WebContentQuery) WherePath added in v0.3.0

func (q *WebContentQuery) WherePath(path string) *WebContentQuery

WherePath filters by content path

func (*WebContentQuery) WherePipelineID added in v0.3.0

func (q *WebContentQuery) WherePipelineID(pipelineID string) *WebContentQuery

WherePipelineID filters by pipeline/website ID

func (*WebContentQuery) WithPipeline added in v0.3.0

func (q *WebContentQuery) WithPipeline() *WebContentQuery

WithPipeline preloads the Pipeline association

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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