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