POST,GET | /api/Web/GetHeaderMenu |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ClubManager.Interfaces.Models.UI
Imports ClubManager.Interfaces.Models.Branch
Namespace Global
Namespace ClubManager.Interfaces.Models.Branch
<Flags>
Public Enum Feature
None = 0
Standard = 1
Bookings = 2
Rota = 4
GoCardless = 8
HomeScreen = 16
EPos = 32
Attendance = 64
Sales = 128
PaymentCollections = 256
MailChimp = 512
MultiSite = 1024
AccountingDashboard = 2048
OtherDashboards = 4096
Reports = 8192
AdvancedAccounting = 16384
MemberLicenseDates = 32768
FaceRecognition = 65536
MemberAccountCreation = 131072
Automation = 262144
FacebookMarketing = 524288
Grades = 1048576
ZoomIntegration = 2097152
SalesTargetChart = 4194304
CustomApp = 8388608
CustomAttributesOnPortal = 16777216
NoExport = 33554432
EnterpriseClubPerformanceDashboards = 67108864
End Enum
End Namespace
Namespace ClubManager.Interfaces.Models.UI
Public Partial Class HeaderMenu
Public Sub New()
HeaderMenuItems = New List(Of HeaderMenuItem)
End Sub
Public Overridable Property Header As String
Public Overridable Property HeaderMenuItems As List(Of HeaderMenuItem)
End Class
Public Partial Class HeaderMenuItem
Public Sub New()
Roles = New String(){}
SubHeaderMenuItems = New List(Of SubHeaderMenuItem)
End Sub
Public Overridable Property Name As String
Public Overridable Property Url As String
Public Overridable Property IsCurrent As Boolean
Public Overridable Property Feature As Nullable(Of Feature)
Public Overridable Property HideFeature As Boolean
Public Overridable Property Roles As String()
Public Overridable Property SubHeaderMenuItems As List(Of SubHeaderMenuItem)
End Class
Public Partial Class SubHeaderMenuItem
Public Sub New()
Roles = New String(){}
End Sub
Public Overridable Property Name As String
Public Overridable Property Description As String
Public Overridable Property Url As String
Public Overridable Property Icon As String
Public Overridable Property Roles As String()
Public Overridable Property Feature As Nullable(Of Feature)
Public Overridable Property HideForCMGo As Nullable(Of Boolean)
Public Overridable Property ShowFeatureUnavailable As Boolean
Public Overridable Property HasIcon As Boolean
Public Overridable Property HasFontAwesomeIcon As Boolean
End Class
End Namespace
End Namespace
VB.NET WebService.GetHeaderMenuRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/Web/GetHeaderMenu HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"UserId":0,"MemberId":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Header":"String","HeaderMenuItems":[{"Name":"String","Url":"String","IsCurrent":false,"Feature":0,"HideFeature":false,"Roles":["String"],"SubHeaderMenuItems":[{"Name":"String","Description":"String","Url":"String","Icon":"String","Roles":["String"],"Feature":0,"HideForCMGo":false,"ShowFeatureUnavailable":false,"HasIcon":true,"HasFontAwesomeIcon":false}]}]}