35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { CreateMerchantDto } from './dto/create-merchant.dto';
|
|
import { UpdateMerchantDto } from './dto/update-merchant.dto';
|
|
import { MerchantDataService } from './merchant-data.service';
|
|
import { Merchant } from './entities/merchant.entity';
|
|
|
|
@Injectable()
|
|
export class MerchantsService {
|
|
public constructor(private merchantDataService: MerchantDataService) { }
|
|
|
|
public async findAll(): Promise<Merchant[]> {
|
|
return await this.merchantDataService.getAllMerchants();
|
|
}
|
|
|
|
public async findById(id: string): Promise<Merchant> {
|
|
const merchant = await this.merchantDataService.getMerchantById(id);
|
|
if (!merchant) {
|
|
throw new Error('Merchant not found.');
|
|
}
|
|
|
|
return merchant;
|
|
}
|
|
|
|
public async create(newMerchant: CreateMerchantDto): Promise<Merchant> {
|
|
return await this.merchantDataService.createMerchant(newMerchant.name);
|
|
}
|
|
|
|
public async update(updateMerchant: UpdateMerchantDto): Promise<Merchant> {
|
|
return await this.merchantDataService.updateMerchant(updateMerchant);
|
|
}
|
|
|
|
public async remove(id: string): Promise<void> {
|
|
await this.merchantDataService.deleteMerchant(id);
|
|
}
|
|
}
|