diff --git a/src/Umbraco.Core/Models/EntityContainer.cs b/src/Umbraco.Abstractions/Models/EntityContainer.cs
similarity index 98%
rename from src/Umbraco.Core/Models/EntityContainer.cs
rename to src/Umbraco.Abstractions/Models/EntityContainer.cs
index 70f6cbd878..5c2ada7149 100644
--- a/src/Umbraco.Core/Models/EntityContainer.cs
+++ b/src/Umbraco.Abstractions/Models/EntityContainer.cs
@@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel;
using System.Linq;
-using System.Runtime.Serialization;
using Umbraco.Core.Models.Entities;
namespace Umbraco.Core.Models
diff --git a/src/Umbraco.Abstractions/Models/IScript.cs b/src/Umbraco.Abstractions/Models/IScript.cs
new file mode 100644
index 0000000000..9fdc321107
--- /dev/null
+++ b/src/Umbraco.Abstractions/Models/IScript.cs
@@ -0,0 +1,7 @@
+namespace Umbraco.Core.Models
+{
+ public interface IScript : IFile
+ {
+
+ }
+}
diff --git a/src/Umbraco.Abstractions/Models/IStylesheet.cs b/src/Umbraco.Abstractions/Models/IStylesheet.cs
new file mode 100644
index 0000000000..737118d646
--- /dev/null
+++ b/src/Umbraco.Abstractions/Models/IStylesheet.cs
@@ -0,0 +1,30 @@
+using System.Collections.Generic;
+using Umbraco.Core.Models.Entities;
+
+namespace Umbraco.Core.Models
+{
+ public interface IStylesheet : IFile, IRememberBeingDirty
+ {
+ ///
+ /// Returns a list of umbraco back office enabled stylesheet properties
+ ///
+ ///
+ /// An umbraco back office enabled stylesheet property has a special prefix, for example:
+ ///
+ /// /** umb_name: MyPropertyName */ p { font-size: 1em; }
+ ///
+ IEnumerable Properties { get; }
+
+ ///
+ /// Adds an Umbraco stylesheet property for use in the back office
+ ///
+ ///
+ void AddProperty(IStylesheetProperty property);
+
+ ///
+ /// Removes an Umbraco stylesheet property
+ ///
+ ///
+ void RemoveProperty(string name);
+ }
+}
diff --git a/src/Umbraco.Abstractions/Models/IStylesheetProperty.cs b/src/Umbraco.Abstractions/Models/IStylesheetProperty.cs
new file mode 100644
index 0000000000..c44a147d54
--- /dev/null
+++ b/src/Umbraco.Abstractions/Models/IStylesheetProperty.cs
@@ -0,0 +1,11 @@
+using Umbraco.Core.Models.Entities;
+
+namespace Umbraco.Core.Models
+{
+ public interface IStylesheetProperty : IRememberBeingDirty
+ {
+ string Alias { get; set; }
+ string Name { get; }
+ string Value { get; set; }
+ }
+}
diff --git a/src/Umbraco.Abstractions/Models/Identity/IUserLoginInfo.cs b/src/Umbraco.Abstractions/Models/Identity/IUserLoginInfo.cs
new file mode 100644
index 0000000000..84dc1da7e0
--- /dev/null
+++ b/src/Umbraco.Abstractions/Models/Identity/IUserLoginInfo.cs
@@ -0,0 +1,13 @@
+namespace Umbraco.Core.Models.Identity
+{
+ public interface IUserLoginInfo
+ {
+ ///
+ /// Provider for the linked login, i.e. Facebook, Google, etc.
+ ///
+ string LoginProvider { get; set; }
+
+ /// User specific key for the login provider
+ string ProviderKey { get; set; }
+ }
+}
diff --git a/src/Umbraco.Abstractions/Models/Script.cs b/src/Umbraco.Abstractions/Models/Script.cs
index b6e49f72ee..be96c04ddd 100644
--- a/src/Umbraco.Abstractions/Models/Script.cs
+++ b/src/Umbraco.Abstractions/Models/Script.cs
@@ -9,7 +9,7 @@ namespace Umbraco.Core.Models
///
[Serializable]
[DataContract(IsReference = true)]
- public class Script : File
+ public class Script : File, IScript
{
public Script(string path)
: this(path, (Func) null)
@@ -25,9 +25,6 @@ namespace Umbraco.Core.Models
///
/// Overrides the default Entity identity check.
///
- public override bool HasIdentity
- {
- get { return string.IsNullOrEmpty(Path) == false; }
- }
+ public override bool HasIdentity => string.IsNullOrEmpty(Path) == false;
}
}
diff --git a/src/Umbraco.Abstractions/Models/Stylesheet.cs b/src/Umbraco.Abstractions/Models/Stylesheet.cs
index df5786a340..48f00a1650 100644
--- a/src/Umbraco.Abstractions/Models/Stylesheet.cs
+++ b/src/Umbraco.Abstractions/Models/Stylesheet.cs
@@ -13,7 +13,7 @@ namespace Umbraco.Core.Models
///
[Serializable]
[DataContract(IsReference = true)]
- public class Stylesheet : File
+ public class Stylesheet : File, IStylesheet
{
public Stylesheet(string path)
: this(path, null)
@@ -120,7 +120,7 @@ namespace Umbraco.Core.Models
/// /** umb_name: MyPropertyName */ p { font-size: 1em; }
///
[IgnoreDataMember]
- public IEnumerable Properties
+ public IEnumerable Properties
{
get { return _properties.Value; }
}
@@ -129,7 +129,7 @@ namespace Umbraco.Core.Models
/// Adds an Umbraco stylesheet property for use in the back office
///
///
- public void AddProperty(StylesheetProperty property)
+ public void AddProperty(IStylesheetProperty property)
{
if (Properties.Any(x => x.Name.InvariantEquals(property.Name)))
{
diff --git a/src/Umbraco.Abstractions/Models/StylesheetProperty.cs b/src/Umbraco.Abstractions/Models/StylesheetProperty.cs
index 089f89deb6..bc895113bc 100644
--- a/src/Umbraco.Abstractions/Models/StylesheetProperty.cs
+++ b/src/Umbraco.Abstractions/Models/StylesheetProperty.cs
@@ -12,7 +12,7 @@ namespace Umbraco.Core.Models
///
[Serializable]
[DataContract(IsReference = true)]
- public class StylesheetProperty : BeingDirtyBase, IValueObject
+ public class StylesheetProperty : BeingDirtyBase, IValueObject, IStylesheetProperty
{
private string _alias;
private string _value;
diff --git a/src/Umbraco.Core/Persistence/IQueryRepository.cs b/src/Umbraco.Abstractions/Persistence/IQueryRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/IQueryRepository.cs
rename to src/Umbraco.Abstractions/Persistence/IQueryRepository.cs
diff --git a/src/Umbraco.Core/Persistence/IReadRepository.cs b/src/Umbraco.Abstractions/Persistence/IReadRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/IReadRepository.cs
rename to src/Umbraco.Abstractions/Persistence/IReadRepository.cs
diff --git a/src/Umbraco.Core/Persistence/IReadWriteQueryRepository.cs b/src/Umbraco.Abstractions/Persistence/IReadWriteQueryRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/IReadWriteQueryRepository.cs
rename to src/Umbraco.Abstractions/Persistence/IReadWriteQueryRepository.cs
diff --git a/src/Umbraco.Core/Persistence/IRepository.cs b/src/Umbraco.Abstractions/Persistence/IRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/IRepository.cs
rename to src/Umbraco.Abstractions/Persistence/IRepository.cs
diff --git a/src/Umbraco.Core/Persistence/IWriteRepository.cs b/src/Umbraco.Abstractions/Persistence/IWriteRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/IWriteRepository.cs
rename to src/Umbraco.Abstractions/Persistence/IWriteRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Querying/IQuery.cs b/src/Umbraco.Abstractions/Persistence/Querying/IQuery.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Querying/IQuery.cs
rename to src/Umbraco.Abstractions/Persistence/Querying/IQuery.cs
diff --git a/src/Umbraco.Core/Persistence/Querying/StringPropertyMatchType.cs b/src/Umbraco.Abstractions/Persistence/Querying/StringPropertyMatchType.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Querying/StringPropertyMatchType.cs
rename to src/Umbraco.Abstractions/Persistence/Querying/StringPropertyMatchType.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IAuditEntryRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IAuditEntryRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IAuditEntryRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IAuditEntryRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IAuditRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IAuditRepository.cs
similarity index 96%
rename from src/Umbraco.Core/Persistence/Repositories/IAuditRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IAuditRepository.cs
index b2dd6a3297..fbd9ec2e13 100644
--- a/src/Umbraco.Core/Persistence/Repositories/IAuditRepository.cs
+++ b/src/Umbraco.Abstractions/Persistence/Repositories/IAuditRepository.cs
@@ -1,6 +1,5 @@
using System.Collections.Generic;
using Umbraco.Core.Models;
-using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Persistence.Querying;
namespace Umbraco.Core.Persistence.Repositories
diff --git a/src/Umbraco.Core/Persistence/Repositories/IConsentRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IConsentRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IConsentRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IConsentRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IDataTypeContainerRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IDataTypeContainerRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IDataTypeContainerRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IDataTypeContainerRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IDictionaryRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IDictionaryRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IDictionaryRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IDictionaryRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IDocumentTypeContainerRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IDocumentTypeContainerRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IDocumentTypeContainerRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IDocumentTypeContainerRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IDomainRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IDomainRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IDomainRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IDomainRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IEntityContainerRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IEntityContainerRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IExternalLoginRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IExternalLoginRepository.cs
similarity index 71%
rename from src/Umbraco.Core/Persistence/Repositories/IExternalLoginRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IExternalLoginRepository.cs
index 6d145e9961..ed6f2e4fb1 100644
--- a/src/Umbraco.Core/Persistence/Repositories/IExternalLoginRepository.cs
+++ b/src/Umbraco.Abstractions/Persistence/Repositories/IExternalLoginRepository.cs
@@ -1,12 +1,11 @@
using System.Collections.Generic;
-using Microsoft.AspNet.Identity;
using Umbraco.Core.Models.Identity;
namespace Umbraco.Core.Persistence.Repositories
{
public interface IExternalLoginRepository : IReadWriteQueryRepository
{
- void SaveUserLogins(int memberId, IEnumerable logins);
+ void SaveUserLogins(int memberId, IEnumerable logins);
void DeleteUserLogins(int memberId);
}
}
diff --git a/src/Umbraco.Core/Persistence/Repositories/ILanguageRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/ILanguageRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/ILanguageRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/ILanguageRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IMacroRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IMacroRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IMacroRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IMacroRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IMediaTypeContainerRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IMediaTypeContainerRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IMediaTypeContainerRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IMediaTypeContainerRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IMemberGroupRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IMemberGroupRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IMemberGroupRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IMemberGroupRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/INotificationsRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/INotificationsRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/INotificationsRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/INotificationsRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IPartialViewMacroRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IPartialViewMacroRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IPartialViewMacroRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IPartialViewMacroRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IPartialViewRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IPartialViewRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IPartialViewRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IPartialViewRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IRedirectUrlRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IRedirectUrlRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IRedirectUrlRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IRedirectUrlRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IRelationRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IRelationRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IRelationRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IRelationRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IRelationTypeRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IRelationTypeRepository.cs
similarity index 100%
rename from src/Umbraco.Core/Persistence/Repositories/IRelationTypeRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IRelationTypeRepository.cs
diff --git a/src/Umbraco.Core/Persistence/Repositories/IScriptRepository.cs b/src/Umbraco.Abstractions/Persistence/Repositories/IScriptRepository.cs
similarity index 66%
rename from src/Umbraco.Core/Persistence/Repositories/IScriptRepository.cs
rename to src/Umbraco.Abstractions/Persistence/Repositories/IScriptRepository.cs
index ea88cb7618..70226777b5 100644
--- a/src/Umbraco.Core/Persistence/Repositories/IScriptRepository.cs
+++ b/src/Umbraco.Abstractions/Persistence/Repositories/IScriptRepository.cs
@@ -3,11 +3,14 @@ using Umbraco.Core.Models;
namespace Umbraco.Core.Persistence.Repositories
{
- public interface IScriptRepository : IReadRepository, IWriteRepository