calls

package
v0.0.0-...-1a3a2fa Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2026 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidInterval = errors.New("invalid interval")
)

Functions

This section is empty.

Types

type Call

type Call struct {
	ID             uuid.UUID     `json:"id" relayOut:"id"`
	Audio          []byte        `json:"audio,omitempty" relayOut:"audio,omitempty" filenameField:"AudioName"`
	AudioName      string        `json:"audioName,omitempty" relayOut:"audioName,omitempty"`
	AudioType      string        `json:"audioType,omitempty" relayOut:"audioType,omitempty"`
	AudioURL       *string       `json:"audioURL,omitempty" relayOut:"audioURL,omitempty"`
	Duration       CallDuration  `json:"duration,omitempty" relayOut:"duration,omitempty"`
	DateTime       time.Time     `json:"callDate,omitzero" relayOut:"dateTime,omitzero"`
	Frequencies    []int         `json:"frequencies,omitempty" relayOut:"frequencies,omitempty"`
	Frequency      int           `json:"frequency,omitempty" relayOut:"frequency,omitempty"`
	Patches        []int         `json:"patches,omitempty" relayOut:"patches,omitempty"`
	Source         int           `json:"source,omitempty" relayOut:"source,omitempty"`
	System         int           `json:"systemId,omitempty" relayOut:"system,omitempty"`
	Submitter      *users.UserID `json:"submitter,omitempty" relayOut:"submitter,omitempty"`
	SystemLabel    string        `json:"systemName,omitempty" relayOut:"systemLabel,omitempty"`
	TalkerAlias    *string       `json:"talkerAlias,omitempty" relayOut:"talkerAlias,omitempty"`
	Talkgroup      int           `json:"tgid,omitempty" relayOut:"talkgroup,omitempty"`
	TalkgroupGroup *string       `json:"talkgroupGroup,omitempty" relayOut:"talkgroupGroup,omitempty"`
	TalkgroupLabel *string       `json:"talkgroupLabel,omitempty" relayOut:"talkgroupLabel,omitempty"`
	TGAlphaTag     *string       `json:"tgAlphaTag,omitempty" relayOut:"talkgroupTag,omitempty"`
	Transcript     *string       `json:"transcript,omitempty" relayOut:"transcript,omitempty"`
	MissingAudio   *bool         `json:"missingAudio,omitempty" relayOut:"missingAudio,omitempty"`
	// contains filtered or unexported fields
}

relayOut exists for compatibility with http source CallUploadRequest as used in the relay sink.

func Make

func Make(call *Call, shouldStore bool) (*Call, error)

func (*Call) BroadcastType

func (*Call) BroadcastType() broadcast.Type

func (*Call) GetDuration

func (c *Call) GetDuration() time.Duration

func (*Call) GetResourceName

func (c *Call) GetResourceName() string

func (*Call) PatchTGs

func (c *Call) PatchTGs() []int

func (*Call) SetShareURL

func (c *Call) SetShareURL(baseURL url.URL, shareID string)

func (*Call) ShouldStore

func (c *Call) ShouldStore() bool

func (*Call) String

func (c *Call) String() string

func (*Call) TalkgroupTuple

func (c *Call) TalkgroupTuple() talkgroups.ID

func (*Call) ToCallAudio

func (c *Call) ToCallAudio() *CallAudio

func (*Call) ToPB

func (c *Call) ToPB() *pb.Call

func (*Call) ToPBMessage

func (c *Call) ToPBMessage() *pb.Message

type CallAudio

type CallAudio struct {
	ID        uuid.UUID      `json:"id,omitempty"`
	CallDate  jsontypes.Time `json:"callDate"`
	AudioName *string        `json:"audioName"`
	AudioType *string        `json:"audioType"`
	AudioURL  *url.URL       `json:"audioURL,omitempty"`
	AudioBlob []byte         `json:"audioBlob,omitempty"`
}

CallAudio is a skinny Call used for audio API calls.

type CallDuration

type CallDuration time.Duration

func (CallDuration) ColonFormat

func (d CallDuration) ColonFormat() string

func (CallDuration) Duration

func (d CallDuration) Duration() time.Duration

func (CallDuration) MarshalJSON

func (d CallDuration) MarshalJSON() ([]byte, error)

func (CallDuration) MsInt32Ptr

func (d CallDuration) MsInt32Ptr() *int32

func (CallDuration) Seconds

func (d CallDuration) Seconds() int32

type CallTranscription

type CallTranscription struct {
	ID         uuid.UUID     `json:"id"`
	TG         talkgroups.ID `json:"tg"`
	Patches    []int         `json:"patches"`
	Transcript *string       `json:"transcript"`
}

CallTranscription is a skinny Call used for transcription responses.

func (*CallTranscription) BroadcastType

func (*CallTranscription) BroadcastType() broadcast.Type

func (*CallTranscription) PatchTGs

func (ct *CallTranscription) PatchTGs() []int

func (*CallTranscription) ShouldStore

func (*CallTranscription) ShouldStore() bool

func (*CallTranscription) TalkgroupTuple

func (ct *CallTranscription) TalkgroupTuple() talkgroups.ID

func (*CallTranscription) ToPB

func (*CallTranscription) ToPBMessage

func (ct *CallTranscription) ToPBMessage() *pb.Message

type Stat

type Stat struct {
	Count int64          `json:"count"`
	Time  jsontypes.Time `json:"time"`
}

type Stats

type Stats struct {
	Stats    []Stat        `json:"stats"`
	Interval StatsInterval `json:"interval"`
}

func (*Stats) GetResourceName

func (s *Stats) GetResourceName() string

type StatsInterval

type StatsInterval string
const (
	IntervalMinute  StatsInterval = "minute"
	IntervalHour    StatsInterval = "hour"
	IntervalDay     StatsInterval = "day"
	IntervalWeek    StatsInterval = "week"
	IntervalMonth   StatsInterval = "month"
	IntervalQuarter StatsInterval = "quarter"
	IntervalYear    StatsInterval = "year"
)

func (StatsInterval) IsValid

func (si StatsInterval) IsValid() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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