refactoring part 1

This commit is contained in:
Peter Papp
2021-03-14 12:23:14 +01:00
parent c5e9d29362
commit d0bd866354
26 changed files with 168 additions and 312 deletions
@@ -14,7 +14,7 @@ use Laravel\Cashier\Subscription;
class DashboardController extends Controller class DashboardController extends Controller
{ {
/** /**
* DashboardController constructor. * @param StripeService $stripe
*/ */
public function __construct(StripeService $stripe) public function __construct(StripeService $stripe)
{ {
@@ -13,7 +13,7 @@ use Illuminate\Http\Request;
class InvoiceController extends Controller class InvoiceController extends Controller
{ {
/** /**
* PlanController constructor. * @param StripeService $stripe
*/ */
public function __construct(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 $customer
* @param $token * @param $token
@@ -41,12 +41,8 @@ class InvoiceController extends Controller
*/ */
public function show($customer, $token) public function show($customer, $token)
{ {
$settings = json_decode(Setting::all()->pluck('value', 'name')->toJson());
$invoice = $this->stripe->getUserInvoice($customer, $token);
return view('vuefilemanager.invoice') return view('vuefilemanager.invoice')
->with('settings', $settings) ->with('settings', get_settings_in_json())
->with('invoice', $invoice); ->with('invoice', $this->stripe->getUserInvoice($customer, $token));
} }
} }
@@ -21,12 +21,13 @@ class PagesController extends Controller
public function index() public function index()
{ {
return new PageCollection( return new PageCollection(
Page::sortable()->paginate(10) Page::sortable()
->paginate(10)
); );
} }
/** /**
* Get page resource * Get single page resource
* *
* @param $page * @param $page
* @return PageResource * @return PageResource
+12 -8
View File
@@ -11,7 +11,10 @@ use App\Http\Tools\Demo;
use App\Models\Plan; use App\Models\Plan;
use App\Services\StripeService; use App\Services\StripeService;
use App\Models\User; use App\Models\User;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Cache;
use Laravel\Cashier\Subscription; use Laravel\Cashier\Subscription;
use Rinvex\Subscriptions\Models\PlanFeature; use Rinvex\Subscriptions\Models\PlanFeature;
@@ -19,7 +22,7 @@ use Rinvex\Subscriptions\Models\PlanFeature;
class PlanController extends Controller class PlanController extends Controller
{ {
/** /**
* PlanController constructor. * @param StripeService $stripe
*/ */
public function __construct(StripeService $stripe) public function __construct(StripeService $stripe)
{ {
@@ -29,7 +32,7 @@ class PlanController extends Controller
/** /**
* Get all plans * Get all plans
* *
* @return PlanCollection|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return PlanCollection|Application|ResponseFactory|Response
*/ */
public function index() public function index()
{ {
@@ -49,7 +52,7 @@ class PlanController extends Controller
* Get plan record * Get plan record
* *
* @param $id * @param $id
* @return PlanResource|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return PlanResource|Application|ResponseFactory|Response
*/ */
public function show($id) public function show($id)
{ {
@@ -69,7 +72,7 @@ class PlanController extends Controller
* Create new plan * Create new plan
* *
* @param Request $request * @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) public function store(Request $request)
{ {
@@ -102,7 +105,7 @@ class PlanController extends Controller
* *
* @param Request $request * @param Request $request
* @param $id * @param $id
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return ResponseFactory|Response
*/ */
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
@@ -123,7 +126,7 @@ class PlanController extends Controller
* Delete plan * Delete plan
* *
* @param $id * @param $id
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response * @return ResponseFactory|Response
*/ */
public function delete($id) public function delete($id)
{ {
@@ -148,11 +151,12 @@ class PlanController extends Controller
*/ */
public function subscribers($id) public function subscribers($id)
{ {
$subscribers = Subscription::where('stripe_plan', $id) $subscribers = Subscription::whereStripePlan($id)
->pluck('user_id'); ->pluck('user_id');
return new UsersCollection( return new UsersCollection(
User::sortable()->findMany($subscribers) User::sortable()
->findMany($subscribers)
); );
} }
} }
@@ -1,7 +1,8 @@
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Tools\Demo; use App\Http\Tools\Demo;
use App\Models\Setting; use App\Models\Setting;
use Artisan; use Artisan;
@@ -20,16 +21,16 @@ class SettingController extends Controller
*/ */
public function show(Request $request) 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()) { if (!app()->runningUnitTests()) {
setEnvironmentValue([ setEnvironmentValue([
'MAIL_DRIVER' => $request->input('driver'), 'MAIL_DRIVER' => $request->driver,
'MAIL_HOST' => $request->input('host'), 'MAIL_HOST' => $request->host,
'MAIL_PORT' => $request->input('port'), 'MAIL_PORT' => $request->port,
'MAIL_USERNAME' => $request->input('username'), 'MAIL_USERNAME' => $request->username,
'MAIL_PASSWORD' => $request->input('password'), 'MAIL_PASSWORD' => $request->password,
'MAIL_ENCRYPTION' => $request->input('encryption'), 'MAIL_ENCRYPTION' => $request->encryption,
]); ]);
// Clear config cache // Clear config cache
@@ -163,4 +164,22 @@ class SettingController extends Controller
return response('Done', 204); 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);
}
} }
+5 -10
View File
@@ -68,9 +68,9 @@ class UserController extends Controller
public function invoices(User $user) public function invoices(User $user)
{ {
return new InvoiceCollection( return new InvoiceCollection(
$this->stripe->getUserInvoices( $this
$user ->stripe
) ->getUserInvoices($user)
); );
} }
@@ -114,7 +114,7 @@ class UserController extends Controller
public function change_role(ChangeRoleRequest $request, User $user) public function change_role(ChangeRoleRequest $request, User $user)
{ {
// Demo preview // Demo preview
if (env('APP_DEMO') && $user->id == 1) { if (env('APP_DEMO') && $user->email === 'howdy@hi5ve.digial') {
return new UserResource($user); return new UserResource($user);
} }
@@ -178,11 +178,6 @@ class UserController extends Controller
*/ */
public function create_user(CreateUserByAdmin $request) public function create_user(CreateUserByAdmin $request)
{ {
// Store avatar
if ($request->hasFile('avatar')) {
$avatar = store_avatar($request, 'avatar');
}
// Create user // Create user
$user = User::forceCreate([ $user = User::forceCreate([
'role' => $request->role, 'role' => $request->role,
@@ -195,7 +190,7 @@ class UserController extends Controller
->settings() ->settings()
->create([ ->create([
'name' => $request->name, 'name' => $request->name,
'avatar' => $avatar ?? null, 'avatar' => store_avatar($request, 'avatar'),
'storage_capacity' => $request->storage_capacity, 'storage_capacity' => $request->storage_capacity,
]); ]);
+29 -13
View File
@@ -3,17 +3,17 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Http\Mail\SendContactMessage; use App\Http\Mail\SendContactMessage;
use App\Models\Content; use App\Http\Resources\PricingCollection;
use App\Http\Requests\PublicPages\SendContactMessageRequest; use App\Http\Requests\PublicPages\SendContactMessageRequest;
use App\Http\Resources\PageResource; use App\Http\Resources\PageResource;
use App\Http\Tools\Demo;
use App\Models\Setting; use App\Models\Setting;
use App\Models\Page; use App\Models\Page;
use Artisan; use App\Services\StripeService;
use Doctrine\DBAL\Driver\PDOException; use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Illuminate\Http\Response;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
class AppFunctionsController extends Controller class AppFunctionsController extends Controller
@@ -29,6 +29,11 @@ class AppFunctionsController extends Controller
'license', 'license',
]; ];
public function __construct(StripeService $stripe)
{
$this->stripe = $stripe;
}
/** /**
* Show index page * 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')) { if (Cache::has('pricing')) {
return Demo::response_204();
// 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()) { // Format pricing to collection
Artisan::call('cache:clear'); $collection = new PricingCollection($pricing);
Artisan::call('config:clear');
Artisan::call('config:cache');
}
return response('Done', 204); // Sort and return pricing
return $collection
->sortBy('product.metadata.capacity')
->values()
->all();
} }
} }
+1 -1
View File
@@ -18,7 +18,7 @@ class AuthController extends Controller
/** /**
* Check if user account exist * Check if user account exist
* *
* @param Request $request * @param CheckAccountRequest $request
* @return mixed * @return mixed
*/ */
public function check_account(CheckAccountRequest $request) 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']),
]);
}
}
-44
View File
@@ -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,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\FileBrowser; namespace App\Http\Controllers\FileManager;
use App\Http\Requests\FileBrowser\SearchRequest; use App\Http\Requests\FileBrowser\SearchRequest;
use App\Models\User; use App\Models\User;
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\FileFunctions; namespace App\Http\Controllers\FileManager;
use App\Http\Requests\FileFunctions\CreateFolderRequest; use App\Http\Requests\FileFunctions\CreateFolderRequest;
use App\Http\Requests\FileFunctions\DeleteItemRequest; use App\Http\Requests\FileFunctions\DeleteItemRequest;
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\FileFunctions; namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo; use App\Http\Tools\Demo;
use App\Models\Folder; use App\Models\Folder;
@@ -21,7 +21,7 @@ class FavouriteController extends Controller
{ {
// todo: pridat validator ako AddToFavouritesRequest // todo: pridat validator ako AddToFavouritesRequest
foreach ($request->input('folders') as $id) { foreach ($request->folders as $id) {
// Get user & folder // Get user & folder
$user = Auth::user(); $user = Auth::user();
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\FileFunctions; namespace App\Http\Controllers\FileManager;
use App\Http\Requests\Share\CreateShareRequest; use App\Http\Requests\Share\CreateShareRequest;
use App\Http\Requests\Share\UpdateShareRequest; use App\Http\Requests\Share\UpdateShareRequest;
@@ -112,7 +112,7 @@ class ShareController extends Controller
*/ */
public function destroy(Request $request) public function destroy(Request $request)
{ {
foreach ($request->input('tokens') as $token) { foreach ($request->tokens as $token) {
// Get sharing record // Get sharing record
Share::where('token', $token) Share::where('token', $token)
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\FileFunctions; namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo; use App\Http\Tools\Demo;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
@@ -14,51 +14,10 @@ use App\Models\File;
class TrashController extends Controller 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 * Restore item from trash
* *
* @param Request $request * @param Request $request
* @param $id
* @return ResponseFactory|\Illuminate\Http\Response * @return ResponseFactory|\Illuminate\Http\Response
*/ */
public function restore(Request $request) public function restore(Request $request)
@@ -118,4 +77,44 @@ class TrashController extends Controller
// Return response // Return response
return response('Done!', 204); 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,10 +1,8 @@
<?php <?php
namespace App\Http\Controllers\General; namespace App\Http\Controllers\Setup;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Page;
use App\Setting;
use Artisan; use Artisan;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Schema; use Schema;
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\General; namespace App\Http\Controllers\Setup;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\SetupWizard\CreateAdminRequest; use App\Http\Requests\SetupWizard\CreateAdminRequest;
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers\Subscription;
use App\Services\StripeService; use App\Services\StripeService;
use App\Models\Setting; use App\Models\Setting;
@@ -8,11 +8,11 @@ use App\Models\User;
use Laravel\Cashier\Http\Controllers\WebhookController as CashierController; 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 // Get user
$user = User::where('stripe_id', $payload['data']['object']['customer']) $user = User::whereStripeId($payload['data']['object']['customer'])
->firstOrFail(); ->firstOrFail();
// Get default storage capacity
$default_storage = Setting::where('name', 'storage_default')
->first();
// Update storage capacity // Update storage capacity
$user $user
->settings() ->settings()
->update([ ->update([
'storage_capacity' => $default_storage->value 'storage_capacity' => get_setting('storage_default')
]); ]);
return $this->successMethod(); return $this->successMethod();
@@ -58,7 +54,7 @@ class WebhookController extends CashierController
public function handleInvoicePaymentSucceeded($payload) public function handleInvoicePaymentSucceeded($payload)
{ {
// Get user // Get user
$user = User::where('stripe_id', $payload['data']['object']['customer']) $user = User::whereStripeId($payload['data']['object']['customer'])
->firstOrFail(); ->firstOrFail();
// Get requested plan // Get requested plan
+2 -2
View File
@@ -6,7 +6,7 @@ use App\Http\Controllers\Admin\PagesController;
use App\Http\Controllers\Admin\PlanController; use App\Http\Controllers\Admin\PlanController;
use App\Http\Controllers\Admin\UserController; use App\Http\Controllers\Admin\UserController;
use App\Http\Controllers\AppFunctionsController; use App\Http\Controllers\AppFunctionsController;
use App\Http\Controllers\SettingController; use App\Http\Controllers\Admin\SettingController;
// Dashboard // Dashboard
Route::group(['prefix' => 'dashboard'], function () { Route::group(['prefix' => 'dashboard'], function () {
@@ -50,7 +50,7 @@ Route::get('/invoices', [InvoiceController::class, 'index']);
// Settings // Settings
Route::group(['prefix' => 'settings'], function () { 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('/stripe', [SettingController::class, 'set_stripe']);
Route::post('/email', [SettingController::class, 'set_email']); Route::post('/email', [SettingController::class, 'set_email']);
Route::patch('/', [SettingController::class, 'update']); Route::patch('/', [SettingController::class, 'update']);
+8 -8
View File
@@ -3,19 +3,18 @@
use App\Http\Controllers\AppFunctionsController; use App\Http\Controllers\AppFunctionsController;
use App\Http\Controllers\Auth\ForgotPasswordController; use App\Http\Controllers\Auth\ForgotPasswordController;
use App\Http\Controllers\Auth\ResetPasswordController; use App\Http\Controllers\Auth\ResetPasswordController;
use App\Http\Controllers\FileBrowser\BrowseController; use App\Http\Controllers\FileManager\BrowseController;
use App\Http\Controllers\FileFunctions\EditItemsController; use App\Http\Controllers\FileManager\EditItemsController;
use App\Http\Controllers\FileFunctions\FavouriteController; use App\Http\Controllers\FileManager\FavouriteController;
use App\Http\Controllers\FileFunctions\ShareController; use App\Http\Controllers\FileManager\ShareController;
use App\Http\Controllers\FileFunctions\TrashController; use App\Http\Controllers\FileManager\TrashController;
use App\Http\Controllers\General\PricingController;
use App\Http\Controllers\Sharing\FileSharingController; use App\Http\Controllers\Sharing\FileSharingController;
// Pages // Pages
Route::get('/content', [AppFunctionsController::class, 'get_setting_columns']); Route::get('/content', [AppFunctionsController::class, 'get_setting_columns']);
Route::post('/contact', [AppFunctionsController::class, 'contact_form']); Route::post('/contact', [AppFunctionsController::class, 'contact_form']);
Route::get('/page/{page}', [AppFunctionsController::class, 'get_page']); Route::get('/page/{page}', [AppFunctionsController::class, 'get_page']);
Route::get('/pricing', [PricingController::class, 'index']); Route::get('/pricing', [AppFunctionsController::class, 'get_storage_plans']);
// Password reset // Password reset
Route::group(['prefix' => 'password'], function () { Route::group(['prefix' => 'password'], function () {
@@ -40,7 +39,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
// Trash // Trash
Route::group(['prefix' => 'trash'], function () { Route::group(['prefix' => 'trash'], function () {
Route::post('/restore', [TrashController::class, 'restore']); Route::post('/restore', [TrashController::class, 'restore']);
Route::delete('/dump', [TrashController::class, 'clear']); Route::delete('/dump', [TrashController::class, 'dump']);
}); });
// Favourites // Favourites
@@ -62,6 +61,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
Route::group(['middleware' => ['auth:api', 'auth.shared', 'scope:visitor,editor']], function () { Route::group(['middleware' => ['auth:api', 'auth.shared', 'scope:visitor,editor']], function () {
// Browse folders & files // Browse folders & files
// TODO: tests for private shared content
Route::get('/folders/{unique_id}/private', [FileSharingController::class, 'get_private_folders']); Route::get('/folders/{unique_id}/private', [FileSharingController::class, 'get_private_folders']);
Route::get('/navigation/private', [FileSharingController::class, 'get_private_navigation_tree']); Route::get('/navigation/private', [FileSharingController::class, 'get_private_navigation_tree']);
Route::get('/search/private', [FileSharingController::class, 'search_private']); Route::get('/search/private', [FileSharingController::class, 'search_private']);
+1 -1
View File
@@ -1,6 +1,6 @@
<?php <?php
use App\Http\Controllers\General\SetupWizardController; use App\Http\Controllers\Setup\SetupWizardController;
Route::post('/purchase-code', [SetupWizardController::class, 'verify_purchase_code']); Route::post('/purchase-code', [SetupWizardController::class, 'verify_purchase_code']);
Route::post('/database', [SetupWizardController::class, 'setup_database']); Route::post('/database', [SetupWizardController::class, 'setup_database']);
+2 -2
View File
@@ -1,8 +1,8 @@
<?php <?php
use App\Http\Controllers\AppFunctionsController; use App\Http\Controllers\AppFunctionsController;
use App\Http\Controllers\FileFunctions\EditItemsController; use App\Http\Controllers\FileManager\EditItemsController;
use App\Http\Controllers\FileFunctions\ShareController; use App\Http\Controllers\FileManager\ShareController;
use App\Http\Controllers\Sharing\FileSharingController; use App\Http\Controllers\Sharing\FileSharingController;
// Editor functions // Editor functions
+1 -1
View File
@@ -18,7 +18,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
Route::get('/', [AccountController::class, 'user']); Route::get('/', [AccountController::class, 'user']);
// Payment cards // Payment cards
// TODO: testy // TODO: tests
Route::delete('/payment-cards/{id}', [PaymentMethodsController::class, 'delete']); Route::delete('/payment-cards/{id}', [PaymentMethodsController::class, 'delete']);
Route::patch('/payment-cards/{id}', [PaymentMethodsController::class, 'update']); Route::patch('/payment-cards/{id}', [PaymentMethodsController::class, 'update']);
Route::post('/payment-cards', [PaymentMethodsController::class, 'store']); Route::post('/payment-cards', [PaymentMethodsController::class, 'store']);
+6 -8
View File
@@ -2,18 +2,15 @@
use App\Http\Controllers\Admin\InvoiceController; use App\Http\Controllers\Admin\InvoiceController;
use App\Http\Controllers\AppFunctionsController; use App\Http\Controllers\AppFunctionsController;
use App\Http\Controllers\FileAccessController; use App\Http\Controllers\Setup\SetupWizardController;
use App\Http\Controllers\General\SetupWizardController;
use App\Http\Controllers\Sharing\FileSharingController; 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']); Route::post('/admin-setup', [SetupWizardController::class, 'create_admin_account']);
// Get user invoice // Get user invoice from stripe service
Route::group(['middleware' => ['auth:sanctum']], function () { Route::get('/invoice/{customer}/{token}', [InvoiceController::class, 'show'])->middleware(['auth:sanctum']);
Route::get('/invoice/{customer}/{token}', [InvoiceController::class, 'show']);
});
// Get og site for web crawlers // Get og site for web crawlers
if (Crawler::isCrawler()) { if (Crawler::isCrawler()) {
@@ -22,4 +19,5 @@ if (Crawler::isCrawler()) {
Route::get('/shared/{token}', [FileSharingController::class, 'index']); Route::get('/shared/{token}', [FileSharingController::class, 'index']);
} }
// Show index.blade
Route::get('/{any?}', [AppFunctionsController::class, 'index'])->where('any', '.*'); Route::get('/{any?}', [AppFunctionsController::class, 'index'])->where('any', '.*');
+1 -1
View File
@@ -473,7 +473,7 @@ class SubscriptionTest extends TestCase
} }
/** /**
* @test *
*/ */
public function it_get_all_plans_for_index_page() public function it_get_all_plans_for_index_page()
{ {