Introduced new methods in `IWalletService` and `WalletService` to retrieve wallets with positive balances. Added `AutoPayout` and `RunAutoPayout` methods in `ToolsController` to automate payouts, including synchronization with MangoPay balances.
Created `AutoPayoutVm` and `RunAutoPayoutVm` view models. Added Razor views `AutoPayout.cshtml` and `RunAutoPayout.cshtml` for managing and displaying payout processes.
Updated `appsettings` files to reduce `MinPayoutAmmount` from 1000 to 1. Refactored `ToolsController` for better wallet handling, added error handling, and improved code formatting. Commented out KYC check logic in `ApiPaymentController` with a TODO for review.
Updated the authorization policy for the `EditCustomer` method in the `AdvertisementController` to allow access only to users with the "Customer" role, replacing the previous "Power User" role requirement.
Updated the PaymentType property in PublicWalkRequestAcceptDto and WalkCreateDto to be nullable.
Modified ApiWalksController to safely assign PaymentType, using a default value when null to prevent runtime errors.
Significant updates to WalkService.cs for improved fee handling and voucher processing. Introduced API version 3 in ApiAccountController.cs with new user registration and external login endpoints, supporting Google and Apple. Added functionality for setting user types without creating MangoPay users.
- Updated `Walk` class to include `PaymentType` property.
- Introduced `WalkPaymentTypeDto` enum for payment types.
- Modified DTOs (`PublicWalkRequestAcceptDto`, `WalkCreateDto`, `WalkDto`, `WalkWithNamesDto`) to include `PaymentType`.
- Enhanced `ApiWalksController` with new endpoints for accepting and canceling walks, and confirming walks with ratings.
- Updated `MappingProfile` for seamless conversion between `WalkPaymentType` and `WalkPaymentTypeDto`.
This commit introduces new payment types, including "MangoPay" and "Cash", to the localization resource files for both German and English. A new enum `WalkPaymentType` is created to represent these payment types, and the `Walk` class is updated to include a required `PaymentType` property of this enum type.
The database context is modified to add a `PaymentType` column to the `Walks` table, accompanied by a migration to implement this change and set a default value. The `WalkController` is updated to support filtering by the new `PaymentType` field, and the mapping profile is enhanced to include mappings for `WalkPaymentType` and its view model counterpart.
View models are also updated to incorporate the new `PaymentType` and its display name. Front-end TypeScript files are adjusted to utilize the new `WalkPaymentType` enum and related properties, while the UI is enhanced to display the payment type in the details view of walks. Version numbers in various configuration files are incremented to reflect these changes.