aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/TimelineService.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-01-07 20:12:00 +0800
committercrupest <crupest@outlook.com>2021-01-07 20:12:00 +0800
commit97e6ac51ac4df58cd1229e7974d2b846b192558a (patch)
tree73a1baa078fa7a38dcdbdd38620bba0ef6a1298f /BackEnd/Timeline/Services/TimelineService.cs
parentd3c9d0a9335ac6df3e330172b1b1a8a219cbdbaf (diff)
downloadtimeline-97e6ac51ac4df58cd1229e7974d2b846b192558a.tar.gz
timeline-97e6ac51ac4df58cd1229e7974d2b846b192558a.tar.bz2
timeline-97e6ac51ac4df58cd1229e7974d2b846b192558a.zip
refactor: Make mapper a service. Fix #202.
Diffstat (limited to 'BackEnd/Timeline/Services/TimelineService.cs')
-rw-r--r--BackEnd/Timeline/Services/TimelineService.cs12
1 files changed, 4 insertions, 8 deletions
diff --git a/BackEnd/Timeline/Services/TimelineService.cs b/BackEnd/Timeline/Services/TimelineService.cs
index e310951a..1d1bb320 100644
--- a/BackEnd/Timeline/Services/TimelineService.cs
+++ b/BackEnd/Timeline/Services/TimelineService.cs
@@ -244,7 +244,7 @@ namespace Timeline.Services
public async Task<TimelineEntity> GetTimeline(long id)
{
- var entity = await _database.Timelines.Where(t => t.Id == id).Include(t => t.Owner).ThenInclude(o => o.Permissions).Include(t => t.Members).ThenInclude(m => m.User).ThenInclude(u => u.Permissions).SingleOrDefaultAsync();
+ var entity = await _database.Timelines.Where(t => t.Id == id).SingleOrDefaultAsync();
if (entity is null)
throw new TimelineNotExistException(id);
@@ -397,7 +397,7 @@ namespace Timeline.Services
if (relate == null)
{
- entities = await ApplyTimelineVisibilityFilter(_database.Timelines).Include(t => t.Owner).ThenInclude(o => o.Permissions).Include(t => t.Members).ThenInclude(m => m.User).ThenInclude(u => u.Permissions).ToListAsync();
+ entities = await ApplyTimelineVisibilityFilter(_database.Timelines).ToListAsync();
}
else
{
@@ -405,16 +405,15 @@ namespace Timeline.Services
if ((relate.Type & TimelineUserRelationshipType.Own) != 0)
{
- entities.AddRange(await ApplyTimelineVisibilityFilter(_database.Timelines.Where(t => t.OwnerId == relate.UserId)).Include(t => t.Owner).ThenInclude(o => o.Permissions).Include(t => t.Members).ThenInclude(m => m.User).ThenInclude(u => u.Permissions).ToListAsync());
+ entities.AddRange(await ApplyTimelineVisibilityFilter(_database.Timelines.Where(t => t.OwnerId == relate.UserId)).ToListAsync());
}
if ((relate.Type & TimelineUserRelationshipType.Join) != 0)
{
- entities.AddRange(await ApplyTimelineVisibilityFilter(_database.TimelineMembers.Where(m => m.UserId == relate.UserId).Include(m => m.Timeline).ThenInclude(t => t.Members).ThenInclude(m => m.User).ThenInclude(u => u.Permissions).Include(t => t.Timeline.Owner.Permissions).Select(m => m.Timeline)).ToListAsync());
+ entities.AddRange(await ApplyTimelineVisibilityFilter(_database.TimelineMembers.Where(m => m.UserId == relate.UserId).Include(m => m.Timeline).Select(m => m.Timeline)).ToListAsync());
}
}
-
return entities;
}
@@ -435,9 +434,6 @@ namespace Timeline.Services
_database.Timelines.Add(entity);
await _database.SaveChangesAsync();
- await _database.Entry(entity).Reference(e => e.Owner).Query().Include(o => o.Permissions).LoadAsync();
- await _database.Entry(entity).Collection(e => e.Members).Query().Include(m => m.User).ThenInclude(u => u.Permissions).LoadAsync();
-
return entity;
}