Feed: FilesModule
This commit is contained in:
parent
84a3c67e1e
commit
87af491e89
@ -287,7 +287,7 @@ namespace ASC.Core
|
||||
|
||||
public Tenant GetCurrentTenant(bool throwIfNotFound)
|
||||
{
|
||||
return GetCurrentTenant(throwIfNotFound, HttpContextAccessor.HttpContext);
|
||||
return GetCurrentTenant(throwIfNotFound, HttpContextAccessor?.HttpContext);
|
||||
}
|
||||
|
||||
public void SetCurrentTenant(Tenant tenant)
|
||||
|
@ -75,14 +75,22 @@ namespace ASC.Core
|
||||
}
|
||||
|
||||
public UserManager(
|
||||
IUserService service,
|
||||
IHttpContextAccessor httpContextAccessor,
|
||||
IUserService service,
|
||||
TenantManager tenantManager,
|
||||
PermissionContext permissionContext,
|
||||
UserManagerConstants userManagerConstants) : this(service, tenantManager, permissionContext, userManagerConstants)
|
||||
{
|
||||
Accessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
public UserManager(
|
||||
IUserService service,
|
||||
TenantManager tenantManager,
|
||||
PermissionContext permissionContext,
|
||||
UserManagerConstants userManagerConstants)
|
||||
{
|
||||
UserService = service;
|
||||
Accessor = httpContextAccessor;
|
||||
TenantManager = tenantManager;
|
||||
PermissionContext = permissionContext;
|
||||
UserManagerConstants = userManagerConstants;
|
||||
|
@ -8,7 +8,10 @@ namespace ASC.Core.Common.EF.Model
|
||||
[Table("feed_users")]
|
||||
public class FeedUsers : BaseEntity
|
||||
{
|
||||
[Column("feed_id")]
|
||||
public string FeedId { get; set; }
|
||||
|
||||
[Column("user_id")]
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
public override object[] GetKeys() => new object[] { FeedId, UserId };
|
||||
|
@ -49,7 +49,8 @@ namespace ASC.Feed.Data
|
||||
public TenantUtil TenantUtil { 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);
|
||||
}
|
||||
@ -124,8 +125,11 @@ namespace ASC.Feed.Data
|
||||
if (f.ClearRightsBeforeInsert)
|
||||
{
|
||||
var fu = FeedDbContext.FeedUsers.Where(r => r.FeedId == f.Id).FirstOrDefault();
|
||||
if (fu != null)
|
||||
{
|
||||
FeedDbContext.FeedUsers.Remove(fu);
|
||||
}
|
||||
}
|
||||
|
||||
FeedDbContext.AddOrUpdate(r => r.FeedAggregates, feedAggregate);
|
||||
|
||||
@ -382,6 +386,8 @@ namespace ASC.Feed.Data
|
||||
{
|
||||
public static DIHelper AddFeedAggregateDataProvider(this DIHelper services)
|
||||
{
|
||||
services.TryAddScoped<FeedAggregateDataProvider>();
|
||||
|
||||
return services
|
||||
.AddAuthContextService()
|
||||
.AddTenantManagerService()
|
||||
|
@ -16,6 +16,31 @@ namespace ASC.Feed.Configuration
|
||||
|
||||
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);
|
||||
|
||||
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 start = DateTime.UtcNow;
|
||||
@ -159,6 +156,9 @@ namespace ASC.Feed.Aggregator
|
||||
}
|
||||
|
||||
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 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.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)
|
||||
|
@ -40,6 +40,7 @@ namespace ASC.Files.Service
|
||||
)
|
||||
.AddJsonFile("appsettings.json")
|
||||
.AddJsonFile($"appsettings.{env}.json", true)
|
||||
.AddJsonFile($"appsettings.services.json", true)
|
||||
.AddJsonFile("storage.json")
|
||||
.AddJsonFile("notify.json")
|
||||
.AddJsonFile("kafka.json")
|
||||
@ -63,7 +64,7 @@ namespace ASC.Files.Service
|
||||
diHelper
|
||||
.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()
|
||||
.Build();
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"type": "ASC.Files.Service., ASC.Files.Service",
|
||||
"type": "ASC.Files.Service.Core.FilesModule, ASC.Files.Service",
|
||||
"services": [
|
||||
{
|
||||
"type": "ASC.Feed.Aggregator.Modules.IFeedModule, ASC.Feed.Aggregator"
|
||||
|
Loading…
Reference in New Issue
Block a user