Skip to content

Commit eafd8ad

Browse files
Merge pull request #10 from bloom-housing/release/2-2-26
feat: release 2-2-26
2 parents 8e3951d + 05ac6d0 commit eafd8ad

File tree

40 files changed

+2795
-782
lines changed

40 files changed

+2795
-782
lines changed

api/.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module.exports = {
1414
node: true,
1515
jest: true,
1616
},
17-
ignorePatterns: ['.eslintrc.js'],
17+
ignorePatterns: ['.eslintrc.js', 'dist/'],
1818
rules: {
1919
'@typescript-eslint/interface-name-prefix': 'off',
2020
'@typescript-eslint/explicit-function-return-type': 'off',

api/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"dev": "nest start --watch",
1414
"start:debug": "nest start --debug --watch",
1515
"start:prod": "node dist/src/main",
16-
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
16+
"lint": "eslint \"**/*.ts\"",
17+
"lint:fix": "eslint \"**/*.ts\" --fix",
1718
"test": "jest --config ./test/jest.config.js",
1819
"test:watch": "jest --watch",
1920
"test:cov": "yarn db:resetup && yarn db:migration:run && jest --config ./test/jest-with-coverage.config.js --logHeapUsage",
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-- AlterTable
2+
ALTER TABLE "user_accounts"
3+
ADD COLUMN "additional_phone_extension" TEXT,
4+
ADD COLUMN "additional_phone_number" TEXT,
5+
ADD COLUMN "additional_phone_number_type" TEXT,
6+
ADD COLUMN "address_id" UUID,
7+
ADD COLUMN "agency_id" UUID,
8+
ADD COLUMN "is_advocate" BOOLEAN NOT NULL DEFAULT false,
9+
ADD COLUMN "is_approved" BOOLEAN NOT NULL DEFAULT false,
10+
ADD COLUMN "phone_extension" TEXT,
11+
ADD COLUMN "phone_type" TEXT,
12+
ADD COLUMN "title" TEXT;
13+
14+
-- AddForeignKey
15+
ALTER TABLE "user_accounts"
16+
ADD CONSTRAINT "user_accounts_address_id_fkey"
17+
FOREIGN KEY ("address_id")
18+
REFERENCES "address"("id")
19+
ON DELETE NO ACTION
20+
ON UPDATE NO ACTION ;
21+
22+
-- AddForeignKey
23+
ALTER TABLE "user_accounts"
24+
ADD CONSTRAINT "user_accounts_agency_id_fkey"
25+
FOREIGN KEY ("agency_id")
26+
REFERENCES "agency"("id")
27+
ON DELETE NO ACTION
28+
ON UPDATE NO ACTION ;

api/prisma/schema.prisma

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ model Address {
6464
leasingAgentAddress Listings[] @relation("leasing_agent_address")
6565
applicationPickUpAddress Listings[] @relation("application_pick_up_address")
6666
buildingAddress Listings[] @relation("building_address")
67+
userAccounts UserAccounts[]
6768
6869
@@map("address")
6970
}
@@ -1042,6 +1043,19 @@ model UserAccounts {
10421043
lastUpdatedListingsByUser Listings[] @relation("last_updated_by_user")
10431044
wasWarnedOfDeletion Boolean? @default(false) @map("was_warned_of_deletion")
10441045
1046+
title String?
1047+
address Address? @relation(fields: [addressId], references: [id], onDelete: NoAction, onUpdate: NoAction)
1048+
addressId String? @map("address_id") @db.Uuid
1049+
phoneType String? @map("phone_type")
1050+
phoneExtension String? @map("phone_extension")
1051+
additionalPhoneNumber String? @map("additional_phone_number")
1052+
additionalPhoneNumberType String? @map("additional_phone_number_type")
1053+
additionalPhoneExtension String? @map("additional_phone_extension")
1054+
agency Agency? @relation(fields: [agencyId], references: [id], onDelete: NoAction, onUpdate: NoAction)
1055+
agencyId String? @map("agency_id") @db.Uuid
1056+
isApproved Boolean @default(false) @map("is_approved")
1057+
isAdvocate Boolean @default(false) @map("is_advocate")
1058+
10451059
@@map("user_accounts")
10461060
}
10471061

@@ -1163,6 +1177,7 @@ model Agency {
11631177
name String
11641178
jurisdictions Jurisdictions? @relation(fields: [jurisdictionsId], references: [id], onDelete: NoAction, onUpdate: NoAction)
11651179
jurisdictionsId String? @map("jurisdictions_id") @db.Uuid
1180+
userAccounts UserAccounts[]
11661181
11671182
@@map("agency")
11681183
}

api/prisma/seed-helpers/unit-group-factory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export const unitGroupFactoryMany = async (
7777
): Promise<Prisma.UnitGroupCreateWithoutListingsInput[]> => {
7878
const createArray: Promise<Prisma.UnitGroupCreateWithoutListingsInput>[] = [
7979
...new Array(numberToMake),
80-
].map(async (_, index) => {
80+
].map(async () => {
8181
const unitType = await unitTypeFactorySingle(
8282
prismaClient,
8383
unitTypes[randomInt(unitTypes.length)],

api/prisma/seed-staging.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,14 @@ export const stagingSeed = async (
478478
lakeviewJurisdiction.name,
479479
),
480480
});
481+
const angelopolisAmiChart = await prismaClient.amiChart.create({
482+
data: amiChartFactory(
483+
8,
484+
angelopolisJurisdiction.id,
485+
null,
486+
angelopolisJurisdiction.name,
487+
),
488+
});
481489
await prismaClient.amiChart.create({
482490
data: amiChartFactory(
483491
8,
@@ -665,7 +673,7 @@ export const stagingSeed = async (
665673
numBedrooms: 0,
666674
number: '101',
667675
sqFeet: '750.00',
668-
amiChart: { connect: { id: amiChart.id } },
676+
amiChart: { connect: { id: angelopolisAmiChart.id } },
669677
unitTypes: {
670678
connect: {
671679
id: unitTypes[0].id,
@@ -682,7 +690,7 @@ export const stagingSeed = async (
682690
numBedrooms: 1,
683691
number: '101',
684692
sqFeet: '750.00',
685-
amiChart: { connect: { id: amiChart.id } },
693+
amiChart: { connect: { id: angelopolisAmiChart.id } },
686694
unitTypes: {
687695
connect: {
688696
id: unitTypes[1].id,

api/src/controllers/multiselect-question.controller.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import { MultiselectQuestionCreate } from '../dtos/multiselect-questions/multise
2727
import { MultiselectQuestionFilterParams } from '../dtos/multiselect-questions/multiselect-question-filter-params.dto';
2828
import { MultiselectQuestionUpdate } from '../dtos/multiselect-questions/multiselect-question-update.dto';
2929
import { MultiselectQuestionQueryParams } from '../dtos/multiselect-questions/multiselect-question-query-params.dto';
30+
import { PaginatedMultiselectQuestionDto } from '../dtos/multiselect-questions/paginated-multiselect-question.dto';
3031
import { IdDTO } from '../dtos/shared/id.dto';
3132
import { PaginationMeta } from '../dtos/shared/pagination.dto';
3233
import { SuccessDTO } from '../dtos/shared/success.dto';
@@ -60,10 +61,10 @@ export class MultiselectQuestionController {
6061

6162
@Get()
6263
@ApiOperation({ summary: 'List multiselect questions', operationId: 'list' })
63-
@ApiOkResponse({ type: MultiselectQuestion, isArray: true })
64+
@ApiOkResponse({ type: PaginatedMultiselectQuestionDto })
6465
async list(
6566
@Query() queryParams: MultiselectQuestionQueryParams,
66-
): Promise<MultiselectQuestion[]> {
67+
): Promise<PaginatedMultiselectQuestionDto> {
6768
return await this.multiselectQuestionService.list(queryParams);
6869
}
6970

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import MultiselectQuestion from './multiselect-question.dto';
2+
import { PaginationFactory } from '../shared/pagination.dto';
3+
4+
export class PaginatedMultiselectQuestionDto extends PaginationFactory<MultiselectQuestion>(
5+
MultiselectQuestion,
6+
) {}

api/src/services/email.service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { JurisdictionService } from './jurisdiction.service';
1414
import { SendGridService } from './sendgrid.service';
1515
import { TranslationService } from './translation.service';
1616
import { Application } from '../dtos/applications/application.dto';
17-
import { ApplicationCreate } from '../dtos/applications/application-create.dto';
1817
import { Jurisdiction } from '../dtos/jurisdictions/jurisdiction.dto';
1918
import { Listing } from '../dtos/listings/listing.dto';
2019
import { IdDTO } from '../dtos/shared/id.dto';

api/src/services/listing.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2819,10 +2819,11 @@ export class ListingService implements OnModuleInit {
28192819
*/
28202820
addUnitsSummarized = async (listing: Listing) => {
28212821
if (Array.isArray(listing.units) && listing.units.length > 0) {
2822+
const unitsWithCharts = listing.units.filter((unit) => unit.amiChart?.id);
28222823
const amiChartsRaw = await this.prisma.amiChart.findMany({
28232824
where: {
28242825
id: {
2825-
in: listing.units.map((unit) => unit.amiChart?.id),
2826+
in: unitsWithCharts.map((unit) => unit.amiChart?.id),
28262827
},
28272828
},
28282829
});

0 commit comments

Comments
 (0)