Feed: FilesModule
This commit is contained in:
parent
84a3c67e1e
commit
87af491e89
@ -287,7 +287,7 @@ namespace ASC.Core
|
|||||||
|
|
||||||
public Tenant GetCurrentTenant(bool throwIfNotFound)
|
public Tenant GetCurrentTenant(bool throwIfNotFound)
|
||||||
{
|
{
|
||||||
return GetCurrentTenant(throwIfNotFound, HttpContextAccessor.HttpContext);
|
return GetCurrentTenant(throwIfNotFound, HttpContextAccessor?.HttpContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetCurrentTenant(Tenant tenant)
|
public void SetCurrentTenant(Tenant tenant)
|
||||||
|
@ -74,15 +74,23 @@ namespace ASC.Core
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UserManager(
|
||||||
|
IHttpContextAccessor httpContextAccessor,
|
||||||
|
IUserService service,
|
||||||
|
TenantManager tenantManager,
|
||||||
|
PermissionContext permissionContext,
|
||||||
|
UserManagerConstants userManagerConstants) : this(service, tenantManager, permissionContext, userManagerConstants)
|
||||||
|
{
|
||||||
|
Accessor = httpContextAccessor;
|
||||||
|
}
|
||||||
|
|
||||||
public UserManager(
|
public UserManager(
|
||||||
IUserService service,
|
IUserService service,
|
||||||
IHttpContextAccessor httpContextAccessor,
|
|
||||||
TenantManager tenantManager,
|
TenantManager tenantManager,
|
||||||
PermissionContext permissionContext,
|
PermissionContext permissionContext,
|
||||||
UserManagerConstants userManagerConstants)
|
UserManagerConstants userManagerConstants)
|
||||||
{
|
{
|
||||||
UserService = service;
|
UserService = service;
|
||||||
Accessor = httpContextAccessor;
|
|
||||||
TenantManager = tenantManager;
|
TenantManager = tenantManager;
|
||||||
PermissionContext = permissionContext;
|
PermissionContext = permissionContext;
|
||||||
UserManagerConstants = userManagerConstants;
|
UserManagerConstants = userManagerConstants;
|
||||||
|
@ -8,7 +8,10 @@ namespace ASC.Core.Common.EF.Model
|
|||||||
[Table("feed_users")]
|
[Table("feed_users")]
|
||||||
public class FeedUsers : BaseEntity
|
public class FeedUsers : BaseEntity
|
||||||
{
|
{
|
||||||
|
[Column("feed_id")]
|
||||||
public string FeedId { get; set; }
|
public string FeedId { get; set; }
|
||||||
|
|
||||||
|
[Column("user_id")]
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
|
|
||||||
public override object[] GetKeys() => new object[] { FeedId, UserId };
|
public override object[] GetKeys() => new object[] { FeedId, UserId };
|
||||||
|
@ -49,7 +49,8 @@ namespace ASC.Feed.Data
|
|||||||
public TenantUtil TenantUtil { get; }
|
public TenantUtil TenantUtil { get; }
|
||||||
public FeedDbContext FeedDbContext { get; }
|
public FeedDbContext FeedDbContext { get; }
|
||||||
|
|
||||||
public FeedAggregateDataProvider(DbContextManager<FeedDbContext> dbContextManager)
|
public FeedAggregateDataProvider(AuthContext authContext, TenantManager tenantManager, TenantUtil tenantUtil, DbContextManager<FeedDbContext> dbContextManager)
|
||||||
|
: this(authContext, tenantManager, tenantUtil)
|
||||||
{
|
{
|
||||||
FeedDbContext = dbContextManager.Get(Constants.FeedDbId);
|
FeedDbContext = dbContextManager.Get(Constants.FeedDbId);
|
||||||
}
|
}
|
||||||
@ -124,7 +125,10 @@ namespace ASC.Feed.Data
|
|||||||
if (f.ClearRightsBeforeInsert)
|
if (f.ClearRightsBeforeInsert)
|
||||||
{
|
{
|
||||||
var fu = FeedDbContext.FeedUsers.Where(r => r.FeedId == f.Id).FirstOrDefault();
|
var fu = FeedDbContext.FeedUsers.Where(r => r.FeedId == f.Id).FirstOrDefault();
|
||||||
FeedDbContext.FeedUsers.Remove(fu);
|
if (fu != null)
|
||||||
|
{
|
||||||
|
FeedDbContext.FeedUsers.Remove(fu);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FeedDbContext.AddOrUpdate(r => r.FeedAggregates, feedAggregate);
|
FeedDbContext.AddOrUpdate(r => r.FeedAggregates, feedAggregate);
|
||||||
@ -382,6 +386,8 @@ namespace ASC.Feed.Data
|
|||||||
{
|
{
|
||||||
public static DIHelper AddFeedAggregateDataProvider(this DIHelper services)
|
public static DIHelper AddFeedAggregateDataProvider(this DIHelper services)
|
||||||
{
|
{
|
||||||
|
services.TryAddScoped<FeedAggregateDataProvider>();
|
||||||
|
|
||||||
return services
|
return services
|
||||||
.AddAuthContextService()
|
.AddAuthContextService()
|
||||||
.AddTenantManagerService()
|
.AddTenantManagerService()
|
||||||
|
@ -16,6 +16,31 @@ namespace ASC.Feed.Configuration
|
|||||||
|
|
||||||
public TimeSpan RemovePeriod { get; set; }
|
public TimeSpan RemovePeriod { get; set; }
|
||||||
|
|
||||||
public static FeedSettings GetInstance(IConfiguration configuration) => configuration.GetSetting<FeedSettings>("feed");
|
public static FeedSettings GetInstance(IConfiguration configuration)
|
||||||
|
{
|
||||||
|
var result = configuration.GetSetting<FeedSettings>("feed");
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(result.ServerRoot))
|
||||||
|
{
|
||||||
|
result.ServerRoot = "http://*/";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result.AggregatePeriod == TimeSpan.Zero)
|
||||||
|
{
|
||||||
|
result.AggregatePeriod = TimeSpan.FromMinutes(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result.AggregateInterval == TimeSpan.Zero)
|
||||||
|
{
|
||||||
|
result.AggregateInterval = TimeSpan.FromDays(14);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result.RemovePeriod == TimeSpan.Zero)
|
||||||
|
{
|
||||||
|
result.RemovePeriod = TimeSpan.FromDays(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,9 +120,6 @@ namespace ASC.Feed.Aggregator
|
|||||||
commonLinkUtility.Initialize(cfg.ServerRoot);
|
commonLinkUtility.Initialize(cfg.ServerRoot);
|
||||||
|
|
||||||
var tenantManager = scope.ServiceProvider.GetService<TenantManager>();
|
var tenantManager = scope.ServiceProvider.GetService<TenantManager>();
|
||||||
var userManager = scope.ServiceProvider.GetService<UserManager>();
|
|
||||||
var securityContext = scope.ServiceProvider.GetService<SecurityContext>();
|
|
||||||
var authManager = scope.ServiceProvider.GetService<AuthManager>();
|
|
||||||
var feedAggregateDataProvider = scope.ServiceProvider.GetService<FeedAggregateDataProvider>();
|
var feedAggregateDataProvider = scope.ServiceProvider.GetService<FeedAggregateDataProvider>();
|
||||||
|
|
||||||
var start = DateTime.UtcNow;
|
var start = DateTime.UtcNow;
|
||||||
@ -159,6 +156,9 @@ namespace ASC.Feed.Aggregator
|
|||||||
}
|
}
|
||||||
|
|
||||||
tenantManager.SetCurrentTenant(tenant);
|
tenantManager.SetCurrentTenant(tenant);
|
||||||
|
var userManager = scope.ServiceProvider.GetService<UserManager>();
|
||||||
|
var securityContext = scope.ServiceProvider.GetService<SecurityContext>();
|
||||||
|
var authManager = scope.ServiceProvider.GetService<AuthManager>();
|
||||||
var users = userManager.GetUsers();
|
var users = userManager.GetUsers();
|
||||||
|
|
||||||
var feeds = Attempt(10, () => module.GetFeeds(new FeedFilter(fromTime, toTime) { Tenant = tenant }).Where(r => r.Item1 != null).ToList());
|
var feeds = Attempt(10, () => module.GetFeeds(new FeedFilter(fromTime, toTime) { Tenant = tenant }).Where(r => r.Item1 != null).ToList());
|
||||||
|
@ -1226,7 +1226,7 @@ namespace ASC.Files.Core.Data
|
|||||||
.Where(r => r.Security.Security == Security.FileShare.Restrict)
|
.Where(r => r.Security.Security == Security.FileShare.Restrict)
|
||||||
.Where(r => r.Security.TimeStamp >= from && r.Security.TimeStamp <= to);
|
.Where(r => r.Security.TimeStamp >= from && r.Security.TimeStamp <= to);
|
||||||
|
|
||||||
return q4.Select(ToFileWithShare).ToList();
|
return q2.Select(ToFileWithShare).ToList().Union(q4.Select(ToFileWithShare).ToList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<int> GetTenantsWithFeeds(DateTime fromTime)
|
public IEnumerable<int> GetTenantsWithFeeds(DateTime fromTime)
|
||||||
|
@ -40,6 +40,7 @@ namespace ASC.Files.Service
|
|||||||
)
|
)
|
||||||
.AddJsonFile("appsettings.json")
|
.AddJsonFile("appsettings.json")
|
||||||
.AddJsonFile($"appsettings.{env}.json", true)
|
.AddJsonFile($"appsettings.{env}.json", true)
|
||||||
|
.AddJsonFile($"appsettings.services.json", true)
|
||||||
.AddJsonFile("storage.json")
|
.AddJsonFile("storage.json")
|
||||||
.AddJsonFile("notify.json")
|
.AddJsonFile("notify.json")
|
||||||
.AddJsonFile("kafka.json")
|
.AddJsonFile("kafka.json")
|
||||||
@ -63,7 +64,7 @@ namespace ASC.Files.Service
|
|||||||
diHelper
|
diHelper
|
||||||
.AddFeedAggregatorService();
|
.AddFeedAggregatorService();
|
||||||
|
|
||||||
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, false, false, "search.json", "feed.json");
|
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, true, false, "search.json", "feed.json");
|
||||||
})
|
})
|
||||||
.UseConsoleLifetime()
|
.UseConsoleLifetime()
|
||||||
.Build();
|
.Build();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"components": [
|
"components": [
|
||||||
{
|
{
|
||||||
"type": "ASC.Files.Service., ASC.Files.Service",
|
"type": "ASC.Files.Service.Core.FilesModule, ASC.Files.Service",
|
||||||
"services": [
|
"services": [
|
||||||
{
|
{
|
||||||
"type": "ASC.Feed.Aggregator.Modules.IFeedModule, ASC.Feed.Aggregator"
|
"type": "ASC.Feed.Aggregator.Modules.IFeedModule, ASC.Feed.Aggregator"
|
||||||
|
Loading…
Reference in New Issue
Block a user