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
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Resources\PageCollection;
use App\Http\Resources\PageResource;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Models\Page;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
@@ -13,6 +13,11 @@ use Illuminate\Http\Response;
class PagesController extends Controller
{
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/**
* Get all pages
*
@@ -47,7 +52,7 @@ class PagesController extends Controller
public function update(Request $request, Page $page)
{
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
$page->update(
@@ -7,7 +7,7 @@ use App\Http\Resources\PlanCollection;
use App\Http\Resources\PlanResource;
use App\Http\Resources\UserResource;
use App\Http\Resources\UsersCollection;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Models\Plan;
use App\Services\StripeService;
use App\Models\User;
@@ -27,6 +27,7 @@ class PlanController extends Controller
public function __construct(StripeService $stripe)
{
$this->stripe = $stripe;
$this->demo = resolve(DemoService::class);
}
/**
@@ -110,7 +111,7 @@ class PlanController extends Controller
public function update(Request $request, $id)
{
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Update plan
@@ -131,7 +132,7 @@ class PlanController extends Controller
public function delete($id)
{
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Delete plan
@@ -3,7 +3,7 @@
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Models\Setting;
use Artisan;
use Stripe;
@@ -13,6 +13,14 @@ use Symfony\Component\HttpKernel\Exception\HttpException;
class SettingController extends Controller
{
/**
* SettingController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/**
* Get table content
*
@@ -42,7 +50,7 @@ class SettingController extends Controller
public function update(Request $request)
{
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Store image if exist
@@ -77,7 +85,7 @@ class SettingController extends Controller
{
// TODO: pridat validator do requestu
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
if (!app()->runningUnitTests()) {
@@ -171,7 +179,7 @@ class SettingController extends Controller
public function flush_cache()
{
if (env('APP_DEMO')) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
if (!app()->runningUnitTests()) {
@@ -7,7 +7,7 @@ use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Services\FileManagerService;
use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory;
@@ -29,6 +29,7 @@ class EditItemsController extends Controller
{
$this->filemanager = resolve(FileManagerService::class);
$this->helper = resolve(HelperService::class);
$this->demo = resolve(DemoService::class);
}
/**
@@ -42,7 +43,7 @@ class EditItemsController extends Controller
{
// Demo preview
if (is_demo(Auth::id())) {
return Demo::create_folder($request);
return $this->demo->create_folder($request);
}
// Check permission to create folder for authenticated editor
@@ -74,7 +75,7 @@ class EditItemsController extends Controller
{
// Demo preview
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
@@ -118,7 +119,7 @@ class EditItemsController extends Controller
{
// Demo preview
if (is_demo(Auth::id())) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
foreach ($request->input('items') as $item) {
@@ -164,7 +165,7 @@ class EditItemsController extends Controller
{
// Demo preview
if (is_demo(Auth::id())) {
return Demo::upload($request);
return $this->demo->upload($request);
}
// Check permission to upload for authenticated editor
@@ -195,7 +196,7 @@ class EditItemsController extends Controller
{
// Demo preview
if (is_demo(Auth::id())) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
$to_id = $request->input('to_id');
@@ -2,7 +2,7 @@
namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Models\Folder;
use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller;
@@ -11,6 +11,14 @@ use Illuminate\Http\Request;
class FavouriteController extends Controller
{
/**
* FavouriteController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/**
* Add folder to user favourites
*
@@ -27,7 +35,7 @@ class FavouriteController extends Controller
$user = Auth::user();
if (is_demo($user->id)) {
return Demo::favourites($user);
return $this->demo->favourites($user);
}
// Add folder to user favourites
@@ -52,7 +60,7 @@ class FavouriteController extends Controller
$user = Auth::user();
if (is_demo($user->id)) {
return Demo::favourites($user);
return $this->demo->favourites($user);
}
// Remove folder from user favourites
@@ -2,7 +2,7 @@
namespace App\Http\Controllers\FileManager;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
@@ -14,6 +14,14 @@ use App\Models\File;
class TrashController extends Controller
{
/**
* TrashController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/**
* Restore item from trash
*
@@ -36,7 +44,7 @@ class TrashController extends Controller
$user_id = Auth::id();
if (is_demo($user_id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
foreach ($request->input('items') as $restore) {
@@ -89,7 +97,7 @@ class TrashController extends Controller
$user_id = Auth::id();
if (is_demo($user_id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Get files and folders
@@ -8,9 +8,9 @@ use App\Http\Requests\FileFunctions\DeleteItemRequest;
use App\Http\Requests\FileFunctions\MoveItemRequest;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Http\Requests\FileFunctions\UploadRequest;
use App\Http\Tools\Demo;
use App\Models\File;
use App\Models\Folder;
use App\Services\DemoService;
use App\Services\FileManagerService;
use App\Services\HelperService;
use Illuminate\Contracts\Routing\ResponseFactory;
@@ -27,6 +27,7 @@ class EditShareItemsController extends Controller
{
$this->filemanager = resolve(FileManagerService::class);
$this->helper = resolve(HelperService::class);
$this->demo = resolve(DemoService::class);
}
/**
* Create new folder for guest user with edit permission
@@ -41,7 +42,7 @@ class EditShareItemsController extends Controller
$shared = get_shared($token);
if (is_demo($shared->user_id)) {
return Demo::create_folder($request);
return $this->demo->create_folder($request);
}
// Check shared permission
@@ -74,7 +75,7 @@ class EditShareItemsController extends Controller
// Demo preview
if (is_demo($shared->user_id)) {
return Demo::rename_item($request, $id);
return $this->demo->rename_item($request, $id);
}
// Check shared permission
@@ -124,7 +125,7 @@ class EditShareItemsController extends Controller
// Demo preview
if (is_demo($shared->user_id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Check shared permission
@@ -166,7 +167,7 @@ class EditShareItemsController extends Controller
// Demo preview
if (is_demo($shared->user_id)) {
return Demo::upload($request);
return $this->demo->upload($request);
}
// Check shared permission
@@ -201,7 +202,7 @@ class EditShareItemsController extends Controller
// Demo preview
if (is_demo(Auth::id())) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Check shared permission
@@ -8,7 +8,7 @@ use App\Http\Resources\InvoiceCollection;
use App\Http\Resources\StorageDetailResource;
use App\Http\Resources\UserResource;
use App\Http\Resources\UserStorageResource;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Validator;
use App\Http\Controllers\Controller;
@@ -20,6 +20,14 @@ use App\Models\User;
class AccountController extends Controller
{
/**
* AccountController constructor.
*/
public function __construct()
{
$this->demo = resolve(DemoService::class);
}
/**
* Get all user data to frontend
*
@@ -80,7 +88,7 @@ class AccountController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Update avatar
@@ -120,7 +128,7 @@ class AccountController extends Controller
$user = Auth::user();
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Change and store new password
@@ -7,7 +7,7 @@ use App\Http\Requests\Payments\RegisterNewPaymentMethodRequest;
use App\Http\Resources\PaymentCardCollection;
use App\Http\Resources\PaymentCardResource;
use App\Http\Resources\PaymentDefaultCardResource;
use App\Http\Tools\Demo;
use App\Services\DemoService;
use App\Services\StripeService;
use Auth;
use Illuminate\Http\Request;
@@ -16,12 +16,11 @@ use Laravel\Cashier\PaymentMethod;
class PaymentMethodsController extends Controller
{
/**
* PaymentMethodsController constructor.
*/
public function __construct(StripeService $stripe)
{
$this->stripe = $stripe;
$this->demo = resolve(DemoService::class);
}
/**
@@ -99,7 +98,7 @@ class PaymentMethodsController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Update DefaultPayment Method
@@ -149,7 +148,7 @@ class PaymentMethodsController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_with_no_content();
}
// Get payment method
@@ -5,18 +5,12 @@ namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\Subscription\StoreUpgradeAccountRequest;
use App\Http\Resources\UserSubscription;
use App\Http\Tools\Demo;
use App\Invoice;
use App\Services\DemoService;
use App\Models\User;
use App\Services\StripeService;
use Auth;
use Cartalyst\Stripe\Exception\CardErrorException;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Laravel\Cashier\Exceptions\IncompletePayment;
use Laravel\Cashier\Subscription;
use Symfony\Component\HttpKernel\Exception\HttpException;
class SubscriptionController extends Controller
{
@@ -29,6 +23,7 @@ class SubscriptionController extends Controller
public function __construct(StripeService $stripe)
{
$this->stripe = $stripe;
$this->demo = DemoService::class;
}
/**
@@ -83,7 +78,7 @@ class SubscriptionController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_204();
}
// Forget user subscription
@@ -120,7 +115,7 @@ class SubscriptionController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_204();
}
// Cancel subscription
@@ -143,7 +138,7 @@ class SubscriptionController extends Controller
// Check if is demo
if (is_demo($user->id)) {
return Demo::response_204();
return $this->demo->response_204();
}
// Resume subscription
-149
View File
@@ -1,149 +0,0 @@
<?php
namespace App\Http\Tools;
use App;
use App\Models\Share;
use App\Models\File;
use App\Models\Folder;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\Models\User;
use ByteUnits\Metric;
use Carbon\Carbon;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\ImageManagerStatic as Image;
class Demo
{
/**
* Create new directory
*
* @param $request
* @return array
* @throws \Exception
*/
public static function create_folder($request)
{
// Get variables
$user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor';
$name = $request->has('name') ? $request->input('name') : 'New Folder';
return [
'user_id' => 1,
'id' => random_int(1000, 9999),
'parent_id' => random_int(1000, 9999),
'name' => $name,
'type' => 'folder',
'unique_id' => random_int(1000, 9999),
'user_scope' => $user_scope,
'items' => '0',
'icon_color' => isset($request->icon['color']) ? $request->icon['color'] : null,
'icon_emoji' => isset($request->icon['emoji']) ? $request->icon['emoji'] : null,
'updated_at' => Carbon::now()->format('j M Y \a\t H:i'),
'created_at' => Carbon::now()->format('j M Y \a\t H:i'),
];
}
/**
* Rename item name
*
* @param RenameItemRequest $request
* @param $unique_id
* @return mixed
*/
public static function rename_item($request, $unique_id)
{
// Get item
if ($request->type === 'folder') {
$item = Folder::where('unique_id', $unique_id)
->where('user_id', 1)
->first();
} else {
$item = File::where('unique_id', $unique_id)
->where('user_id', 1)
->first();
}
if ($item) {
$item->name = $request->name;
$item->icon_emoji = $request->icon['emoji'] ?? null;
$item->icon_color = $request->icon['color'] ?? null;
return $item;
} else {
return [
'unique_id' => $request->unique_id,
'name' => $request->name,
'type' => $request->type,
];
}
}
/**
* Upload file
*
* @param $request
* @return array
* @throws \Exception
*/
public static function upload($request)
{
// Get user data
$user_scope = $request->user() ? $request->user()->token()->scopes[0] : 'editor';
// File
$file = $request->file('file');
$filename = Str::random() . '-' . str_replace(' ', '', $file->getClientOriginalName());
$thumbnail = null;
$filesize = $file->getSize();
$filetype = get_file_type($file->getMimeType());
return [
'id' => random_int(1000, 9999),
'unique_id' => random_int(1000, 9999),
'folder_id' => $request->parent_id,
'thumbnail' => 'data:' . $request->file('file')->getMimeType() . ';base64, ' . base64_encode(file_get_contents($request->file('file'))),
'name' => $file->getClientOriginalName(),
'basename' => $filename,
'mimetype' => $file->getClientOriginalExtension(),
'filesize' => Metric::bytes($filesize)->format(),
'type' => $filetype,
'file_url' => 'https://vuefilemanager.hi5ve.digital/assets/vue-file-manager-preview.jpg',
'user_scope' => $user_scope,
'created_at' => Carbon::now()->format('j M Y \a\t H:i'),
'updated_at' => Carbon::now()->format('j M Y \a\t H:i'),
];
}
/**
* Return 204 status
*
* @return ResponseFactory|\Illuminate\Http\Response
*/
public static function response_204()
{
return response('Done!', 204);
}
/**
* Return 204 status
*
* @return ResponseFactory|\Illuminate\Http\Response
*/
public static function favourites($user)
{
return $user->favouriteFolders->makeHidden(['pivot']);
}
}