From 4234a9747572cf49dcac8ea2693eb8a62254d976 Mon Sep 17 00:00:00 2001 From: amper43 Date: Wed, 10 Oct 2018 21:04:09 +0300 Subject: [PATCH] concat deleted segments --- server/src/controllers/analytics_controller.ts | 5 +++++ server/src/models/segment_model.ts | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/src/controllers/analytics_controller.ts b/server/src/controllers/analytics_controller.ts index 47b0f62..c74844d 100644 --- a/server/src/controllers/analytics_controller.ts +++ b/server/src/controllers/analytics_controller.ts @@ -120,6 +120,11 @@ export async function runLearning(id: AnalyticUnit.AnalyticUnitId) { } else { await AnalyticUnitCache.create(id); } + + let deletedSegments = await Segment.findMany(id, { deleted: true }); + let deletedSegmentsObjs = deletedSegments.map(s => s.toObject()); + segmentObjs = _.concat(segmentObjs, deletedSegmentsObjs); + let task = new AnalyticsTask( id, AnalyticsTaskType.LEARN, { pattern, segments: segmentObjs, data, cache: oldCache } ); diff --git a/server/src/models/segment_model.ts b/server/src/models/segment_model.ts index cb7e67b..9a397c3 100644 --- a/server/src/models/segment_model.ts +++ b/server/src/models/segment_model.ts @@ -62,7 +62,8 @@ export type FindManyQuery = { timeFromGTE?: number, timeToLTE?: number, intexGT?: number, - labeled?: boolean + labeled?: boolean, + deleted?: boolean } export async function findMany(id: AnalyticUnitId, query: FindManyQuery): Promise { @@ -76,6 +77,9 @@ export async function findMany(id: AnalyticUnitId, query: FindManyQuery): Promis if(query.labeled !== undefined) { dbQuery.labeled = query.labeled; } + if(query.deleted !== undefined) { + dbQuery.deleted = query.deleted; + } let segs = await db.findMany(dbQuery); if(segs === null) { return []; @@ -113,7 +117,7 @@ export async function insertSegments(segments: Segment[]) { } export async function setSegmentsDeleted(ids: SegmentId[]) { - return db.updateMany(ids, { deleted: true }); + return db.updateMany(ids, { deleted: true, labeled: false }); } export function removeSegments(idsToRemove: SegmentId[]) {