Documentation
¶
Overview ¶
Package constants provides application-wide constant definitions.
Index ¶
Constants ¶
View Source
const ( ArticleTypeEmailExternal = 1 ArticleTypeEmailInternal = 2 ArticleTypeEmailNotificationExt = 3 ArticleTypeEmailNotificationInt = 4 ArticleTypePhone = 5 ArticleTypeFax = 6 ArticleTypeSMS = 7 ArticleTypeWebRequest = 8 ArticleTypeNoteInternal = 9 ArticleTypeNoteExternal = 10 ArticleTypeNoteReport = 11 ArticleTypeChatExternal = 12 ArticleTypeChatInternal = 13 )
Article type IDs seeded via migrations (see legacy default data). These mirror OTRS semantics and MUST remain stable for data compatibility.
View Source
const ( ArticleSenderAgent = 1 ArticleSenderSystem = 2 ArticleSenderCustomer = 3 )
Sender (author/origin) type IDs.
View Source
const ( DefaultSessionTimeout = 57600 // 16 hours total lifetime DefaultSessionIdleTimeout = 7200 // 2 hours idle window MaxSessionTimeout = 604800 MinSessionTimeout = 3600 MinSessionIdleTimeout = 300 RefreshTokenTimeout = 604800 SessionWarningTime = 300 )
Session timeout constants (in seconds).
Variables ¶
View Source
var ArticleTypesMetadata = map[int]ArticleTypeMeta{ ArticleTypeEmailExternal: {ID: ArticleTypeEmailExternal, Name: "email-external", CustomerVisible: true, UserSelectable: true}, ArticleTypeEmailInternal: {ID: ArticleTypeEmailInternal, Name: "email-internal", CustomerVisible: false, UserSelectable: false, InternalOnly: true}, ArticleTypeEmailNotificationExt: {ID: ArticleTypeEmailNotificationExt, Name: "email-notification-ext", CustomerVisible: true, UserSelectable: false}, ArticleTypeEmailNotificationInt: {ID: ArticleTypeEmailNotificationInt, Name: "email-notification-int", CustomerVisible: false, UserSelectable: false, InternalOnly: true}, ArticleTypePhone: {ID: ArticleTypePhone, Name: "phone", CustomerVisible: true, UserSelectable: true}, ArticleTypeFax: {ID: ArticleTypeFax, Name: "fax", CustomerVisible: true, UserSelectable: false}, ArticleTypeSMS: {ID: ArticleTypeSMS, Name: "sms", CustomerVisible: true, UserSelectable: false}, ArticleTypeWebRequest: {ID: ArticleTypeWebRequest, Name: "webrequest", CustomerVisible: true, UserSelectable: false}, ArticleTypeNoteInternal: {ID: ArticleTypeNoteInternal, Name: "note-internal", CustomerVisible: false, UserSelectable: true, InternalOnly: true}, ArticleTypeNoteExternal: {ID: ArticleTypeNoteExternal, Name: "note-external", CustomerVisible: true, UserSelectable: true}, ArticleTypeNoteReport: {ID: ArticleTypeNoteReport, Name: "note-report", CustomerVisible: false, UserSelectable: false, InternalOnly: true}, ArticleTypeChatExternal: {ID: ArticleTypeChatExternal, Name: "chat-external", CustomerVisible: true, UserSelectable: false}, ArticleTypeChatInternal: {ID: ArticleTypeChatInternal, Name: "chat-internal", CustomerVisible: false, UserSelectable: false, InternalOnly: true}, }
ArticleTypesMetadata provides lookup by ID.
View Source
var InteractionTypeOrdering = []InteractionType{ InteractionEmail, InteractionPhone, InteractionInternalNote, }
InteractionTypeOrdering is the order for UI selection.
View Source
var SessionTimeoutOptions = map[string]int{
"System Default": 0,
"1 hour": 3600,
"2 hours": 7200,
"4 hours": 14400,
"8 hours": 28800,
"16 hours": 57600,
"24 hours": 86400,
"3 days": 259200,
"7 days": 604800,
}
Predefined timeout options for user preferences (in seconds).
Functions ¶
This section is empty.
Types ¶
type ArticleTypeMeta ¶
type ArticleTypeMeta struct {
ID int
Name string
CustomerVisible bool // default visibility
UserSelectable bool // can appear in UI selection list
InternalOnly bool // never customer visible regardless of flag
}
ArticleTypeMeta holds metadata for each article type.
type InteractionType ¶
type InteractionType string
InteractionType is a high-level UI-driven abstraction used to map user intent to concrete article_type_id + visibility rules. This keeps handler logic simple and centralized.
const ( InteractionEmail InteractionType = "email" InteractionPhone InteractionType = "phone" InteractionInternalNote InteractionType = "internal_note" InteractionExternalNote InteractionType = "external_note" // may be phased in later )
Click to show internal directories.
Click to hide internal directories.