Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Db is the database handler
var Products []Product
Products contains all currently available products and is used for the switcher in the header
var Versions []Version
Versions contains all currently available versions and is used for the switcher in the header
Functions ¶
Types ¶
type Comment ¶
type Comment struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
CrashID uuid.UUID `sql:"type:uuid DEFAULT NULL"`
ReportID uuid.UUID `sql:"type:uuid DEFAULT NULL"`
UserID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
User User
Content template.HTML
}
Comment defines the structure of a comment
type Crash ¶
type Crash struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
Signature string
Module string
AllCrashCount uint `gorm:"-"`
WinCrashCount uint `gorm:"-"`
MacCrashCount uint `gorm:"-"`
Reports []Report
Comments []Comment
FirstReported time.Time
LastReported time.Time
ProductID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Product Product
Versions []*Version `gorm:"many2many:crash_versions;"`
Fixed *time.Time `sql:"DEFAULT NULL"`
}
Crash database model
type Migration ¶ added in v1.2.0
type Migration struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
Component string `gorm:"unique,index"`
Version string
}
Migration is a table for the component versions
type Product ¶
type Product struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
Name string
Slug string
}
Product defines the structure of a product
func (*Product) AfterDelete ¶
AfterDelete is called on deleting Products, updates the variable
type Report ¶
type Report struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
CrashID uuid.UUID `sql:"type:uuid DEFAULT NULL"`
Crash Crash
ProcessUptime int
EMail string
Comment string
Processed bool
Os string
OsVersion string
Arch string
Signature string
Module string
CrashLocation string
CrashPath string
CrashLine int
Comments []Comment
ReportContentJSON string `sql:"type:JSONB NOT NULL DEFAULT '{}'::JSONB" json:"-"`
Report ReportContent `gorm:"-"`
ProductID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Product Product
VersionID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Version Version
ProcessingTime float64
}
Report database model
func (*Report) AfterFind ¶
AfterFind is called on finds, maps JSON string to Report
type ReportContent ¶
type ReportContent struct {
CrashInfo struct {
Address string `json:"address"`
CrashingThread int `json:"crashing_thread"`
Type string `json:"type"`
} `json:"crash_info"`
CrashingThread struct {
Frames []struct {
Frame int `json:"frame"`
MissingSymbols bool `json:"missing_symbols,omitempty"`
Module string `json:"module"`
ModuleOffset string `json:"module_offset"`
Offset string `json:"offset"`
Registers struct {
R10 string `json:"r10,omitempty"`
R11 string `json:"r11,omitempty"`
R12 string `json:"r12,omitempty"`
R13 string `json:"r13,omitempty"`
R14 string `json:"r14,omitempty"`
R15 string `json:"r15,omitempty"`
R8 string `json:"r8,omitempty"`
R9 string `json:"r9,omitempty"`
Rax string `json:"rax,omitempty"`
Rbp string `json:"rbp,omitempty"`
Rbx string `json:"rbx,omitempty"`
Rcx string `json:"rcx,omitempty"`
Rdi string `json:"rdi,omitempty"`
Rdx string `json:"rdx,omitempty"`
Rip string `json:"rip,omitempty"`
Rsi string `json:"rsi,omitempty"`
Rsp string `json:"rsp,omitempty"`
} `json:"registers,omitempty"`
Trust string `json:"trust"`
File string `json:"file,omitempty"`
Function string `json:"function,omitempty"`
FunctionOffset string `json:"function_offset,omitempty"`
Line int `json:"line,omitempty"`
} `json:"frames"`
ThreadsIndex int `json:"threads_index"`
TotalFrames int `json:"total_frames"`
} `json:"crashing_thread"`
MainModule int `json:"main_module"`
Modules []struct {
BaseAddr string `json:"base_addr"`
CodeID string `json:"code_id"`
DebugFile string `json:"debug_file"`
DebugID string `json:"debug_id"`
EndAddr string `json:"end_addr"`
Filename string `json:"filename"`
LoadedSymbols bool `json:"loaded_symbols,omitempty"`
Version string `json:"version"`
MissingSymbols bool `json:"missing_symbols,omitempty"`
} `json:"modules"`
Pid int `json:"pid"`
Sensitive struct {
Exploitability string `json:"exploitability"`
} `json:"sensitive"`
Status string `json:"status"`
SystemInfo struct {
CPUArch string `json:"cpu_arch"`
CPUCount int `json:"cpu_count"`
CPUInfo string `json:"cpu_info"`
Os string `json:"os"`
OsVer string `json:"os_ver"`
} `json:"system_info"`
ThreadCount int `json:"thread_count"`
Threads []struct {
FrameCount int `json:"frame_count"`
Frames []struct {
Frame int `json:"frame"`
MissingSymbols bool `json:"missing_symbols,omitempty"`
Module string `json:"module"`
ModuleOffset string `json:"module_offset"`
Offset string `json:"offset"`
Trust string `json:"trust"`
File string `json:"file,omitempty"`
Function string `json:"function,omitempty"`
FunctionOffset string `json:"function_offset,omitempty"`
Line int `json:"line,omitempty"`
} `json:"frames"`
} `json:"threads"`
}
ReportContent of a crashreport
type Symfile ¶
type Symfile struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
Os string
Arch string
Code string `gorm:"unique;index"`
Name string
ProductID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Product Product
VersionID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Version Version
}
Symfile database model
type User ¶
type User struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
Name string
IsAdmin bool
Comments []Comment
}
User defines the structure of a user
type Version ¶
type Version struct {
ID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
Name string
Slug string
GitRepo string
Ignore bool
ProductID uuid.UUID `sql:"type:uuid NOT NULL DEFAULT NULL"`
Product Product
Crashes []*Crash `gorm:"many2many:crash_versions;"`
}
Version defines the structure of a product
func (*Version) AfterDelete ¶ added in v1.1.0
AfterDelete is called on deleting Versions, updates the variable
Source Files
¶
- database.go