[MM-70188] Convert the platform, os, browser user agent session attributes to select fields (#37969)

* [MM-70188] Convert the platform, os, browser user agent session attributes to select fields

* Update server/public/model/session_attributes.go

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Devin Binnie
2026-08-14 08:47:09 -04:00
committed by GitHub
co-authored by coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
parent a234862de7
commit 9a9bbe28bd
+52 -3
View File
@@ -294,9 +294,58 @@ func SessionAttributeSystemFields(groupID string) []*PropertyField {
sessionAttributeField(groupID, SessionAttributesPropertyFieldOSVersion, SessionAttributesDisplayNameOSVersion, PropertyFieldTypeText, clientsOnly, SessionAttributeDefaultTTLPosture, SessionAttributeDefaultGracePosture, sessionOperators(sessionVersionOperators...)),
sessionAttributeField(groupID, SessionAttributesPropertyFieldClientVersion, SessionAttributesDisplayNameClientVersion, PropertyFieldTypeText, clientsOnly, SessionAttributeDefaultTTLPosture, SessionAttributeDefaultGracePosture, sessionOperators(sessionVersionOperators...)),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentPlatform, SessionAttributesDisplayNameUserAgentPlatform, PropertyFieldTypeText, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, nil),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentOS, SessionAttributesDisplayNameUserAgentOS, PropertyFieldTypeText, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, nil),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentBrowserName, SessionAttributesDisplayNameUserAgentBrowserName, PropertyFieldTypeText, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, nil),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentPlatform, SessionAttributesDisplayNameUserAgentPlatform, PropertyFieldTypeSelect, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, StringInterface{
PropertyFieldAttributeOptions: []map[string]string{
{"name": "Windows"},
{"name": "Macintosh"},
{"name": "Linux"},
{"name": "iPad"},
{"name": "iPhone"},
{"name": "iPod"},
{"name": "BlackBerry"},
{"name": "Windows Phone"},
{"name": "Unknown"},
},
}),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentOS, SessionAttributesDisplayNameUserAgentOS, PropertyFieldTypeSelect, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, StringInterface{
PropertyFieldAttributeOptions: []map[string]string{
{"name": "Windows"},
{"name": "Windows 10"},
{"name": "Windows 8.1"},
{"name": "Windows 8"},
{"name": "Windows 7"},
{"name": "Windows Vista"},
{"name": "Windows XP x64 Edition"},
{"name": "Windows XP"},
{"name": "Windows 2000"},
{"name": "Windows Phone"},
{"name": "Mac OS"},
{"name": "iOS"},
{"name": "Android"},
{"name": "Chrome OS"},
{"name": "Linux"},
{"name": "BlackBerry"},
{"name": "Kindle"},
{"name": "webOS"},
{"name": "Unknown"},
},
}),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentBrowserName, SessionAttributesDisplayNameUserAgentBrowserName, PropertyFieldTypeSelect, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, StringInterface{
PropertyFieldAttributeOptions: []map[string]string{
{"name": "Chrome"},
{"name": "Firefox"},
{"name": "Safari"},
{"name": "Edge"},
{"name": "Internet Explorer"},
{"name": "Opera"},
{"name": "Android"},
{"name": "BlackBerry"},
{"name": "Desktop App"},
{"name": "Mobile App"},
{"name": "mmctl"},
{"name": "Unknown"},
},
}),
sessionAttributeField(groupID, SessionAttributesPropertyFieldUserAgentBrowserVersion, SessionAttributesDisplayNameUserAgentBrowserVersion, PropertyFieldTypeText, allPlatforms, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, sessionOperators(sessionVersionOperators...)),
sessionAttributeField(groupID, SessionAttributesPropertyFieldTLSDDeviceID, SessionAttributesDisplayNameTLSDDeviceID, PropertyFieldTypeText, desktopBrowser, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, nil),
sessionAttributeField(groupID, SessionAttributesPropertyFieldClientDeviceID, SessionAttributesDisplayNameClientDeviceID, PropertyFieldTypeText, mobileOnly, SessionAttributeDefaultTTLIdentity, SessionAttributeDefaultGraceIdentity, nil),