refactor
This commit is contained in:
@@ -14,17 +14,10 @@ export class InMemoryTrackRepository implements ITrackRepository {
|
||||
private tracks: Map<string, Track>;
|
||||
private readonly logger: Logger;
|
||||
|
||||
constructor(logger: Logger, seedData?: Track[]) {
|
||||
constructor(logger: Logger) {
|
||||
this.logger = logger;
|
||||
this.logger.info('InMemoryTrackRepository initialized.');
|
||||
this.tracks = new Map();
|
||||
|
||||
if (seedData) {
|
||||
seedData.forEach(track => {
|
||||
this.tracks.set(track.id, track);
|
||||
this.logger.debug(`Seeded track: ${track.id}.`);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async findById(id: string): Promise<Track | null> {
|
||||
@@ -59,8 +52,8 @@ export class InMemoryTrackRepository implements ITrackRepository {
|
||||
this.logger.debug(`Finding tracks by game id: ${gameId}`);
|
||||
try {
|
||||
const tracks = Array.from(this.tracks.values())
|
||||
.filter(track => track.gameId === gameId)
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
.filter(track => track.gameId.props === gameId)
|
||||
.sort((a, b) => a.name.props.localeCompare(b.name.props));
|
||||
this.logger.info(`Found ${tracks.length} tracks for game id: ${gameId}.`);
|
||||
return tracks;
|
||||
} catch (error) {
|
||||
@@ -74,7 +67,7 @@ export class InMemoryTrackRepository implements ITrackRepository {
|
||||
try {
|
||||
const tracks = Array.from(this.tracks.values())
|
||||
.filter(track => track.category === category)
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
.sort((a, b) => a.name.props.localeCompare(b.name.props));
|
||||
this.logger.info(`Found ${tracks.length} tracks for category: ${category}.`);
|
||||
return tracks;
|
||||
} catch (error) {
|
||||
@@ -87,8 +80,8 @@ export class InMemoryTrackRepository implements ITrackRepository {
|
||||
this.logger.debug(`Finding tracks by country: ${country}`);
|
||||
try {
|
||||
const tracks = Array.from(this.tracks.values())
|
||||
.filter(track => track.country.toLowerCase() === country.toLowerCase())
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
.filter(track => track.country.props.toLowerCase() === country.toLowerCase())
|
||||
.sort((a, b) => a.name.props.localeCompare(b.name.props));
|
||||
this.logger.info(`Found ${tracks.length} tracks for country: ${country}.`);
|
||||
return tracks;
|
||||
} catch (error) {
|
||||
@@ -103,10 +96,10 @@ export class InMemoryTrackRepository implements ITrackRepository {
|
||||
const lowerQuery = query.toLowerCase();
|
||||
const tracks = Array.from(this.tracks.values())
|
||||
.filter(track =>
|
||||
track.name.toLowerCase().includes(lowerQuery) ||
|
||||
track.shortName.toLowerCase().includes(lowerQuery)
|
||||
track.name.props.toLowerCase().includes(lowerQuery) ||
|
||||
track.shortName.props.toLowerCase().includes(lowerQuery)
|
||||
)
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
.sort((a, b) => a.name.props.localeCompare(b.name.props));
|
||||
this.logger.info(`Found ${tracks.length} tracks matching search query: ${query}.`);
|
||||
return tracks;
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user