import { Injectable, Logger } from '@nestjs/common'; import { YachtsService } from '../yachts/yachts.service'; import { User } from './user.entity'; @Injectable() export class UsersService { private readonly logger = new Logger(UsersService.name); private readonly users: User[] = [ { userId: 1, firstName: 'Иван', lastName: 'Андреев', phone: '+79009009090', email: 'ivan@yachting.ru', password: 'admin', companyName: 'Северный Флот', inn: 1234567890, ogrn: 1122334455667, }, { userId: 2, firstName: 'Сергей', lastName: 'Большаков', phone: '+79119119191', email: 'sergey@yachting.ru', password: 'admin', companyName: 'Балтийские Просторы', inn: 9876543210, ogrn: 9988776655443, }, { userId: 3, firstName: 'Анна', lastName: 'Петрова', phone: '+79229229292', email: 'anna@yachting.ru', password: 'admin', companyName: 'Ладожские Ветры', inn: 5555555555, ogrn: 3333444455556, }, { userId: 4, firstName: 'Дмитрий', lastName: 'Соколов', phone: '+79339339393', email: 'dmitry@yachting.ru', password: 'admin', companyName: 'Финский Залив', inn: 1111222233, ogrn: 7777888899990, }, ]; async findOne( email: string, includeYachts: boolean = false, ): Promise { const user = this.users.find((user) => user.email === email); if (user && includeYachts) { user.yachts = []; } return user; } async findById( userId: number, includeYachts: boolean = false, ): Promise { const user = this.users.find((user) => user.userId === userId); if (user && includeYachts) { user.yachts = []; } return user; } async findAll(includeYachts: boolean = false): Promise { if (!includeYachts) { return this.users; } const usersWithYachts = await Promise.all( this.users.map(async (user) => { const yachts = []; return { ...user, yachts }; }), ); return usersWithYachts; } }