import { Category, MenuItem, MenuItemCategory } from '@backend/domain'
import { Injectable } from '@nestjs/common'
import { InjectRepository } from '@nestjs/typeorm'
import { Repository } from 'typeorm'
import { SoftDeleteEntityRepository, UserModifiableEntityRepository } from './generic'

@Injectable()
export class CategoryRepository extends SoftDeleteEntityRepository<Category> {
	constructor(@InjectRepository(Category) override readonly _repository: Repository<Category>) {
		super(_repository)
	}
}

@Injectable()
export class MenuItemRepository extends SoftDeleteEntityRepository<MenuItem> {
	constructor(@InjectRepository(MenuItem) override readonly _repository: Repository<MenuItem>) {
		super(_repository)
	}
}

@Injectable()
export class MenuItemCategoryRepository extends UserModifiableEntityRepository<MenuItemCategory> {
	constructor(@InjectRepository(MenuItemCategory) override readonly _repository: Repository<MenuItemCategory>) {
		super(_repository)
	}
}
