using Newtonsoft.Json;
using Saxonite.Net.Core.Web.Base.App;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Bus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Saxonite.Net.Core.Web.Admin.App
{
//=======================================================================
public class SaxSessionData_Admin : SaxSessionData_Web
{
//-------------------------------------------------------------------
// Construction.
[JsonConstructor]
private SaxSessionData_Admin(long sessionIdx, int itemIdx, SaxSessionContext sessionContext) :
base(sessionIdx, itemIdx, sessionContext)
{ }
///
/// SessionData construction.
/// SessionContext and UserAccount must be supplied.
/// Organisation is optional.
///
public SaxSessionData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) :
base(sessionContext, userAccount, userRoles)
{ }
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// User details.
private class UserData_Admin : UserData
{
public UserData_Admin(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) :
base(sessionContext, userAccount, userRoles)
{ }
public UserData_Admin(UserData userData) :
base(userData)
{ }
}
protected override UserData CreateUserData(SaxSessionContext sessionContext, SaxUserAccount userAccount, List userRoles) { return new UserData_Admin(sessionContext, userAccount, userRoles); }
/// User - JSON deserialisation route.
public new UserData User { get { return base.User; } set { SetUser(new UserData_Admin(value)); } }
//-------------------------------------------------------------------
}
//=======================================================================
}