Implements User- and UserTypeRepository.

Implements User- and UserTypeMapper/Factory.
Update ContentRepository tests to use RepositoryResolver.
This commit is contained in:
Morten Christensen
2012-11-09 19:54:10 -01:00
parent e3d5fa766d
commit 270d75ecd1
19 changed files with 588 additions and 51 deletions

View File

@@ -12,6 +12,11 @@ namespace Umbraco.Core.Models.Membership
int SessionTimeout { get; set; }
int StartContentId { get; set; }
int StartMediaId { get; set; }
string Lanuguage { get; set; }
bool DefaultToLiveEditing { get; set; }
IEnumerable<string> Applications { get; set; }
bool NoConsole { get; set; }
IUserType UserType { get; }
string Permissions { get; set; }
}
}

View File

@@ -0,0 +1,11 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models.Membership
{
internal interface IUserType : IAggregateRoot
{
string Alias { get; set; }
string Name { get; set; }
string Permissions { get; set; }
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models.Membership
@@ -16,6 +17,11 @@ namespace Umbraco.Core.Models.Membership
private bool _hasIdentity;
private int _id;
public User(IUserType userType)
{
Groups = new List<object> {userType};
}
#region Implementation of IEntity
public bool HasIdentity { get { return Id != null || _hasIdentity; } }
@@ -24,11 +30,11 @@ namespace Umbraco.Core.Models.Membership
{
get
{
return _id;
return int.Parse(base.Id.ToString());
}
set
{
_id = value;
base.Id = value;
_hasIdentity = true;
}
}
@@ -58,5 +64,23 @@ namespace Umbraco.Core.Models.Membership
public IEnumerable<object> Groups { get; set; }
#endregion
#region Implementation of IUser
public string Lanuguage { get; set; }
public string Permissions { get; set; }
public bool DefaultToLiveEditing { get; set; }
public bool NoConsole { get; set; }
public IUserType UserType
{
get
{
var type = Groups.FirstOrDefault();
return type as IUserType;
}
}
#endregion
}
}

View File

@@ -0,0 +1,18 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models.Membership
{
/// <summary>
/// Represents the Type for a Backoffice User
/// </summary>
/// <remarks>
/// Should be internal until a proper user/membership implementation
/// is part of the roadmap.
/// </remarks>
internal class UserType : Entity, IUserType
{
public string Alias { get; set; }
public string Name { get; set; }
public string Permissions { get; set; }
}
}