diff --git a/src/LunarRewardsServiceProvider.php b/src/LunarRewardsServiceProvider.php index 506994e..b8d52aa 100644 --- a/src/LunarRewardsServiceProvider.php +++ b/src/LunarRewardsServiceProvider.php @@ -6,6 +6,7 @@ use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Event; use Illuminate\Support\ServiceProvider; +use Lunar\Models\Currency; class LunarRewardsServiceProvider extends ServiceProvider { @@ -37,14 +38,36 @@ public function register(): void fn () => new LunarRewards, ); + // Register the reward points currency. + $this->app->singleton( + 'lunar-rewards-currency', + fn () => new Currency([ + 'code' => Config::get('wallet.default_currency', 'RP'), + 'name' => 'Reward Points', + 'exchange_rate' => 1, + 'decimal_places' => 0, + 'enabled' => true, + ]), + ); + // Register the reward points calculator. $this->app->singleton( \Dystcz\LunarRewards\Domain\Rewards\Contracts\RewardPointsCalculator::class, fn () => new (Config::get( - 'lunar-rewards.reward_point_calculator', + 'lunar-rewards.rewards.reward_point_calculator', \Dystcz\LunarRewards\Domain\Rewards\Calculators\RewardPointsCalculator::class, )), ); + + // Register coupon code generator. + $this->app->singleton( + \Dystcz\LunarRewards\Domain\Discounts\Contracts\CouponCodeGenerator::class, + fn () => new (Config::get( + 'lunar-rewards.rewards.coupon_code_generator', + \Dystcz\LunarRewards\Domain\Discounts\Generators\CouponCodeGenerator::class, + )), + ); + } /**