mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-13 08:45:01 +00:00
refactoring part 1
This commit is contained in:
@@ -14,7 +14,7 @@ use Laravel\Cashier\Subscription;
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
/**
|
||||
* DashboardController constructor.
|
||||
* @param StripeService $stripe
|
||||
*/
|
||||
public function __construct(StripeService $stripe)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ use Illuminate\Http\Request;
|
||||
class InvoiceController extends Controller
|
||||
{
|
||||
/**
|
||||
* PlanController constructor.
|
||||
* @param StripeService $stripe
|
||||
*/
|
||||
public function __construct(StripeService $stripe)
|
||||
{
|
||||
@@ -33,7 +33,7 @@ class InvoiceController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Get single invoice by $token
|
||||
* Get single invoice by invoice $token
|
||||
*
|
||||
* @param $customer
|
||||
* @param $token
|
||||
@@ -41,12 +41,8 @@ class InvoiceController extends Controller
|
||||
*/
|
||||
public function show($customer, $token)
|
||||
{
|
||||
$settings = json_decode(Setting::all()->pluck('value', 'name')->toJson());
|
||||
|
||||
$invoice = $this->stripe->getUserInvoice($customer, $token);
|
||||
|
||||
return view('vuefilemanager.invoice')
|
||||
->with('settings', $settings)
|
||||
->with('invoice', $invoice);
|
||||
->with('settings', get_settings_in_json())
|
||||
->with('invoice', $this->stripe->getUserInvoice($customer, $token));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,12 +21,13 @@ class PagesController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return new PageCollection(
|
||||
Page::sortable()->paginate(10)
|
||||
Page::sortable()
|
||||
->paginate(10)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get page resource
|
||||
* Get single page resource
|
||||
*
|
||||
* @param $page
|
||||
* @return PageResource
|
||||
|
||||
@@ -11,7 +11,10 @@ use App\Http\Tools\Demo;
|
||||
use App\Models\Plan;
|
||||
use App\Services\StripeService;
|
||||
use App\Models\User;
|
||||
use Illuminate\Contracts\Foundation\Application;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Laravel\Cashier\Subscription;
|
||||
use Rinvex\Subscriptions\Models\PlanFeature;
|
||||
@@ -19,7 +22,7 @@ use Rinvex\Subscriptions\Models\PlanFeature;
|
||||
class PlanController extends Controller
|
||||
{
|
||||
/**
|
||||
* PlanController constructor.
|
||||
* @param StripeService $stripe
|
||||
*/
|
||||
public function __construct(StripeService $stripe)
|
||||
{
|
||||
@@ -29,7 +32,7 @@ class PlanController extends Controller
|
||||
/**
|
||||
* Get all plans
|
||||
*
|
||||
* @return PlanCollection|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
* @return PlanCollection|Application|ResponseFactory|Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
@@ -49,7 +52,7 @@ class PlanController extends Controller
|
||||
* Get plan record
|
||||
*
|
||||
* @param $id
|
||||
* @return PlanResource|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
* @return PlanResource|Application|ResponseFactory|Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
@@ -69,7 +72,7 @@ class PlanController extends Controller
|
||||
* Create new plan
|
||||
*
|
||||
* @param Request $request
|
||||
* @return PlanResource|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
* @return PlanResource|Application|ResponseFactory|Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
@@ -102,7 +105,7 @@ class PlanController extends Controller
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $id
|
||||
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
* @return ResponseFactory|Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
@@ -123,7 +126,7 @@ class PlanController extends Controller
|
||||
* Delete plan
|
||||
*
|
||||
* @param $id
|
||||
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
* @return ResponseFactory|Response
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
@@ -148,11 +151,12 @@ class PlanController extends Controller
|
||||
*/
|
||||
public function subscribers($id)
|
||||
{
|
||||
$subscribers = Subscription::where('stripe_plan', $id)
|
||||
$subscribers = Subscription::whereStripePlan($id)
|
||||
->pluck('user_id');
|
||||
|
||||
return new UsersCollection(
|
||||
User::sortable()->findMany($subscribers)
|
||||
User::sortable()
|
||||
->findMany($subscribers)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+32
-13
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Tools\Demo;
|
||||
use App\Models\Setting;
|
||||
use Artisan;
|
||||
@@ -20,16 +21,16 @@ class SettingController extends Controller
|
||||
*/
|
||||
public function show(Request $request)
|
||||
{
|
||||
$column = $request->get('column');
|
||||
if (strpos($request->column, '|') !== false) {
|
||||
|
||||
if (strpos($column, '|') !== false) {
|
||||
$columns = explode('|', $request->column);
|
||||
|
||||
$columns = explode('|', $column);
|
||||
|
||||
return Setting::whereIn('name', $columns)->pluck('value', 'name');
|
||||
return Setting::whereIn('name', $columns)
|
||||
->pluck('value', 'name');
|
||||
}
|
||||
|
||||
return Setting::where('name', $column)->pluck('value', 'name');
|
||||
return Setting::where('name', $request->column)
|
||||
->pluck('value', 'name');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,12 +83,12 @@ class SettingController extends Controller
|
||||
if (!app()->runningUnitTests()) {
|
||||
|
||||
setEnvironmentValue([
|
||||
'MAIL_DRIVER' => $request->input('driver'),
|
||||
'MAIL_HOST' => $request->input('host'),
|
||||
'MAIL_PORT' => $request->input('port'),
|
||||
'MAIL_USERNAME' => $request->input('username'),
|
||||
'MAIL_PASSWORD' => $request->input('password'),
|
||||
'MAIL_ENCRYPTION' => $request->input('encryption'),
|
||||
'MAIL_DRIVER' => $request->driver,
|
||||
'MAIL_HOST' => $request->host,
|
||||
'MAIL_PORT' => $request->port,
|
||||
'MAIL_USERNAME' => $request->username,
|
||||
'MAIL_PASSWORD' => $request->password,
|
||||
'MAIL_ENCRYPTION' => $request->encryption,
|
||||
]);
|
||||
|
||||
// Clear config cache
|
||||
@@ -163,4 +164,22 @@ class SettingController extends Controller
|
||||
|
||||
return response('Done', 204);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear application cache
|
||||
*/
|
||||
public function flush_cache()
|
||||
{
|
||||
if (env('APP_DEMO')) {
|
||||
return Demo::response_204();
|
||||
}
|
||||
|
||||
if (!app()->runningUnitTests()) {
|
||||
Artisan::call('cache:clear');
|
||||
Artisan::call('config:clear');
|
||||
Artisan::call('config:cache');
|
||||
}
|
||||
|
||||
return response('Done', 204);
|
||||
}
|
||||
}
|
||||
@@ -68,9 +68,9 @@ class UserController extends Controller
|
||||
public function invoices(User $user)
|
||||
{
|
||||
return new InvoiceCollection(
|
||||
$this->stripe->getUserInvoices(
|
||||
$user
|
||||
)
|
||||
$this
|
||||
->stripe
|
||||
->getUserInvoices($user)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ class UserController extends Controller
|
||||
public function change_role(ChangeRoleRequest $request, User $user)
|
||||
{
|
||||
// Demo preview
|
||||
if (env('APP_DEMO') && $user->id == 1) {
|
||||
if (env('APP_DEMO') && $user->email === 'howdy@hi5ve.digial') {
|
||||
return new UserResource($user);
|
||||
}
|
||||
|
||||
@@ -178,11 +178,6 @@ class UserController extends Controller
|
||||
*/
|
||||
public function create_user(CreateUserByAdmin $request)
|
||||
{
|
||||
// Store avatar
|
||||
if ($request->hasFile('avatar')) {
|
||||
$avatar = store_avatar($request, 'avatar');
|
||||
}
|
||||
|
||||
// Create user
|
||||
$user = User::forceCreate([
|
||||
'role' => $request->role,
|
||||
@@ -195,7 +190,7 @@ class UserController extends Controller
|
||||
->settings()
|
||||
->create([
|
||||
'name' => $request->name,
|
||||
'avatar' => $avatar ?? null,
|
||||
'avatar' => store_avatar($request, 'avatar'),
|
||||
'storage_capacity' => $request->storage_capacity,
|
||||
]);
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Mail\SendContactMessage;
|
||||
use App\Models\Content;
|
||||
use App\Http\Resources\PricingCollection;
|
||||
use App\Http\Requests\PublicPages\SendContactMessageRequest;
|
||||
use App\Http\Resources\PageResource;
|
||||
use App\Http\Tools\Demo;
|
||||
use App\Models\Setting;
|
||||
use App\Models\Page;
|
||||
use Artisan;
|
||||
use App\Services\StripeService;
|
||||
use Doctrine\DBAL\Driver\PDOException;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class AppFunctionsController extends Controller
|
||||
@@ -29,6 +29,11 @@ class AppFunctionsController extends Controller
|
||||
'license',
|
||||
];
|
||||
|
||||
public function __construct(StripeService $stripe)
|
||||
{
|
||||
$this->stripe = $stripe;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show index page
|
||||
*
|
||||
@@ -151,20 +156,31 @@ class AppFunctionsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear application cache
|
||||
* Get all active storage plans
|
||||
*
|
||||
* @return PricingCollection
|
||||
*/
|
||||
public function flush_cache()
|
||||
public function get_storage_plans()
|
||||
{
|
||||
if (env('APP_DEMO')) {
|
||||
return Demo::response_204();
|
||||
if (Cache::has('pricing')) {
|
||||
|
||||
// Get pricing from cache
|
||||
$pricing = Cache::get('pricing');
|
||||
} else {
|
||||
|
||||
// Store pricing to cache
|
||||
$pricing = Cache::rememberForever('pricing', function () {
|
||||
return $this->stripe->getActivePlans();
|
||||
});
|
||||
}
|
||||
|
||||
if (!app()->runningUnitTests()) {
|
||||
Artisan::call('cache:clear');
|
||||
Artisan::call('config:clear');
|
||||
Artisan::call('config:cache');
|
||||
}
|
||||
// Format pricing to collection
|
||||
$collection = new PricingCollection($pricing);
|
||||
|
||||
return response('Done', 204);
|
||||
// Sort and return pricing
|
||||
return $collection
|
||||
->sortBy('product.metadata.capacity')
|
||||
->values()
|
||||
->all();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ class AuthController extends Controller
|
||||
/**
|
||||
* Check if user account exist
|
||||
*
|
||||
* @param Request $request
|
||||
* @param CheckAccountRequest $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function check_account(CheckAccountRequest $request)
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles the registration of new users as well as their
|
||||
| validation and creation. By default this controller uses a trait to
|
||||
| provide this functionality without requiring any additional code.
|
||||
|
|
||||
*/
|
||||
|
||||
use RegistersUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after registration.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a validator for an incoming registration request.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \Illuminate\Contracts\Validation\Validator
|
||||
*/
|
||||
protected function validator(array $data)
|
||||
{
|
||||
return Validator::make($data, [
|
||||
'name' => ['required', 'string', 'max:255'],
|
||||
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new user instance after a valid registration.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \App\User
|
||||
*/
|
||||
protected function create(array $data)
|
||||
{
|
||||
return User::create([
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'password' => Hash::make($data['password']),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Artisan;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Validation\UnauthorizedException;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
|
||||
class DeployController extends Controller
|
||||
{
|
||||
/**
|
||||
* Get web hook payload and verify request
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
|
||||
*/
|
||||
public function github(Request $request) {
|
||||
|
||||
if (($signature = $request->headers->get('X-Hub-Signature')) == null) {
|
||||
throw new BadRequestHttpException('Header not set');
|
||||
}
|
||||
|
||||
$signature_parts = explode('=', $signature);
|
||||
|
||||
if (count($signature_parts) != 2) {
|
||||
throw new BadRequestHttpException('signature has invalid format');
|
||||
}
|
||||
|
||||
$known_signature = hash_hmac('sha1', $request->getContent(), config('app.deploy_secret'));
|
||||
|
||||
if (! hash_equals($known_signature, $signature_parts[1])) {
|
||||
throw new UnauthorizedException('Could not verify request signature ' . $signature_parts[1]);
|
||||
}
|
||||
|
||||
// Run deploying
|
||||
Artisan::call('deploy:production');
|
||||
|
||||
Log::info('The GitHub webhook was accepted');
|
||||
|
||||
return response('The GitHub webhook was accepted', 202);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\FileBrowser;
|
||||
namespace App\Http\Controllers\FileManager;
|
||||
|
||||
use App\Http\Requests\FileBrowser\SearchRequest;
|
||||
use App\Models\User;
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\FileFunctions;
|
||||
namespace App\Http\Controllers\FileManager;
|
||||
|
||||
use App\Http\Requests\FileFunctions\CreateFolderRequest;
|
||||
use App\Http\Requests\FileFunctions\DeleteItemRequest;
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\FileFunctions;
|
||||
namespace App\Http\Controllers\FileManager;
|
||||
|
||||
use App\Http\Tools\Demo;
|
||||
use App\Models\Folder;
|
||||
@@ -21,7 +21,7 @@ class FavouriteController extends Controller
|
||||
{
|
||||
// todo: pridat validator ako AddToFavouritesRequest
|
||||
|
||||
foreach ($request->input('folders') as $id) {
|
||||
foreach ($request->folders as $id) {
|
||||
|
||||
// Get user & folder
|
||||
$user = Auth::user();
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\FileFunctions;
|
||||
namespace App\Http\Controllers\FileManager;
|
||||
|
||||
use App\Http\Requests\Share\CreateShareRequest;
|
||||
use App\Http\Requests\Share\UpdateShareRequest;
|
||||
@@ -112,7 +112,7 @@ class ShareController extends Controller
|
||||
*/
|
||||
public function destroy(Request $request)
|
||||
{
|
||||
foreach ($request->input('tokens') as $token) {
|
||||
foreach ($request->tokens as $token) {
|
||||
|
||||
// Get sharing record
|
||||
Share::where('token', $token)
|
||||
+41
-42
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\FileFunctions;
|
||||
namespace App\Http\Controllers\FileManager;
|
||||
|
||||
use App\Http\Tools\Demo;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
@@ -14,51 +14,10 @@ use App\Models\File;
|
||||
|
||||
class TrashController extends Controller
|
||||
{
|
||||
/**
|
||||
* Empty user trash
|
||||
*
|
||||
* @return ResponseFactory|\Illuminate\Http\Response
|
||||
*/
|
||||
public function clear()
|
||||
{
|
||||
// Get user id
|
||||
$user_id = Auth::id();
|
||||
|
||||
if (is_demo($user_id)) {
|
||||
return Demo::response_204();
|
||||
}
|
||||
|
||||
// Get files and folders
|
||||
$folders = Folder::onlyTrashed()->where('user_id', $user_id)->get();
|
||||
$files = File::onlyTrashed()->where('user_id', $user_id)->get();
|
||||
|
||||
// Force delete folder
|
||||
$folders->each->forceDelete();
|
||||
|
||||
// Force delete files
|
||||
foreach ($files as $file) {
|
||||
|
||||
// Delete file
|
||||
Storage::delete("/files/$user_id/{$file->basename}");
|
||||
|
||||
// Delete thumbnail if exist
|
||||
if ($file->thumbnail) {
|
||||
Storage::delete("/files/$user_id/{$file->getRawOriginal('thumbnail')}");
|
||||
}
|
||||
|
||||
// Delete file permanently
|
||||
$file->forceDelete();
|
||||
}
|
||||
|
||||
// Return response
|
||||
return response('Done!', 204);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore item from trash
|
||||
*
|
||||
* @param Request $request
|
||||
* @param $id
|
||||
* @return ResponseFactory|\Illuminate\Http\Response
|
||||
*/
|
||||
public function restore(Request $request)
|
||||
@@ -118,4 +77,44 @@ class TrashController extends Controller
|
||||
// Return response
|
||||
return response('Done!', 204);
|
||||
}
|
||||
|
||||
/**
|
||||
* Empty user trash
|
||||
*
|
||||
* @return ResponseFactory|\Illuminate\Http\Response
|
||||
*/
|
||||
public function dump()
|
||||
{
|
||||
// Get user id
|
||||
$user_id = Auth::id();
|
||||
|
||||
if (is_demo($user_id)) {
|
||||
return Demo::response_204();
|
||||
}
|
||||
|
||||
// Get files and folders
|
||||
$folders = Folder::onlyTrashed()->where('user_id', $user_id)->get();
|
||||
$files = File::onlyTrashed()->where('user_id', $user_id)->get();
|
||||
|
||||
// Force delete folder
|
||||
$folders->each->forceDelete();
|
||||
|
||||
// Force delete files
|
||||
foreach ($files as $file) {
|
||||
|
||||
// Delete file
|
||||
Storage::delete("/files/$user_id/{$file->basename}");
|
||||
|
||||
// Delete thumbnail if exist
|
||||
if ($file->thumbnail) {
|
||||
Storage::delete("/files/$user_id/{$file->getRawOriginal('thumbnail')}");
|
||||
}
|
||||
|
||||
// Delete file permanently
|
||||
$file->forceDelete();
|
||||
}
|
||||
|
||||
// Return response
|
||||
return response('Done!', 204);
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\General;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\PricingCollection;
|
||||
use App\Services\StripeService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class PricingController extends Controller
|
||||
{
|
||||
/**
|
||||
* PlanController constructor.
|
||||
*/
|
||||
public function __construct(StripeService $stripe)
|
||||
{
|
||||
$this->stripe = $stripe;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all active plans
|
||||
*
|
||||
* @return PricingCollection
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
if (Cache::has('pricing')) {
|
||||
|
||||
// Get pricing from cache
|
||||
$pricing = Cache::get('pricing');
|
||||
} else {
|
||||
|
||||
// Store pricing to cache
|
||||
$pricing = Cache::rememberForever('pricing', function () {
|
||||
return $this->stripe->getActivePlans();
|
||||
});
|
||||
}
|
||||
|
||||
// Format pricing to collection
|
||||
$collection = new PricingCollection($pricing);
|
||||
|
||||
// Sort and return pricing
|
||||
return $collection
|
||||
->sortBy('product.metadata.capacity')
|
||||
->values()
|
||||
->all();
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -1,10 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\General;
|
||||
namespace App\Http\Controllers\Setup;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Page;
|
||||
use App\Setting;
|
||||
use Artisan;
|
||||
use Illuminate\Http\Request;
|
||||
use Schema;
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\General;
|
||||
namespace App\Http\Controllers\Setup;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\SetupWizard\CreateAdminRequest;
|
||||
+7
-11
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\Subscription;
|
||||
|
||||
use App\Services\StripeService;
|
||||
use App\Models\Setting;
|
||||
@@ -8,11 +8,11 @@ use App\Models\User;
|
||||
|
||||
use Laravel\Cashier\Http\Controllers\WebhookController as CashierController;
|
||||
|
||||
class WebhookController extends CashierController
|
||||
class StripeWebhookController extends CashierController
|
||||
{
|
||||
public function __construct(StripeService $stripe)
|
||||
public function __construct()
|
||||
{
|
||||
$this->stripe = $stripe;
|
||||
$this->stripe = resolve(StripeService::class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -32,18 +32,14 @@ class WebhookController extends CashierController
|
||||
}
|
||||
|
||||
// Get user
|
||||
$user = User::where('stripe_id', $payload['data']['object']['customer'])
|
||||
$user = User::whereStripeId($payload['data']['object']['customer'])
|
||||
->firstOrFail();
|
||||
|
||||
// Get default storage capacity
|
||||
$default_storage = Setting::where('name', 'storage_default')
|
||||
->first();
|
||||
|
||||
// Update storage capacity
|
||||
$user
|
||||
->settings()
|
||||
->update([
|
||||
'storage_capacity' => $default_storage->value
|
||||
'storage_capacity' => get_setting('storage_default')
|
||||
]);
|
||||
|
||||
return $this->successMethod();
|
||||
@@ -58,7 +54,7 @@ class WebhookController extends CashierController
|
||||
public function handleInvoicePaymentSucceeded($payload)
|
||||
{
|
||||
// Get user
|
||||
$user = User::where('stripe_id', $payload['data']['object']['customer'])
|
||||
$user = User::whereStripeId($payload['data']['object']['customer'])
|
||||
->firstOrFail();
|
||||
|
||||
// Get requested plan
|
||||
+2
-2
@@ -6,7 +6,7 @@ use App\Http\Controllers\Admin\PagesController;
|
||||
use App\Http\Controllers\Admin\PlanController;
|
||||
use App\Http\Controllers\Admin\UserController;
|
||||
use App\Http\Controllers\AppFunctionsController;
|
||||
use App\Http\Controllers\SettingController;
|
||||
use App\Http\Controllers\Admin\SettingController;
|
||||
|
||||
// Dashboard
|
||||
Route::group(['prefix' => 'dashboard'], function () {
|
||||
@@ -50,7 +50,7 @@ Route::get('/invoices', [InvoiceController::class, 'index']);
|
||||
|
||||
// Settings
|
||||
Route::group(['prefix' => 'settings'], function () {
|
||||
Route::get('/flush-cache', [AppFunctionsController::class, 'flush_cache']);
|
||||
Route::get('/flush-cache', [SettingController::class, 'flush_cache']);
|
||||
Route::post('/stripe', [SettingController::class, 'set_stripe']);
|
||||
Route::post('/email', [SettingController::class, 'set_email']);
|
||||
Route::patch('/', [SettingController::class, 'update']);
|
||||
|
||||
+8
-8
@@ -3,19 +3,18 @@
|
||||
use App\Http\Controllers\AppFunctionsController;
|
||||
use App\Http\Controllers\Auth\ForgotPasswordController;
|
||||
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||
use App\Http\Controllers\FileBrowser\BrowseController;
|
||||
use App\Http\Controllers\FileFunctions\EditItemsController;
|
||||
use App\Http\Controllers\FileFunctions\FavouriteController;
|
||||
use App\Http\Controllers\FileFunctions\ShareController;
|
||||
use App\Http\Controllers\FileFunctions\TrashController;
|
||||
use App\Http\Controllers\General\PricingController;
|
||||
use App\Http\Controllers\FileManager\BrowseController;
|
||||
use App\Http\Controllers\FileManager\EditItemsController;
|
||||
use App\Http\Controllers\FileManager\FavouriteController;
|
||||
use App\Http\Controllers\FileManager\ShareController;
|
||||
use App\Http\Controllers\FileManager\TrashController;
|
||||
use App\Http\Controllers\Sharing\FileSharingController;
|
||||
|
||||
// Pages
|
||||
Route::get('/content', [AppFunctionsController::class, 'get_setting_columns']);
|
||||
Route::post('/contact', [AppFunctionsController::class, 'contact_form']);
|
||||
Route::get('/page/{page}', [AppFunctionsController::class, 'get_page']);
|
||||
Route::get('/pricing', [PricingController::class, 'index']);
|
||||
Route::get('/pricing', [AppFunctionsController::class, 'get_storage_plans']);
|
||||
|
||||
// Password reset
|
||||
Route::group(['prefix' => 'password'], function () {
|
||||
@@ -40,7 +39,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
// Trash
|
||||
Route::group(['prefix' => 'trash'], function () {
|
||||
Route::post('/restore', [TrashController::class, 'restore']);
|
||||
Route::delete('/dump', [TrashController::class, 'clear']);
|
||||
Route::delete('/dump', [TrashController::class, 'dump']);
|
||||
});
|
||||
|
||||
// Favourites
|
||||
@@ -62,6 +61,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
Route::group(['middleware' => ['auth:api', 'auth.shared', 'scope:visitor,editor']], function () {
|
||||
|
||||
// Browse folders & files
|
||||
// TODO: tests for private shared content
|
||||
Route::get('/folders/{unique_id}/private', [FileSharingController::class, 'get_private_folders']);
|
||||
Route::get('/navigation/private', [FileSharingController::class, 'get_private_navigation_tree']);
|
||||
Route::get('/search/private', [FileSharingController::class, 'search_private']);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\General\SetupWizardController;
|
||||
use App\Http\Controllers\Setup\SetupWizardController;
|
||||
|
||||
Route::post('/purchase-code', [SetupWizardController::class, 'verify_purchase_code']);
|
||||
Route::post('/database', [SetupWizardController::class, 'setup_database']);
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\AppFunctionsController;
|
||||
use App\Http\Controllers\FileFunctions\EditItemsController;
|
||||
use App\Http\Controllers\FileFunctions\ShareController;
|
||||
use App\Http\Controllers\FileManager\EditItemsController;
|
||||
use App\Http\Controllers\FileManager\ShareController;
|
||||
use App\Http\Controllers\Sharing\FileSharingController;
|
||||
|
||||
// Editor functions
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
Route::get('/', [AccountController::class, 'user']);
|
||||
|
||||
// Payment cards
|
||||
// TODO: testy
|
||||
// TODO: tests
|
||||
Route::delete('/payment-cards/{id}', [PaymentMethodsController::class, 'delete']);
|
||||
Route::patch('/payment-cards/{id}', [PaymentMethodsController::class, 'update']);
|
||||
Route::post('/payment-cards', [PaymentMethodsController::class, 'store']);
|
||||
|
||||
+6
-8
@@ -2,18 +2,15 @@
|
||||
|
||||
use App\Http\Controllers\Admin\InvoiceController;
|
||||
use App\Http\Controllers\AppFunctionsController;
|
||||
use App\Http\Controllers\FileAccessController;
|
||||
use App\Http\Controllers\General\SetupWizardController;
|
||||
use App\Http\Controllers\Setup\SetupWizardController;
|
||||
use App\Http\Controllers\Sharing\FileSharingController;
|
||||
use App\Http\Controllers\WebhookController;
|
||||
use App\Http\Controllers\Subscription\StripeWebhookController;
|
||||
|
||||
Route::post('/stripe/webhook', [WebhookController::class, 'handleWebhook']);
|
||||
Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleWebhook']);
|
||||
Route::post('/admin-setup', [SetupWizardController::class, 'create_admin_account']);
|
||||
|
||||
// Get user invoice
|
||||
Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
Route::get('/invoice/{customer}/{token}', [InvoiceController::class, 'show']);
|
||||
});
|
||||
// Get user invoice from stripe service
|
||||
Route::get('/invoice/{customer}/{token}', [InvoiceController::class, 'show'])->middleware(['auth:sanctum']);
|
||||
|
||||
// Get og site for web crawlers
|
||||
if (Crawler::isCrawler()) {
|
||||
@@ -22,4 +19,5 @@ if (Crawler::isCrawler()) {
|
||||
Route::get('/shared/{token}', [FileSharingController::class, 'index']);
|
||||
}
|
||||
|
||||
// Show index.blade
|
||||
Route::get('/{any?}', [AppFunctionsController::class, 'index'])->where('any', '.*');
|
||||
|
||||
+1
-1
@@ -473,7 +473,7 @@ class SubscriptionTest extends TestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*
|
||||
*/
|
||||
public function it_get_all_plans_for_index_page()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user