salon's services

This commit is contained in:
2026-07-09 20:32:41 +03:30
parent ad9bca8e6c
commit 0732964753
8 changed files with 293 additions and 2 deletions
+2
View File
@@ -6,6 +6,7 @@ import { CustomersModule } from '../customers/customers.module';
import { SalonsModule } from '../salons/salons.module';
import { ServiceSkill } from '../services/entities/service-skill.entity';
import { Service } from '../services/entities/service.entity';
import { ServicesModule } from '../services/services.module';
import { SmsSettingsModule } from '../sms-settings/sms-settings.module';
import { StylistsModule } from '../stylists/stylists.module';
import { ReserveItem } from './entities/reserve-item.entity';
@@ -26,6 +27,7 @@ import { ReservesService } from './reserves.service';
SalonsModule,
CustomersModule,
StylistsModule,
ServicesModule,
AuthorizationModule,
AuthGuardsModule,
SmsSettingsModule,
+6
View File
@@ -13,6 +13,7 @@ import { CustomersService } from '../customers/customers.service';
import { SalonsService } from '../salons/salons.service';
import { ServiceSkill } from '../services/entities/service-skill.entity';
import { Service } from '../services/entities/service.entity';
import { ServicesService } from '../services/services.service';
import { StylistsService } from '../stylists/stylists.service';
import { UserRole } from '../users/enums/user-role.enum';
import { CreateReserveDto } from './dto/create-reserve.dto';
@@ -43,6 +44,7 @@ export class ReservesService {
private readonly authorizationService: AuthorizationService,
private readonly reservePolicy: ReservePolicy,
private readonly reserveSmsService: ReserveSmsService,
private readonly servicesService: ServicesService,
) {}
async create(
@@ -76,6 +78,10 @@ export class ReservesService {
createReserveDto.depositAmount,
);
await this.validateItems(createReserveDto.items);
await this.servicesService.ensureSalonOffersServices(
createReserveDto.salonId,
createReserveDto.items.map((item) => item.serviceId),
);
const reserve = this.reservesRepository.create({
salonId: createReserveDto.salonId,