Skip to content

Commit

Permalink
fix: resolves issues around markedAsDuplicate (bloom-housing#3373)
Browse files Browse the repository at this point in the history
  • Loading branch information
YazeedLoonat authored and ludtkemorgan committed May 9, 2023
1 parent 0c1f08a commit 3b62233
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -172,18 +172,21 @@ export class ApplicationFlaggedSetsService {
await transApplicationsRepository
.createQueryBuilder()
.update(Application)
.set({ reviewStatus: ApplicationReviewStatus.pendingAndValid })
.set({
reviewStatus: ApplicationReviewStatus.pendingAndValid,
markedAsDuplicate: false,
})
.where("id IN (:...selectedApps)", {
selectedApps,
})
.execute()
}

// mark those that were not selected as duplicate
// mark those that were not selected as pending
const qb = transApplicationsRepository
.createQueryBuilder()
.update(Application)
.set({ reviewStatus: ApplicationReviewStatus.pending })
.set({ reviewStatus: ApplicationReviewStatus.pending, markedAsDuplicate: false })
.where(
"exists (SELECT 1 FROM application_flagged_set_applications_applications WHERE applications_id = id AND application_flagged_set_id = :afsId)",
{ afsId: dto.afsId }
Expand All @@ -209,12 +212,12 @@ export class ApplicationFlaggedSetsService {
.where("id = :afsId", { afsId: dto.afsId })
.execute()
} else if (dto.status === FlaggedSetStatus.resolved) {
// mark selected a valid
// mark selected as valid
if (selectedApps.length) {
await transApplicationsRepository
.createQueryBuilder()
.update(Application)
.set({ reviewStatus: ApplicationReviewStatus.valid })
.set({ reviewStatus: ApplicationReviewStatus.valid, markedAsDuplicate: false })
.where("id IN (:...selectedApps)", {
selectedApps,
})
Expand All @@ -225,7 +228,7 @@ export class ApplicationFlaggedSetsService {
const qb = transApplicationsRepository
.createQueryBuilder()
.update(Application)
.set({ reviewStatus: ApplicationReviewStatus.duplicate })
.set({ reviewStatus: ApplicationReviewStatus.duplicate, markedAsDuplicate: true })
.where(
"exists (SELECT 1 FROM application_flagged_set_applications_applications WHERE applications_id = id AND application_flagged_set_id = :afsId)",
{ afsId: dto.afsId }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import { ApplicationUpdateDto } from "../dto/application-update.dto"
import { ApplicationsCsvListQueryParams } from "../dto/applications-csv-list-query-params"
import { ListingRepository } from "../../listings/db/listing.repository"
import { Listing } from "../../listings/entities/listing.entity"
import { ApplicationReviewStatus } from "../types/application-review-status-enum"

@Injectable({ scope: Scope.REQUEST })
export class ApplicationsService {
Expand Down Expand Up @@ -109,11 +108,6 @@ export class ApplicationsService {
)
const flags = await Promise.all(promiseArray)
result.forEach((application, index) => {
if (flags[index].status) {
application.markedAsDuplicate = flags[index].status === ApplicationReviewStatus.duplicate
} else {
application.markedAsDuplicate = false
}
application.flagged = !!flags[index].id
})

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { MigrationInterface, QueryRunner } from "typeorm"

export class fixingMarkedAsDuplicateFlag1680216626425 implements MigrationInterface {
name = "fixingMarkedAsDuplicateFlag1680216626425"

public async up(queryRunner: QueryRunner): Promise<void> {
// if review status is duplicate markedAsDuplicate should be true
await queryRunner.query(`
UPDATE applications
SET marked_as_duplicate = true
WHERE review_status = 'duplicate'
`)
// if review status is not duplicate markedAsDuplicate should be false
await queryRunner.query(`
UPDATE applications
SET marked_as_duplicate = false
WHERE review_status != 'duplicate'
`)
}

public async down(queryRunner: QueryRunner): Promise<void> {}
}

0 comments on commit 3b62233

Please sign in to comment.