DemoService.php refactoring

This commit is contained in:
Peter Papp
2021-03-14 17:48:26 +01:00
parent 961a8900be
commit cb272709a3
12 changed files with 89 additions and 61 deletions

View File

@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Resources\PageCollection; use App\Http\Resources\PageCollection;
use App\Http\Resources\PageResource; use App\Http\Resources\PageResource;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Models\Page; use App\Models\Page;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -13,6 +13,11 @@ use Illuminate\Http\Response;
class PagesController extends Controller class PagesController extends Controller
{ {
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/** /**
* Get all pages * Get all pages
* *
@@ -47,7 +52,7 @@ class PagesController extends Controller
public function update(Request $request, Page $page) public function update(Request $request, Page $page)
{ {
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
$page->update( $page->update(

View File

@@ -7,7 +7,7 @@ use App\Http\Resources\PlanCollection;
use App\Http\Resources\PlanResource; use App\Http\Resources\PlanResource;
use App\Http\Resources\UserResource; use App\Http\Resources\UserResource;
use App\Http\Resources\UsersCollection; use App\Http\Resources\UsersCollection;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Models\Plan; use App\Models\Plan;
use App\Services\StripeService; use App\Services\StripeService;
use App\Models\User; use App\Models\User;
@@ -27,6 +27,7 @@ class PlanController extends Controller
public function __construct(StripeService $stripe) public function __construct(StripeService $stripe)
{ {
$this->stripe = $stripe; $this->stripe = $stripe;
$this->demo = resolve(DemoService::class);
} }
/** /**
@@ -110,7 +111,7 @@ class PlanController extends Controller
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Update plan // Update plan
@@ -131,7 +132,7 @@ class PlanController extends Controller
public function delete($id) public function delete($id)
{ {
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Delete plan // Delete plan

View File

@@ -3,7 +3,7 @@
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Models\Setting; use App\Models\Setting;
use Artisan; use Artisan;
use Stripe; use Stripe;
@@ -13,6 +13,14 @@ use Symfony\Component\HttpKernel\Exception\HttpException;
class SettingController extends Controller class SettingController extends Controller
{ {
/**
* SettingController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/** /**
* Get table content * Get table content
* *
@@ -42,7 +50,7 @@ class SettingController extends Controller
public function update(Request $request) public function update(Request $request)
{ {
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Store image if exist // Store image if exist
@@ -77,7 +85,7 @@ class SettingController extends Controller
{ {
// TODO: pridat validator do requestu // TODO: pridat validator do requestu
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
if (!app()->runningUnitTests()) { if (!app()->runningUnitTests()) {
@@ -171,7 +179,7 @@ class SettingController extends Controller
public function flush_cache() public function flush_cache()
{ {
if (env('APP_DEMO')) { if (env('APP_DEMO')) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
if (!app()->runningUnitTests()) { if (!app()->runningUnitTests()) {

View File

@@ -7,7 +7,7 @@ use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest; use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest; use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest; use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Services\FileManagerService; use App\Services\FileManagerService;
use App\Services\HelperService; use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
@@ -29,6 +29,7 @@ class EditItemsController extends Controller
{ {
$this->filemanager = resolve(FileManagerService::class); $this->filemanager = resolve(FileManagerService::class);
$this->helper = resolve(HelperService::class); $this->helper = resolve(HelperService::class);
$this->demo = resolve(DemoService::class);
} }
/** /**
@@ -42,7 +43,7 @@ class EditItemsController extends Controller
{ {
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::create_folder($request); return $this->demo->create_folder($request);
} }
// Check permission to create folder for authenticated editor // Check permission to create folder for authenticated editor
@@ -74,7 +75,7 @@ class EditItemsController extends Controller
{ {
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::rename_item($request, $id); return $this->demo->rename_item($request, $id);
} }
// Check permission to rename item for authenticated editor // Check permission to rename item for authenticated editor
@@ -118,7 +119,7 @@ class EditItemsController extends Controller
{ {
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
foreach ($request->input('items') as $item) { foreach ($request->input('items') as $item) {
@@ -164,7 +165,7 @@ class EditItemsController extends Controller
{ {
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::upload($request); return $this->demo->upload($request);
} }
// Check permission to upload for authenticated editor // Check permission to upload for authenticated editor
@@ -195,7 +196,7 @@ class EditItemsController extends Controller
{ {
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
$to_id = $request->input('to_id'); $to_id = $request->input('to_id');

View File

@@ -2,7 +2,7 @@
namespace App\Http\Controllers\FileManager; namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Models\Folder; use App\Models\Folder;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@@ -11,6 +11,14 @@ use Illuminate\Http\Request;
class FavouriteController extends Controller class FavouriteController extends Controller
{ {
/**
* FavouriteController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/** /**
* Add folder to user favourites * Add folder to user favourites
* *
@@ -27,7 +35,7 @@ class FavouriteController extends Controller
$user = Auth::user(); $user = Auth::user();
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::favourites($user); return $this->demo->favourites($user);
} }
// Add folder to user favourites // Add folder to user favourites
@@ -52,7 +60,7 @@ class FavouriteController extends Controller
$user = Auth::user(); $user = Auth::user();
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::favourites($user); return $this->demo->favourites($user);
} }
// Remove folder from user favourites // Remove folder from user favourites

View File

@@ -2,7 +2,7 @@
namespace App\Http\Controllers\FileManager; namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo; use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
@@ -14,6 +14,14 @@ use App\Models\File;
class TrashController extends Controller class TrashController extends Controller
{ {
/**
* TrashController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/** /**
* Restore item from trash * Restore item from trash
* *
@@ -36,7 +44,7 @@ class TrashController extends Controller
$user_id = Auth::id(); $user_id = Auth::id();
if (is_demo($user_id)) { if (is_demo($user_id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
foreach ($request->input('items') as $restore) { foreach ($request->input('items') as $restore) {
@@ -89,7 +97,7 @@ class TrashController extends Controller
$user_id = Auth::id(); $user_id = Auth::id();
if (is_demo($user_id)) { if (is_demo($user_id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Get files and folders // Get files and folders

View File

@@ -8,9 +8,9 @@ use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest; use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest; use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest; use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Tools\Demo;
use App\Models\File; use App\Models\File;
use App\Models\Folder; use App\Models\Folder;
use App\Services\DemoService;
use App\Services\FileManagerService; use App\Services\FileManagerService;
use App\Services\HelperService; use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
@@ -27,6 +27,7 @@ class EditShareItemsController extends Controller
{ {
$this->filemanager = resolve(FileManagerService::class); $this->filemanager = resolve(FileManagerService::class);
$this->helper = resolve(HelperService::class); $this->helper = resolve(HelperService::class);
$this->demo = resolve(DemoService::class);
} }
/** /**
* Create new folder for guest user with edit permission * Create new folder for guest user with edit permission
@@ -41,7 +42,7 @@ class EditShareItemsController extends Controller
$shared = get_shared($token); $shared = get_shared($token);
if (is_demo($shared->user_id)) { if (is_demo($shared->user_id)) {
return Demo::create_folder($request); return $this->demo->create_folder($request);
} }
// Check shared permission // Check shared permission
@@ -74,7 +75,7 @@ class EditShareItemsController extends Controller
// Demo preview // Demo preview
if (is_demo($shared->user_id)) { if (is_demo($shared->user_id)) {
return Demo::rename_item($request, $id); return $this->demo->rename_item($request, $id);
} }
// Check shared permission // Check shared permission
@@ -124,7 +125,7 @@ class EditShareItemsController extends Controller
// Demo preview // Demo preview
if (is_demo($shared->user_id)) { if (is_demo($shared->user_id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Check shared permission // Check shared permission
@@ -166,7 +167,7 @@ class EditShareItemsController extends Controller
// Demo preview // Demo preview
if (is_demo($shared->user_id)) { if (is_demo($shared->user_id)) {
return Demo::upload($request); return $this->demo->upload($request);
} }
// Check shared permission // Check shared permission
@@ -201,7 +202,7 @@ class EditShareItemsController extends Controller
// Demo preview // Demo preview
if (is_demo(Auth::id())) { if (is_demo(Auth::id())) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Check shared permission // Check shared permission

View File

@@ -8,7 +8,7 @@ use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\StorageDetailResource; use App\Http\Resources\StorageDetailResource;
use App\Http\Resources\UserResource; use App\Http\Resources\UserResource;
use App\Http\Resources\UserStorageResource; use App\Http\Resources\UserStorageResource;
use App\Http\Tools\Demo; use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@@ -20,6 +20,14 @@ use App\Models\User;
class AccountController extends Controller class AccountController extends Controller
{ {
/**
* AccountController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/** /**
* Get all user data to frontend * Get all user data to frontend
* *
@@ -80,7 +88,7 @@ class AccountController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Update avatar // Update avatar
@@ -120,7 +128,7 @@ class AccountController extends Controller
$user = Auth::user(); $user = Auth::user();
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Change and store new password // Change and store new password

View File

@@ -7,7 +7,7 @@ use App\Http\Requests\Payments\RegisterNewPaymentMethodRequest;
use App\Http\Resources\PaymentCardCollection; use App\Http\Resources\PaymentCardCollection;
use App\Http\Resources\PaymentCardResource; use App\Http\Resources\PaymentCardResource;
use App\Http\Resources\PaymentDefaultCardResource; use App\Http\Resources\PaymentDefaultCardResource;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Services\StripeService; use App\Services\StripeService;
use Auth; use Auth;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -16,12 +16,11 @@ use Laravel\Cashier\PaymentMethod;
class PaymentMethodsController extends Controller class PaymentMethodsController extends Controller
{ {
/**
* PaymentMethodsController constructor.
*/
public function __construct(StripeService $stripe) public function __construct(StripeService $stripe)
{ {
$this->stripe = $stripe; $this->stripe = $stripe;
$this->demo = resolve(DemoService::class);
} }
/** /**
@@ -99,7 +98,7 @@ class PaymentMethodsController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Update DefaultPayment Method // Update DefaultPayment Method
@@ -149,7 +148,7 @@ class PaymentMethodsController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_with_no_content();
} }
// Get payment method // Get payment method

View File

@@ -5,18 +5,12 @@ namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\Subscription\StoreUpgradeAccountRequest; use App\Http\Requests\Subscription\StoreUpgradeAccountRequest;
use App\Http\Resources\UserSubscription; use App\Http\Resources\UserSubscription;
use App\Http\Tools\Demo; use App\Services\DemoService;
use App\Invoice;
use App\Models\User; use App\Models\User;
use App\Services\StripeService; use App\Services\StripeService;
use Auth; use Auth;
use Cartalyst\Stripe\Exception\CardErrorException;
use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Cache;
use Laravel\Cashier\Exceptions\IncompletePayment;
use Laravel\Cashier\Subscription;
use Symfony\Component\HttpKernel\Exception\HttpException;
class SubscriptionController extends Controller class SubscriptionController extends Controller
{ {
@@ -29,6 +23,7 @@ class SubscriptionController extends Controller
public function __construct(StripeService $stripe) public function __construct(StripeService $stripe)
{ {
$this->stripe = $stripe; $this->stripe = $stripe;
$this->demo = DemoService::class;
} }
/** /**
@@ -83,7 +78,7 @@ class SubscriptionController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_204();
} }
// Forget user subscription // Forget user subscription
@@ -120,7 +115,7 @@ class SubscriptionController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_204();
} }
// Cancel subscription // Cancel subscription
@@ -143,7 +138,7 @@ class SubscriptionController extends Controller
// Check if is demo // Check if is demo
if (is_demo($user->id)) { if (is_demo($user->id)) {
return Demo::response_204(); return $this->demo->response_204();
} }
// Resume subscription // Resume subscription

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Tools; namespace App\Services;
use App; use App;
use App\Models\Share; use App\Models\Share;
@@ -18,7 +18,7 @@ use Illuminate\Support\Str;
use Intervention\Image\ImageManagerStatic as Image; use Intervention\Image\ImageManagerStatic as Image;
class Demo class DemoService
{ {
/** /**
* Create new directory * Create new directory
@@ -27,7 +27,7 @@ class Demo
* @return array * @return array
* @throws \Exception * @throws \Exception
*/ */
public static function create_folder($request) function create_folder($request)
{ {
// Get variables // Get variables
$user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor'; $user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor';
@@ -56,7 +56,7 @@ class Demo
* @param $unique_id * @param $unique_id
* @return mixed * @return mixed
*/ */
public static function rename_item($request, $unique_id) function rename_item($request, $unique_id)
{ {
// Get item // Get item
if ($request->type === 'folder') { if ($request->type === 'folder') {
@@ -96,7 +96,7 @@ class Demo
* @return array * @return array
* @throws \Exception * @throws \Exception
*/ */
public static function upload($request) function upload($request)
{ {
// Get user data // Get user data
$user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor'; $user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor';
@@ -130,9 +130,8 @@ class Demo
* *
* @return ResponseFactory|\Illuminate\Http\Response * @return ResponseFactory|\Illuminate\Http\Response
*/ */
public static function response_204() function response_with_no_content()
{ {
return response('Done!', 204); return response('Done!', 204);
} }
@@ -141,9 +140,8 @@ class Demo
* *
* @return ResponseFactory|\Illuminate\Http\Response * @return ResponseFactory|\Illuminate\Http\Response
*/ */
public static function favourites($user) function favourites($user)
{ {
return $user->favouriteFolders->makeHidden(['pivot']); return $user->favouriteFolders->makeHidden(['pivot']);
} }
} }

View File

@@ -173,8 +173,7 @@ class FileManagerService
$name = $request->has('name') ? $request->input('name') : 'New Folder'; $name = $request->has('name') ? $request->input('name') : 'New Folder';
$user_id = is_null($shared) ? Auth::id() : $shared->user_id; $user_id = is_null($shared) ? Auth::id() : $shared->user_id;
// Create folder return Folder::create([
$folder = Folder::create([
'parent_id' => $request->parent_id, 'parent_id' => $request->parent_id,
'user_scope' => $user_scope, 'user_scope' => $user_scope,
'user_id' => $user_id, 'user_id' => $user_id,
@@ -182,10 +181,7 @@ class FileManagerService
'name' => $name, 'name' => $name,
'icon_color' => isset($request->icon['color']) ? $request->icon['color'] : null, 'icon_color' => isset($request->icon['color']) ? $request->icon['color'] : null,
'icon_emoji' => isset($request->icon['emoji']) ? $request->icon['emoji'] : null, 'icon_emoji' => isset($request->icon['emoji']) ? $request->icon['emoji'] : null,
]); ]);;
// Return new folder
return $folder;
} }
/** /**