diff --git a/src/isword/isword.controller.ts b/src/isword/isword.controller.ts index f6be9dc..16fb924 100644 --- a/src/isword/isword.controller.ts +++ b/src/isword/isword.controller.ts @@ -16,9 +16,6 @@ export class IswordController { @Post() areWords(@Body() body: AreWordsDto) { - return body.reduce((acc, word) => { - acc[word] = this.isWordService.isWord(word) - return acc; - }, {} as {[key: string]: boolean}) + return this.isWordService.areWords(body) } } diff --git a/src/isword/isword.service.ts b/src/isword/isword.service.ts index e19d101..efee24d 100644 --- a/src/isword/isword.service.ts +++ b/src/isword/isword.service.ts @@ -12,4 +12,10 @@ export class IswordService { isWord = (word: string) => this.dictContents.includes(word) + + areWords = (words: string[]): {[key: string]: boolean} => + words.reduce((acc, word) => { + acc[word] = this.isWord(word) + return acc + }, {} as {[key: string]: boolean}) } diff --git a/src/parkio/parkio.module.ts b/src/parkio/parkio.module.ts index 0284c5f..5dd94fc 100644 --- a/src/parkio/parkio.module.ts +++ b/src/parkio/parkio.module.ts @@ -1,9 +1,10 @@ import { Module } from '@nestjs/common'; import { ParkioService } from './parkio.service'; import { ParkioController } from './parkio.controller'; +import { IswordService } from 'src/isword/isword.service'; @Module({ - providers: [ParkioService], + providers: [ParkioService, IswordService], controllers: [ParkioController] }) export class ParkioModule {} diff --git a/src/parkio/parkio.service.ts b/src/parkio/parkio.service.ts index 8206f63..fcb47c9 100644 --- a/src/parkio/parkio.service.ts +++ b/src/parkio/parkio.service.ts @@ -11,6 +11,7 @@ import { } from './types'; import axios from 'axios'; import { filter, map, pipe } from 'ramda'; +import { IswordService } from 'src/isword/isword.service'; const parkIoEndpoints = { domains: 'https://park.io/domains.json', @@ -22,6 +23,10 @@ const parkIoEndpoints = { @Injectable() export class ParkioService { + constructor( + private readonly isWordService: IswordService + ) {} + fetchDomainsForTld = async (tld: ParkioTld) => {}; fetchAllDomains = async (limit: number = 10_000): Promise => { @@ -75,6 +80,7 @@ export class ParkioService { date_registered: domain.date_registered ? this.parseDate(domain.date_registered) : undefined, + is_word: this.isWordService.isWord(domainName) }; }; @@ -100,6 +106,7 @@ export class ParkioService { created: this.parseDate(auction.created), domain, domain_length: domain.length, + is_word: this.isWordService.isWord(domain), tld, }; }; diff --git a/src/parkio/types.ts b/src/parkio/types.ts index 713098e..25be34a 100644 --- a/src/parkio/types.ts +++ b/src/parkio/types.ts @@ -51,6 +51,7 @@ export interface ParsedAuction { price: number; close_date: Date; created: Date; + is_word: boolean; } export interface ParsedDomain { @@ -59,6 +60,7 @@ export interface ParsedDomain { domain_length: number name: string; tld: string; + is_word: boolean; date_available?: Date; date_registered?: Date; }