AlbaApi

<back to all web services

AdminAppReq

The following routes are available for this service:
All Verbs/admin/app
All Verbs/admin/app/{Country}
All Verbs/admin/app/{Country}/{Lang}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using AlbaApi.ServiceModel;
using AlbaApi.Application.DTOs;
using AlbaApi.Model;
using TasSyd.Model.Base;
using TasSyd.Model;
using TasSyd.Model.Enums;

namespace AlbaApi.Application.DTOs
{
    public partial class AdminAppData
    {
        public AdminAppData()
        {
            SiteStructure = new Dictionary<string, SiteSection>{};
            SectionElements = new Dictionary<string, List<String>>{};
            ListRelationships = new Dictionary<string, string>{};
            ListItems = new List<ListItem>{};
            Countries = new Dictionary<string, Country>{};
            Content = new List<Content>{};
            ScriptTrackerRecords = new List<ScriptTracker>{};
        }

        public virtual Dictionary<string, SiteSection> SiteStructure { get; set; }
        public virtual Dictionary<string, List<String>> SectionElements { get; set; }
        public virtual Dictionary<string, string> ListRelationships { get; set; }
        public virtual List<ListItem> ListItems { get; set; }
        public virtual Dictionary<string, Country> Countries { get; set; }
        public virtual List<Content> Content { get; set; }
        public virtual User User { get; set; }
        public virtual List<ScriptTracker> ScriptTrackerRecords { get; set; }
        public virtual IEnumerable<Configuration> Configurations { get; set; }
    }

}

namespace AlbaApi.Model
{
    public partial class Configuration
        : Entity
    {
        public Configuration()
        {
            Countries = new Dictionary<string, Country>{};
            ListItems = new List<ListItem>{};
            ListRelationships = new Dictionary<string, string>{};
            SectionElements = new Dictionary<string, List<String>>{};
            SiteStructure = new Dictionary<string, SiteSection>{};
        }

        public virtual string Category { get; set; }
        public virtual Dictionary<string, Country> Countries { get; set; }
        public virtual List<ListItem> ListItems { get; set; }
        public virtual Dictionary<string, string> ListRelationships { get; set; }
        public virtual Dictionary<string, List<String>> SectionElements { get; set; }
        public virtual Dictionary<string, SiteSection> SiteStructure { get; set; }
        public virtual int Version { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime? DateCreated { get; set; }
        public virtual string UpdatedBy { get; set; }
        public virtual DateTime? DateUpdated { get; set; }
    }

    public partial class Country
    {
        public Country()
        {
            Languages = new Dictionary<string, string>{};
        }

        public virtual string Name { get; set; }
        public virtual Dictionary<string, string> Languages { get; set; }
    }

    public partial class ListItem
        : Entity
    {
        public virtual string ListId { get; set; }
        public virtual string Country { get; set; }
        public virtual string RelatedId { get; set; }
        public virtual string Code { get; set; }
        public virtual string Custom { get; set; }
    }

    public partial class ScriptTracker
        : Entity
    {
        public virtual string Sprint { get; set; }
        public virtual string Country { get; set; }
        public virtual string Language { get; set; }
        public virtual string Section { get; set; }
        public virtual string ItemCode { get; set; }
        public virtual string Element { get; set; }
        public virtual string Value { get; set; }
        public virtual bool IsFromMerge { get; set; }
    }

    public partial class SiteSection
    {
        public SiteSection()
        {
            HideFrom = new List<string>{};
        }

        public virtual string Route { get; set; }
        public virtual bool Public { get; set; }
        public virtual string Parent { get; set; }
        public virtual int Roles { get; set; }
        public virtual List<string> HideFrom { get; set; }
        public virtual int Order { get; set; }
    }

    public partial class User
    {
        public virtual Roles Roles { get; set; }
    }

}

namespace AlbaApi.ServiceModel
{
    public partial class AdminAppReq
    {
        public virtual string Country { get; set; }
        public virtual string Lang { get; set; }
    }

}

namespace TasSyd.Model
{
    public partial class Content
        : Entity
    {
        public Content()
        {
            Elements = new Dictionary<string, string>{};
        }

        public virtual string Section { get; set; }
        public virtual string ItemId { get; set; }
        public virtual string ItemCode { get; set; }
        public virtual string Country { get; set; }
        public virtual string Lang { get; set; }
        public virtual string App { get; set; }
        public virtual string CompanyId { get; set; }
        public virtual string Company { get; set; }
        public virtual Dictionary<string, string> Elements { get; set; }
    }

}

namespace TasSyd.Model.Base
{
    public partial class Entity
        : IEntity
    {
        public virtual string Id { get; set; }
    }

}

namespace TasSyd.Model.Enums
{
    [Flags]
    public enum Roles
    {
        None = 0,
        Employee = 1,
        Member = 2,
        Employer = 4,
        Broker = 8,
        Developer = 16,
        SysAdmin = 32,
    }

}

C# AdminAppReq DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
		}
	]
}