8 Commits

Author SHA1 Message Date
f63be7fa5e Merge pull request 'fix: enforce HTTPS in production environment' (#2) from fix/error-on-production into main
Reviewed-on: #2
2026-02-10 21:38:32 +00:00
Jp
7fa8b75b29 fix: enforce HTTPS in production environment
Add URL::forceScheme('https') in AppServiceProvider to ensure all generated URLs use HTTPS when the application is in production. This improves security by enforcing secure connections.
2026-02-11 05:37:54 +08:00
Jp
a8ad07676a Merge branch 'main' of https://git.jpaleviado.site/kingjaypee12/MKM 2026-02-11 05:27:40 +08:00
Jp
6f04a60e43 Merge branch 'main' of https://github.com/kingjaypee12/MKM-App 2026-02-11 05:25:34 +08:00
Jp
76a52d7e82 fix(database): update foreign key constraints to cascade on delete
Update foreign key constraints on accounts and transmittals tables to cascade deletions, ensuring data integrity when referenced clients or branches are removed. The down migrations revert to the previous behavior.
2026-02-11 05:24:44 +08:00
5715ab10f2 Merge pull request 'update/ledger' (#1) from update/ledger into main
Reviewed-on: #1
2026-02-10 07:07:10 +00:00
138740648c Merge pull request #2 from kingjaypee12/update/ledger
refactor: streamline sales and expenses management in client resource
2026-02-10 15:06:57 +08:00
13a0f69ce3 Merge pull request #1 from kingjaypee12/update/ledger
fix: cascade delete related transactions and ledgers for sales and ex…
2026-02-09 22:26:19 +08:00
3 changed files with 89 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Providers;
use App\Policies\RolePolicy; use App\Policies\RolePolicy;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Role;
@@ -22,6 +23,10 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot(): void public function boot(): void
{ {
if ($this->app->environment('production')) {
URL::forceScheme('https');
}
Gate::before(function ($user, $ability) { Gate::before(function ($user, $ability) {
return $user->hasRole('super_admin') ? true : null; return $user->hasRole('super_admin') ? true : null;
}); });

View File

@@ -0,0 +1,36 @@
<?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::table('accounts', function (Blueprint $table) {
$table->dropForeign(['client_id']);
$table->foreign('client_id')
->references('id')
->on('clients')
->cascadeOnDelete();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('accounts', function (Blueprint $table) {
$table->dropForeign(['client_id']);
$table->foreign('client_id')
->references('id')
->on('clients')
->nullOnDelete(); // Since it is nullable
});
}
};

View File

@@ -0,0 +1,48 @@
<?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::table('transmittals', function (Blueprint $table) {
$table->dropForeign(['client_id']);
$table->dropForeign(['branch_id']);
$table->foreign('client_id')
->references('id')
->on('clients')
->cascadeOnDelete();
$table->foreign('branch_id')
->references('id')
->on('branches')
->cascadeOnDelete();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('transmittals', function (Blueprint $table) {
$table->dropForeign(['client_id']);
$table->dropForeign(['branch_id']);
$table->foreign('client_id')
->references('id')
->on('clients');
$table->foreign('branch_id')
->references('id')
->on('branches');
});
}
};