diff --git a/app/Http/Controllers/BillingController.php b/app/Http/Controllers/BillingController.php new file mode 100644 index 0000000..28c689d --- /dev/null +++ b/app/Http/Controllers/BillingController.php @@ -0,0 +1,14 @@ + 'required|email|unique:users,email', 'password' => 'required|confirmed|min:8|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/' ]); + /* Stripe::setApiKey(); */ $user = new User; $user->name = $request->name; @@ -29,6 +32,7 @@ class UserController extends Controller $user->role = "client"; $user->active = true; $user->password = Hash::make($request->password); + $user->customer_id = Customer::create()->id; $user->save(); event(new Registered($user)); diff --git a/composer.json b/composer.json index 68e51cd..2d58ad4 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "laravel/cashier": "^12.14", "laravel/framework": "^8.12", "laravel/sanctum": "^2.10", - "laravel/tinker": "^2.5" + "laravel/tinker": "^2.5", + "stripe/stripe-php": "^7.82" }, "require-dev": { "facade/ignition": "^2.5", diff --git a/composer.lock b/composer.lock index 208c815..1e488dd 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "944c213422ef588363f5699d6efb4f96", + "content-hash": "0ba374a856ee5e8428032e8d550d3048", "packages": [ { "name": "asm89/stack-cors", @@ -2789,16 +2789,16 @@ }, { "name": "stripe/stripe-php", - "version": "v7.80.0", + "version": "v7.82.0", "source": { "type": "git", "url": "https://github.com/stripe/stripe-php.git", - "reference": "566900968407302f88a925ba731c87c05fe98a7a" + "reference": "218f5296923265fab4692a7f8a083ff2e7e35a21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stripe/stripe-php/zipball/566900968407302f88a925ba731c87c05fe98a7a", - "reference": "566900968407302f88a925ba731c87c05fe98a7a", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/218f5296923265fab4692a7f8a083ff2e7e35a21", + "reference": "218f5296923265fab4692a7f8a083ff2e7e35a21", "shasum": "" }, "require": { @@ -2844,9 +2844,9 @@ ], "support": { "issues": "https://github.com/stripe/stripe-php/issues", - "source": "https://github.com/stripe/stripe-php/tree/v7.80.0" + "source": "https://github.com/stripe/stripe-php/tree/v7.82.0" }, - "time": "2021-05-26T19:10:43+00:00" + "time": "2021-06-04T23:26:37+00:00" }, { "name": "swiftmailer/swiftmailer", diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index a234e76..8f263a9 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -17,6 +17,7 @@ class CreateUsersTable extends Migration $table->id(); $table->string('name'); $table->string('email')->unique(); + $table->string('customer_id')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->string('role'); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index fc6794f..2261ce8 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -7,6 +7,8 @@ use App\Models\User; use App\Models\Order; use App\Models\Service; use Illuminate\Support\Facades\Hash; +use \Stripe\Stripe; +use \Stripe\Customer; class DatabaseSeeder extends Seeder { @@ -175,6 +177,7 @@ class DatabaseSeeder extends Seeder 'name' => 'test_user_unverified', 'email' => 'unverified@example.com', 'role' => 'client', + 'customer_id' => Customer::create()->id, 'active' => true, 'password' => Hash::make("test123") ]); @@ -183,6 +186,7 @@ class DatabaseSeeder extends Seeder 'email' => 'verified@example.com', 'email_verified_at' => now(), 'credits' => 250, + 'customer_id' => Customer::create()->id, 'role' => 'client', 'active' => true, 'password' => Hash::make("test123") @@ -191,6 +195,7 @@ class DatabaseSeeder extends Seeder 'name' => 'test_admin_verified', 'email' => 'admin_verified@example.com', 'email_verified_at' => now(), + 'customer_id' => Customer::create()->id, 'role' => 'admin', 'active' => true, 'password' => Hash::make("test123") diff --git a/resources/images/coin-stack.svg b/resources/images/coin-stack.svg new file mode 100644 index 0000000..04faade --- /dev/null +++ b/resources/images/coin-stack.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/images/coins.svg b/resources/images/coins.svg new file mode 100644 index 0000000..8cbf390 --- /dev/null +++ b/resources/images/coins.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/js/panel/credits.vue b/resources/js/panel/credits.vue index 9ffb918..7bc55a5 100644 --- a/resources/js/panel/credits.vue +++ b/resources/js/panel/credits.vue @@ -1,3 +1,39 @@ + + diff --git a/resources/js/panel/orders.vue b/resources/js/panel/orders.vue index a0f19b4..5450a3d 100644 --- a/resources/js/panel/orders.vue +++ b/resources/js/panel/orders.vue @@ -1,7 +1,7 @@