model

package
v7.0.0-rc9 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2026 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Data

type Data struct {
	SiteID         uint64    `db:"site_id" json:"site_id" csv:"site_id"`
	VisitorID      uint64    `db:"visitor_id" json:"visitor_id" csv:"visitor_id"`
	SessionID      uint32    `db:"session_id" json:"session_id" csv:"session_id"`
	Time           time.Time `json:"time" csv:"time"`
	Hostname       string    `json:"hostname" csv:"hostname"`
	Language       string    `json:"language" csv:"language"`
	CountryCode    string    `db:"country_code" json:"country_code" csv:"country_code"`
	Region         string    `json:"region" csv:"region"`
	City           string    `json:"city" csv:"city"`
	Referrer       string    `json:"referrer" csv:"referrer"`
	ReferrerName   string    `db:"referrer_name" json:"referrer_name" csv:"referrer_name"`
	ReferrerIcon   string    `db:"referrer_icon" json:"referrer_icon" csv:"referrer_icon"`
	OS             string    `json:"os" csv:"os"`
	OSVersion      string    `db:"os_version" json:"os_version" csv:"os_version"`
	Browser        string    `json:"browser" csv:"browser"`
	BrowserVersion string    `db:"browser_version" json:"browser_version" csv:"browser_version"`
	Platform       int8      `json:"platform" csv:"platform"`
	ScreenClass    string    `db:"screen_class" json:"screen_class" csv:"screen_class"`
	UTMSource      string    `db:"utm_source" json:"utm_source" csv:"utm_source"`
	UTMMedium      string    `db:"utm_medium" json:"utm_medium" csv:"utm_medium"`
	UTMCampaign    string    `db:"utm_campaign" json:"utm_campaign" csv:"utm_campaign"`
	UTMContent     string    `db:"utm_content" json:"utm_content" csv:"utm_content"`
	UTMTerm        string    `db:"utm_term" json:"utm_term" csv:"utm_term"`
	Channel        string    `json:"channel" csv:"channel"`
}

Data is a shared type for Session, PageView, and Event.

func (Data) String

func (data Data) String() string

String implements the Stringer interface.

type Event

type Event struct {
	Data

	Name     string         `json:"name" csv:"name"`
	MetaData map[string]any `db:"meta_data" json:"meta_data" csv:"-"`
	Path     string         `json:"path" csv:"path"`
	Title    string         `json:"title" csv:"title"`
}

Event stores custom events.

func (Event) String

func (event Event) String() string

String implements the Stringer interface.

type PageView

type PageView struct {
	Data

	DurationSeconds uint32            `db:"duration_seconds" json:"duration_seconds" csv:"duration_seconds"`
	Path            string            `json:"path" csv:"path"`
	Title           string            `json:"title" csv:"title"`
	Tags            map[string]string `db:"tags" json:"tags" csv:"-"`
}

PageView stores page views.

func (PageView) String

func (pageView PageView) String() string

String implements the Stringer interface.

type Request

type Request struct {
	SiteID      uint64            `db:"site_id" json:"site_id"`
	VisitorID   uint64            `db:"visitor_id" json:"visitor_id"`
	Time        time.Time         `json:"time"`
	Hostname    string            `json:"hostname"`
	Path        string            `json:"path"`
	Query       string            `json:"query"`
	IP          string            `json:"ip"`
	UserAgent   string            `db:"user_agent" json:"user_agent"`
	Headers     map[string]string `json:"headers"`
	EventName   string            `db:"event_name" json:"event_name"`
	Referrer    string            `json:"referrer"`
	UTMSource   string            `db:"utm_source" json:"utm_source"`
	UTMMedium   string            `db:"utm_medium" json:"utm_medium"`
	UTMCampaign string            `db:"utm_campaign" json:"utm_campaign"`
	UTMContent  string            `db:"utm_content" json:"utm_content"`
	UTMTerm     string            `db:"utm_term" json:"utm_term"`
	Bot         bool              `json:"bot"`
	BotReason   string            `db:"bot_reason" json:"bot_reason"`
}

Request is the data structure used to log visitor requests.

func (Request) String

func (request Request) String() string

String implements the Stringer interface.

type Session

type Session struct {
	Data

	Sign            int8      `json:"sign" csv:"sign"`
	Version         uint16    `json:"version" csv:"version"`
	Start           time.Time `json:"start" csv:"start"`
	DurationSeconds uint32    `db:"duration_seconds" json:"duration_seconds" csv:"duration_seconds"`
	PageViews       uint16    `db:"page_views" json:"page_views" csv:"page_views"`
	IsBounce        bool      `db:"is_bounce" json:"is_bounce" csv:"is_bounce"`
	EntryPath       string    `db:"entry_path" json:"entry_path" csv:"entry_path"`
	ExitPath        string    `db:"exit_path" json:"exit_path" csv:"exit_path"`
	EntryTitle      string    `db:"entry_title" json:"entry_title" csv:"entry_title"`
	ExitTitle       string    `db:"exit_title" json:"exit_title" csv:"exit_title"`
	Extended        uint16    `json:"extended" csv:"extended"`
}

Session stores updates to a visitor session.

func (Session) String

func (session Session) String() string

String implements the Stringer interface.

Jump to

Keyboard shortcuts

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