global progress on recurring transfers
This commit is contained in:
parent
1591b11308
commit
8c3e846463
|
@ -4,12 +4,15 @@
|
||||||
|
|
||||||
namespace App\Http\Requests;
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
|
use App\Http\Requests\Traits\HasAmountTraitRequest;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class SendMoneyRequest extends FormRequest
|
class SendMoneyRequest extends FormRequest
|
||||||
{
|
{
|
||||||
|
use HasAmountTraitRequest;
|
||||||
|
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -40,9 +43,4 @@ public function getRecipient(): User
|
||||||
{
|
{
|
||||||
return User::where('email', '=', $this->input('recipient_email'))->firstOrFail();
|
return User::where('email', '=', $this->input('recipient_email'))->firstOrFail();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAmountInCents(): int
|
|
||||||
{
|
|
||||||
return (int) ceil($this->float('amount') * 100);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class RecuringTransfer extends Model
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
25
app/Models/RecurringTransfer.php
Executable file
25
app/Models/RecurringTransfer.php
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class RecurringTransfer extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
use SoftDeletes;
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'from_wallet_id', 'to_wallet_id', 'amount', 'frequency',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function to(): BelongsTo
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Wallet::class, 'to_wallet_id', 'id');
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,27 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
|
||||||
use Illuminate\Support\Facades\Schema;
|
|
||||||
|
|
||||||
return new class extends Migration
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Run the migrations.
|
|
||||||
*/
|
|
||||||
public function up(): void
|
|
||||||
{
|
|
||||||
Schema::create('recuring_transfers', function (Blueprint $table) {
|
|
||||||
$table->id();
|
|
||||||
$table->timestamps();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reverse the migrations.
|
|
||||||
*/
|
|
||||||
public function down(): void
|
|
||||||
{
|
|
||||||
Schema::dropIfExists('recuring_transfers');
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -15,6 +15,9 @@
|
||||||
<x-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
|
<x-nav-link :href="route('dashboard')" :active="request()->routeIs('dashboard')">
|
||||||
{{ __('Dashboard') }}
|
{{ __('Dashboard') }}
|
||||||
</x-nav-link>
|
</x-nav-link>
|
||||||
|
<x-nav-link :href="route('recurring-transfers.index')" :active="request()->routeIs('recurring-transfers.*')">
|
||||||
|
{{ __('Recurring transfers') }}
|
||||||
|
</x-nav-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,16 @@
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
use App\Http\Controllers\DashboardController;
|
use App\Http\Controllers\DashboardController;
|
||||||
|
use App\Http\Controllers\RecurringTransfersController;
|
||||||
use App\Http\Controllers\SendMoneyController;
|
use App\Http\Controllers\SendMoneyController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::middleware('auth')->group(function () {
|
Route::middleware('auth')->group(function () {
|
||||||
Route::get('/', DashboardController::class)->name('dashboard');
|
Route::get('/', DashboardController::class)->name('dashboard');
|
||||||
Route::post('/send-money', [SendMoneyController::class, '__invoke'])->name('send-money');
|
Route::post('/send-money', [SendMoneyController::class, '__invoke'])->name('send-money');
|
||||||
|
|
||||||
|
Route::get('recurring-transfers', [RecurringTransfersController::class, 'index'])->name('recurring-transfers.index');
|
||||||
|
Route::post('recurring-transfers', [RecurringTransfersController::class, 'store'])->name('recurring-transfers.store');
|
||||||
});
|
});
|
||||||
|
|
||||||
require __DIR__.'/auth.php';
|
require __DIR__.'/auth.php';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user