This commit is contained in:
2025-12-16 21:05:01 +01:00
parent f61e3a4e5a
commit 7532c7ed6d
207 changed files with 7861 additions and 2606 deletions

View File

@@ -4,25 +4,15 @@
* Retrieves general sponsorship pricing tiers.
*/
import type {
IGetSponsorshipPricingPresenter,
GetSponsorshipPricingResultDTO,
GetSponsorshipPricingViewModel,
} from '../presenters/IGetSponsorshipPricingPresenter';
import type { UseCase } from '@core/shared/application/UseCase';
import type { GetSponsorshipPricingViewModel } from '../presenters/IGetSponsorshipPricingPresenter';
import { Result } from '@core/shared/application/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
export class GetSponsorshipPricingUseCase
implements UseCase<void, GetSponsorshipPricingResultDTO, GetSponsorshipPricingViewModel, IGetSponsorshipPricingPresenter>
{
export class GetSponsorshipPricingUseCase {
constructor() {}
async execute(
_input: void,
presenter: IGetSponsorshipPricingPresenter,
): Promise<void> {
presenter.reset();
const dto: GetSponsorshipPricingResultDTO = {
async execute(): Promise<Result<GetSponsorshipPricingViewModel, ApplicationErrorCode<'NO_ERROR'>>> {
const viewModel: GetSponsorshipPricingViewModel = {
pricing: [
{ id: 'tier-bronze', level: 'Bronze', price: 100, currency: 'USD' },
{ id: 'tier-silver', level: 'Silver', price: 250, currency: 'USD' },
@@ -30,6 +20,6 @@ export class GetSponsorshipPricingUseCase
],
};
presenter.present(dto);
return Result.ok(viewModel);
}
}