Skip to content

Commit

Permalink
fix: 🐛 lint
Browse files Browse the repository at this point in the history
  • Loading branch information
mfw78 committed Jun 6, 2022
1 parent ba8ea07 commit 979f5f5
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 57 deletions.
9 changes: 3 additions & 6 deletions src/controllers/FacilityController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,9 @@ export class FacilityController {
}

const repository = new SpaceAvailabilityRepository(facilityId, spaceId);
await repository.setAvailabilityByDate(
date as FormattedDate,
{
numSpaces: numSpaces
}
);
await repository.setAvailabilityByDate(date as FormattedDate, {
numSpaces: numSpaces
});

return res.json({ success: true });
} catch (e) {
Expand Down
11 changes: 5 additions & 6 deletions src/repositories/SpaceAvailabilityRepository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ export class SpaceAvailabilityRepository {

constructor(facilityId: string, spaceId: string) {
this.dbService = DBService.getInstance();
this.db = this.dbService.getSpaceAvailabilityDB(
facilityId,
spaceId
);
this.db = this.dbService.getSpaceAvailabilityDB(facilityId, spaceId);
}

// --- availability getters / setters
Expand All @@ -39,10 +36,12 @@ export class SpaceAvailabilityRepository {

return {
numSpaces: 0
}
};
}

public async setAvailabilityDefault(availability: Availability): Promise<void> {
public async setAvailabilityDefault(
availability: Availability
): Promise<void> {
await this.db.put('default', availability);
}

Expand Down
68 changes: 32 additions & 36 deletions src/services/DBService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@ export type ModifiersValues =
| DayOfWeekRateModifer
| OccupancyRateModifier
| LOSRateModifier;
export type ModifiersKey =
| 'day_of_week'
| 'occupancy'
| 'length_of_stay'
export type ModifiersKey = 'day_of_week' | 'occupancy' | 'length_of_stay';
export type FacilityValues = FacilityMetadata | string[];
export type FacilitySpaceValues = ItemMetadata | SpaceMetadata;
export type FacilityItemType = 'spaces' | 'otherItems';
Expand Down Expand Up @@ -138,58 +135,57 @@ export default class DBService {
}

public getFacilityModifiersDB(facilityId: string) {
return this.getFacilityDB(facilityId).sublevel<ModifiersKey, ModifiersValues>(
'modifiers',
{ valueEncoding: 'json' }
);
return this.getFacilityDB(facilityId).sublevel<
ModifiersKey,
ModifiersValues
>('modifiers', { valueEncoding: 'json' });
}

public getFacilityStubsDB(facilityId: string) {
return this.getFacilityDB(facilityId).sublevel<FacilityStubKey, FacilityStubValues>(
'stubs',
{ valueEncoding: 'json' }
);
return this.getFacilityDB(facilityId).sublevel<
FacilityStubKey,
FacilityStubValues
>('stubs', { valueEncoding: 'json' });
}

public getFacilityPiiDB(facilityId: string) {
return this.getFacilityDB(facilityId).sublevel<string, Person>(
'pii',
{ valueEncoding: 'json' }
);
return this.getFacilityDB(facilityId).sublevel<string, Person>('pii', {
valueEncoding: 'json'
});
}

public getSpaceAvailabilityDB(facilityId: string, itemId: string) {
return this.getFacilityItemDB(facilityId, 'spaces', itemId).sublevel<DefaultOrDateItemKey, Availability>(
'availability',
{ valueEncoding: 'json' }
);
return this.getFacilityItemDB(facilityId, 'spaces', itemId).sublevel<
DefaultOrDateItemKey,
Availability
>('availability', { valueEncoding: 'json' });
}

public getSpaceRatesDB(facilityId: string, spaceId: string) {
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<DefaultOrDateItemKey, Rates>(
'rates',
{ valueEncoding: 'json' }
);
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<
DefaultOrDateItemKey,
Rates
>('rates', { valueEncoding: 'json' });
}

public getSpaceRulesDB(facilityId: string, spaceId: string) {
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<RulesItemKey, Rules>(
'rules',
{ valueEncoding: 'json' }
);
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<
RulesItemKey,
Rules
>('rules', { valueEncoding: 'json' });
}

public getSpaceModifiersDB(facilityId: string, spaceId: string) {
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<ModifiersKey, ModifiersValues>(
'modifiers',
{ valueEncoding: 'json' }
);
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<
ModifiersKey,
ModifiersValues
>('modifiers', { valueEncoding: 'json' });
}

public getSpaceStubsDB(facilityId: string, spaceId: string) {
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<SpaceStubKey, SpaceStubValues>(
'stubs',
{ valueEncoding: 'json' }
);
return this.getFacilityItemDB(facilityId, 'spaces', spaceId).sublevel<
SpaceStubKey,
SpaceStubValues
>('stubs', { valueEncoding: 'json' });
}
}
21 changes: 12 additions & 9 deletions src/services/SpaceSearchService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,29 +115,32 @@ export default class SpaceSearchService {
spaceId
);

const defaultAvailable =
await availabilityRepository.getSpaceAvailability('default');
const defaultAvailable = await availabilityRepository.getSpaceAvailability(
'default'
);

let from = DateTime.fromObject(checkIn);
const to = DateTime.fromObject(checkOut);

while (from <= to) {
try {
const dailyBooks =
await availabilityRepository.getSpaceAvailability(
from.toFormat('yyyy-MM-dd') as FormattedDate
);
const dailyBooks = await availabilityRepository.getSpaceAvailability(
from.toFormat('yyyy-MM-dd') as FormattedDate
);

throw('To be implemented')
throw 'To be implemented';
// In order to determine if there is space availability, a routine would have to:
// Get total number of spaces, with *per-day override* having higher priority than
// default. This will be the 'capacity' - ie. HOW MANY OF THOSE SPACE TYPES ARE
// PRESENT FOR THE POINT OF CONSIDERING IF THEY CAN BE STAYED IN.
// Then get the number of that space type that are booked. This means get the
// Then get the number of that space type that are booked. This means get the
// facilityId.spaceId.stubs sublevel and get the YYYY-MM-DD-num_booked key
// this would be the number of daily booked.
// if the total number of spaces - booked spaces < spacesRequired, true false
if (defaultAvailable.numSpaces - dailyBooks.numSpaces < spacesRequired) {
if (
defaultAvailable.numSpaces - dailyBooks.numSpaces <
spacesRequired
) {
return false;
}
} catch (e) {
Expand Down

0 comments on commit 979f5f5

Please sign in to comment.