All Verbs | /admin/app | ||
---|---|---|---|
All Verbs | /admin/app/{Country} | ||
All Verbs | /admin/app/{Country}/{Lang} |
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports AlbaApi.ServiceModel
Imports AlbaApi.Application.DTOs
Imports AlbaApi.Model
Imports TasSyd.Model.Base
Imports TasSyd.Model
Imports TasSyd.Model.Enums
Namespace Global
Namespace AlbaApi.Application.DTOs
Public Partial Class AdminAppData
Public Sub New()
SiteStructure = New Dictionary(Of String, SiteSection)
SectionElements = New Dictionary(Of String, List(Of String))
ListRelationships = New Dictionary(Of String, String)
ListItems = New List(Of ListItem)
Countries = New Dictionary(Of String, Country)
Content = New List(Of Content)
ScriptTrackerRecords = New List(Of ScriptTracker)
End Sub
Public Overridable Property SiteStructure As Dictionary(Of String, SiteSection)
Public Overridable Property SectionElements As Dictionary(Of String, List(Of String))
Public Overridable Property ListRelationships As Dictionary(Of String, String)
Public Overridable Property ListItems As List(Of ListItem)
Public Overridable Property Countries As Dictionary(Of String, Country)
Public Overridable Property Content As List(Of Content)
Public Overridable Property User As User
Public Overridable Property ScriptTrackerRecords As List(Of ScriptTracker)
Public Overridable Property Configurations As IEnumerable(Of Configuration)
End Class
End Namespace
Namespace AlbaApi.Model
Public Partial Class Configuration
Inherits Entity
Public Sub New()
Countries = New Dictionary(Of String, Country)
ListItems = New List(Of ListItem)
ListRelationships = New Dictionary(Of String, String)
SectionElements = New Dictionary(Of String, List(Of String))
SiteStructure = New Dictionary(Of String, SiteSection)
End Sub
Public Overridable Property Category As String
Public Overridable Property Countries As Dictionary(Of String, Country)
Public Overridable Property ListItems As List(Of ListItem)
Public Overridable Property ListRelationships As Dictionary(Of String, String)
Public Overridable Property SectionElements As Dictionary(Of String, List(Of String))
Public Overridable Property SiteStructure As Dictionary(Of String, SiteSection)
Public Overridable Property Version As Integer
Public Overridable Property CreatedBy As String
Public Overridable Property DateCreated As Nullable(Of Date)
Public Overridable Property UpdatedBy As String
Public Overridable Property DateUpdated As Nullable(Of Date)
End Class
Public Partial Class Country
Public Sub New()
Languages = New Dictionary(Of String, String)
End Sub
Public Overridable Property Name As String
Public Overridable Property Languages As Dictionary(Of String, String)
End Class
Public Partial Class ListItem
Inherits Entity
Public Overridable Property ListId As String
Public Overridable Property Country As String
Public Overridable Property RelatedId As String
Public Overridable Property Code As String
Public Overridable Property Custom As String
End Class
Public Partial Class ScriptTracker
Inherits Entity
Public Overridable Property Sprint As String
Public Overridable Property Country As String
Public Overridable Property Language As String
Public Overridable Property Section As String
Public Overridable Property ItemCode As String
Public Overridable Property Element As String
Public Overridable Property Value As String
Public Overridable Property IsFromMerge As Boolean
End Class
Public Partial Class SiteSection
Public Sub New()
HideFrom = New List(Of String)
End Sub
Public Overridable Property Route As String
Public Overridable Property Public As Boolean
Public Overridable Property Parent As String
Public Overridable Property Roles As Integer
Public Overridable Property HideFrom As List(Of String)
Public Overridable Property Order As Integer
End Class
Public Partial Class User
Public Overridable Property Roles As Roles
End Class
End Namespace
Namespace AlbaApi.ServiceModel
Public Partial Class AdminAppReq
Public Overridable Property Country As String
Public Overridable Property Lang As String
End Class
End Namespace
Namespace TasSyd.Model
Public Partial Class Content
Inherits Entity
Public Sub New()
Elements = New Dictionary(Of String, String)
End Sub
Public Overridable Property Section As String
Public Overridable Property ItemId As String
Public Overridable Property ItemCode As String
Public Overridable Property Country As String
Public Overridable Property Lang As String
Public Overridable Property App As String
Public Overridable Property CompanyId As String
Public Overridable Property Company As String
Public Overridable Property Elements As Dictionary(Of String, String)
End Class
End Namespace
Namespace TasSyd.Model.Base
Public Partial Class Entity
Implements IEntity
Public Overridable Property Id As String
End Class
End Namespace
Namespace TasSyd.Model.Enums
<Flags>
Public Enum Roles
None = 0
Employee = 1
Member = 2
Employer = 4
Broker = 8
Developer = 16
SysAdmin = 32
End Enum
End Namespace
End Namespace
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 /admin/app HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
country: String,
lang: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { siteStructure: { String: { route: String, public: False, parent: String, roles: 0, hideFrom: [ String ], order: 0 } }, sectionElements: { String: [ String ] }, listRelationships: { String: String }, listItems: [ { listId: String, country: String, relatedId: String, code: String, custom: String, id: String } ], countries: { String: { name: String, languages: { String: String } } }, content: [ { section: String, itemId: String, itemCode: String, country: String, lang: String, app: String, companyId: String, company: String, elements: { String: String }, id: String } ], user: { roles: 0 }, scriptTrackerRecords: [ { sprint: String, country: String, language: String, section: String, itemCode: String, element: String, value: String, isFromMerge: False, id: String } ] }