refactor
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import { Achievement, AchievementProps } from '@core/identity/domain/entities/Achievement';
|
||||
|
||||
export interface IAchievementRepository {
|
||||
save(achievement: Achievement): Promise<void>;
|
||||
findById(id: string): Promise<Achievement | null>;
|
||||
}
|
||||
|
||||
export class CreateAchievementUseCase {
|
||||
constructor(private readonly achievementRepository: IAchievementRepository) {}
|
||||
|
||||
async execute(props: Omit<AchievementProps, 'createdAt'>): Promise<Achievement> {
|
||||
const achievement = Achievement.create(props);
|
||||
await this.achievementRepository.save(achievement);
|
||||
return achievement;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user