| POST,GET | /api/Web/GetHeaderMenu |
|---|
namespace ClubManager.Interfaces.Models.Branch
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<Flags>]
type 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
| NoBasketForBookings = 134217728
[<AllowNullLiteral>]
type SubHeaderMenuItem() =
member val Name:String = null with get,set
member val Description:String = null with get,set
member val Url:String = null with get,set
member val Icon:String = null with get,set
member val Roles:String[] = [||] with get,set
member val Feature:Nullable<Feature> = new Nullable<Feature>() with get,set
member val HideForCMGo:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val ShowFeatureUnavailable:Boolean = new Boolean() with get,set
member val HasIcon:Boolean = new Boolean() with get,set
member val HasFontAwesomeIcon:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type HeaderMenuItem() =
member val Name:String = null with get,set
member val Url:String = null with get,set
member val IsCurrent:Boolean = new Boolean() with get,set
member val Feature:Nullable<Feature> = new Nullable<Feature>() with get,set
member val HideFeature:Boolean = new Boolean() with get,set
member val Roles:String[] = [||] with get,set
member val SubHeaderMenuItems:ResizeArray<SubHeaderMenuItem> = new ResizeArray<SubHeaderMenuItem>() with get,set
[<AllowNullLiteral>]
type HeaderMenu() =
member val Header:String = null with get,set
member val HeaderMenuItems:ResizeArray<HeaderMenuItem> = new ResizeArray<HeaderMenuItem>() with get,set
F# WebService.GetHeaderMenuRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
Content-Length: length
{
UserId: 0,
MemberId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}
]
}
]
}