add support tags ...
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
using xContentService.Models.Entities;
|
||||||
|
|
||||||
namespace xContentService.Constants
|
namespace xContentService.Constants
|
||||||
{
|
{
|
||||||
public struct XContentServiceConstants
|
public struct XContentServiceConstants
|
||||||
@@ -24,6 +26,12 @@ namespace xContentService.Constants
|
|||||||
// EF Repositories Helper Extensions ...
|
// EF Repositories Helper Extensions ...
|
||||||
public const string GetXContentEFRepositoryDescriptor = "GetXContentEFRepositoryDescriptor";
|
public const string GetXContentEFRepositoryDescriptor = "GetXContentEFRepositoryDescriptor";
|
||||||
|
|
||||||
|
//
|
||||||
|
// Custome Constants ...
|
||||||
|
public const string XAdminRole = "admin";
|
||||||
|
|
||||||
|
public const string XContentTagProvided = nameof(XContent);
|
||||||
|
|
||||||
public const string XContentTitleIdentifier = "CntnT";
|
public const string XContentTitleIdentifier = "CntnT";
|
||||||
public const string XContentDescriptionIdentifier = "CntnD";
|
public const string XContentDescriptionIdentifier = "CntnD";
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-10
@@ -210,6 +210,7 @@ namespace xContentService.DI
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// Resource Providers ...
|
||||||
services.Add(
|
services.Add(
|
||||||
new ServiceDescriptor(typeof(IXContentTitleResourceProvider), typeof(XContentTitleResourceProvider), lifeTime)
|
new ServiceDescriptor(typeof(IXContentTitleResourceProvider), typeof(XContentTitleResourceProvider), lifeTime)
|
||||||
);
|
);
|
||||||
@@ -218,6 +219,7 @@ namespace xContentService.DI
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
// Enrichers ...
|
||||||
services.Add(
|
services.Add(
|
||||||
new ServiceDescriptor(typeof(IXContentEnricher), typeof(XContentEnricher), lifeTime)
|
new ServiceDescriptor(typeof(IXContentEnricher), typeof(XContentEnricher), lifeTime)
|
||||||
);
|
);
|
||||||
@@ -235,16 +237,19 @@ namespace xContentService.DI
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Register Additional Service ...
|
// Tags ...
|
||||||
// services.Add(
|
services.Add(
|
||||||
// new ServiceDescriptor(typeof(IXContentTagProvider), typeof(XContentTagProvider), lifeTime)
|
new ServiceDescriptor(typeof(IXContentTagProvider), typeof(XContentTagProvider), lifeTime)
|
||||||
// );
|
);
|
||||||
// services.Add(
|
services.Add(
|
||||||
// new ServiceDescriptor(typeof(IXContentTagProvided), typeof(XContentTagProvided), lifeTime)
|
new ServiceDescriptor(typeof(IXContentTagProvided), typeof(XContentTagProvided), lifeTime)
|
||||||
// );
|
);
|
||||||
// services.Add(
|
|
||||||
// new ServiceDescriptor(typeof(IXContentProvider), typeof(XContentProvider), lifeTime)
|
//
|
||||||
// );
|
// Provider ...
|
||||||
|
services.Add(
|
||||||
|
new ServiceDescriptor(typeof(IXContentProvider), typeof(XContentProvider), lifeTime)
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
Log("Service Regitration Succeed ...");
|
Log("Service Regitration Succeed ...");
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
using xTagService.Interfaces;
|
||||||
|
using xContentService.Models.Dtos;
|
||||||
|
using xContentService.Providers.Dtos;
|
||||||
|
using xContentService.Models.Entities;
|
||||||
|
|
||||||
|
namespace xContentService.Interfaces
|
||||||
|
{
|
||||||
|
public interface IXContentTagProvided : IXTagProvided<XContent, XContentDto, Guid, XContentDtoHub>
|
||||||
|
{ }
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using System;
|
||||||
|
using xTagService.Interfaces;
|
||||||
|
|
||||||
|
namespace xContentService.Interfaces
|
||||||
|
{
|
||||||
|
public interface IXContentTagProvider : IXBaseTagProvider<Guid>
|
||||||
|
{ }
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
using System;
|
||||||
|
using xCommons.Extensions;
|
||||||
|
using xTagService.Providers;
|
||||||
|
using xIdentityModels.Models;
|
||||||
|
using xContentService.Constants;
|
||||||
|
using xContentService.Interfaces;
|
||||||
|
using xContentService.Models.Dtos;
|
||||||
|
using xContentService.Providers.Dtos;
|
||||||
|
using xContentService.Interfaces.Dtos;
|
||||||
|
using xContentService.Models.Entities;
|
||||||
|
|
||||||
|
namespace xContentService.Providers
|
||||||
|
{
|
||||||
|
public class XContentTagProvided : XBaseTagProvided<XContent, XContentDto, Guid, XContentDtoHub>, IXContentTagProvided
|
||||||
|
{
|
||||||
|
public XContentTagProvided(
|
||||||
|
IXContentTagProvider tagProvider,
|
||||||
|
IXContentServiceProvider provider
|
||||||
|
) : base(
|
||||||
|
provider: provider,
|
||||||
|
tagProvider: tagProvider,
|
||||||
|
permittedRoles: [XContentServiceConstants.XAdminRole]
|
||||||
|
)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
public override bool IsOwned(
|
||||||
|
XContent item,
|
||||||
|
XUserClaimsInfoDto userInfo
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
var result =
|
||||||
|
!item.IsNullOrDefault() &&
|
||||||
|
!userInfo.IsNullOrDefault() &&
|
||||||
|
item.OwnerId == userInfo.UserId;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsOwned(
|
||||||
|
XContentDto item,
|
||||||
|
XUserClaimsInfoDto userInfo
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
var result =
|
||||||
|
!item.IsNullOrDefault() &&
|
||||||
|
!userInfo.IsNullOrDefault() &&
|
||||||
|
item.OwnerId == userInfo.UserId;
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
using System;
|
||||||
|
using xTagService.Providers;
|
||||||
|
using xContentService.Constants;
|
||||||
|
using xContentService.Interfaces;
|
||||||
|
using xTagService.Interfaces.Dtos;
|
||||||
|
|
||||||
|
namespace xContentService.Providers
|
||||||
|
{
|
||||||
|
public class XContentTagProvider : XBaseTagProvider<Guid>, IXContentTagProvider
|
||||||
|
{
|
||||||
|
public XContentTagProvider(
|
||||||
|
IXTagServiceProvider tagProvider
|
||||||
|
) : base(
|
||||||
|
tagProvider: tagProvider,
|
||||||
|
providedFor: XContentServiceConstants.XContentTagProvided
|
||||||
|
)
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user