mirror of
https://github.com/Poniverse/Pony.fm.git
synced 2024-11-24 14:08:00 +01:00
Laravel 5.5
This commit is contained in:
parent
0cc03b509b
commit
30f3ba952a
21 changed files with 693 additions and 322 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -10,3 +10,5 @@ Homestead.yaml
|
|||
_ide_helper.php
|
||||
.idea
|
||||
resources/views/emails/html
|
||||
+npm-debug.log
|
||||
+yarn-error.log
|
||||
|
|
|
@ -31,23 +31,7 @@ class Kernel extends ConsoleKernel
|
|||
* @var array
|
||||
*/
|
||||
protected $commands = [
|
||||
\Poniverse\Ponyfm\Console\Commands\MigrateOldData::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RefreshCache::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\ClassifyMLPMA::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildTags::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildArtists::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\BootstrapLocalEnvironment::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\PoniverseApiSetup::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\ClearTrackCache::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildTrackCache::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildTrack::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildFilesizes::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\RebuildSearchIndex::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\MergeAccounts::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\SyncPoniverseAccounts::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\FixMLPMAImages::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\VersionFiles::class,
|
||||
\Poniverse\Ponyfm\Console\Commands\ImportEQBeats::class,
|
||||
//
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -58,7 +42,10 @@ class Kernel extends ConsoleKernel
|
|||
*/
|
||||
protected function schedule(Schedule $schedule)
|
||||
{
|
||||
// $schedule->command('inspire')
|
||||
// ->hourly();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the Closure based commands for the application.
|
||||
*
|
||||
|
@ -66,6 +53,8 @@ class Kernel extends ConsoleKernel
|
|||
*/
|
||||
protected function commands()
|
||||
{
|
||||
$this->load(__DIR__.'/Commands');
|
||||
|
||||
require base_path('routes/console.php');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace Poniverse\Ponyfm\Exceptions;
|
|||
|
||||
use Exception;
|
||||
use Illuminate\Auth\AuthenticationException;
|
||||
use GrahamCampbell\Exceptions\NewExceptionHandler as ExceptionHandler;
|
||||
use GrahamCampbell\Exceptions\ExceptionHandler;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
|
@ -32,12 +32,20 @@ class Handler extends ExceptionHandler
|
|||
* @var array
|
||||
*/
|
||||
protected $dontReport = [
|
||||
\Illuminate\Auth\AuthenticationException::class,
|
||||
\Illuminate\Auth\Access\AuthorizationException::class,
|
||||
\Illuminate\Validation\ValidationException::class,
|
||||
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
||||
//
|
||||
];
|
||||
|
||||
/**
|
||||
* A list of the inputs that are never flashed for validation exceptions.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dontFlash = [
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* Report or log an exception.
|
||||
*
|
||||
|
@ -62,19 +70,4 @@ class Handler extends ExceptionHandler
|
|||
{
|
||||
return parent::render($request, $e);
|
||||
}
|
||||
/**
|
||||
* Convert an authentication exception into an unauthenticated response.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Illuminate\Auth\AuthenticationException $e
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
protected function unauthenticated($request, AuthenticationException $e)
|
||||
{
|
||||
if ($request->expectsJson()) {
|
||||
return response()->json(['error' => 'Unauthenticated.'], 401);
|
||||
} else {
|
||||
return redirect()->guest(route('login'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ class TracksController extends Controller
|
|||
|
||||
public function getOembed(Request $request)
|
||||
{
|
||||
if (!$request->has('url')) {
|
||||
if (!$request->filled('url')) {
|
||||
App::abort(404);
|
||||
}
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ class Kernel extends HttpKernel
|
|||
'can' => \Poniverse\Ponyfm\Http\Middleware\Authorize::class,
|
||||
'json-exceptions' => \Poniverse\Ponyfm\Http\Middleware\JsonExceptions::class,
|
||||
'guest' => \Poniverse\Ponyfm\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'cors' => \Barryvdh\Cors\HandleCors::class,
|
||||
];
|
||||
}
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
|
||||
namespace Poniverse\Ponyfm\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
|
||||
class EncryptCookies extends BaseEncrypter
|
||||
class EncryptCookies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
|
||||
namespace Poniverse\Ponyfm\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||
|
||||
class VerifyCsrfToken extends BaseVerifier
|
||||
class VerifyCsrfToken extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
|
|
4
artisan
4
artisan
|
@ -1,6 +1,8 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
define('LARAVEL_START', microtime(true));
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register The Auto Loader
|
||||
|
@ -13,7 +15,7 @@
|
|||
|
|
||||
*/
|
||||
|
||||
require __DIR__.'/bootstrap/autoload.php';
|
||||
require __DIR__.'/vendor/autoload.php';
|
||||
|
||||
$app = require_once __DIR__.'/bootstrap/app.php';
|
||||
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
<?php
|
||||
|
||||
define('LARAVEL_START', microtime(true));
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register The Composer Auto Loader
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Composer provides a convenient, automatically generated class loader
|
||||
| for our application. We just need to utilize it! We'll require it
|
||||
| into the script here so that we do not have to worry about the
|
||||
| loading of any our classes "manually". Feels great to relax.
|
||||
|
|
||||
*/
|
||||
|
||||
require __DIR__.'/../vendor/autoload.php';
|
|
@ -11,7 +11,7 @@
|
|||
"type": "project",
|
||||
"require": {
|
||||
"php": ">=7.0.1",
|
||||
"laravel/framework": "5.4.*",
|
||||
"laravel/framework": "5.5.*",
|
||||
"codescale/ffmpeg-php": "2.7.0",
|
||||
"intouch/laravel-newrelic": "*",
|
||||
"barryvdh/laravel-ide-helper": "^2.1",
|
||||
|
@ -23,22 +23,22 @@
|
|||
"barryvdh/laravel-debugbar": "~2.4",
|
||||
"predis/predis": "^1.0",
|
||||
"ksubileau/color-thief-php": "^1.3",
|
||||
"graham-campbell/exceptions": "^9.1",
|
||||
"graham-campbell/exceptions": "^10.0",
|
||||
"minishlink/web-push": "^1.0",
|
||||
"alsofronie/eloquent-uuid": "^1.0",
|
||||
"poniverse/api": "dev-rewrite",
|
||||
"barryvdh/laravel-cors": "^0.8.2",
|
||||
"poniverse/api": "dev-patch-1",
|
||||
"barryvdh/laravel-cors": "^0.10",
|
||||
"laravel/tinker": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fzaninotto/faker": "~1.4",
|
||||
"mockery/mockery": "0.9.*",
|
||||
"phpunit/phpunit": "~5.0",
|
||||
"mockery/mockery": "~1.0",
|
||||
"phpunit/phpunit": "~6.0",
|
||||
"phpspec/phpspec": "~2.1",
|
||||
"filp/whoops": "^2.1",
|
||||
"symfony/dom-crawler": "~3.1",
|
||||
"symfony/css-selector": "~3.1",
|
||||
"laravel/browser-kit-testing": "1.*",
|
||||
"laravel/browser-kit-testing": "2.*",
|
||||
"nategood/httpful": "^0.2.20"
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -58,23 +58,33 @@
|
|||
}
|
||||
},
|
||||
"scripts": {
|
||||
"post-install-cmd": [
|
||||
"Illuminate\\Foundation\\ComposerScripts::postInstall",
|
||||
"php artisan optimize"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
|
||||
"php artisan ide-helper:generate",
|
||||
"php artisan optimize"
|
||||
],
|
||||
"post-root-package-install": [
|
||||
"php -r \"copy('.env.example', '.env');\""
|
||||
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
||||
],
|
||||
"post-create-project-cmd": [
|
||||
"php artisan key:generate"
|
||||
"@php artisan key:generate"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"php artisan ide-helper:generate"
|
||||
],
|
||||
"post-autoload-dump": [
|
||||
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||
"@php artisan package:discover"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"preferred-install": "dist"
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"dont-discover": [
|
||||
]
|
||||
}
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/Lavoaster/poniverse-php"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
800
composer.lock
generated
800
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -165,13 +165,9 @@ return [
|
|||
Poniverse\Ponyfm\Providers\AuthServiceProvider::class,
|
||||
Poniverse\Ponyfm\Providers\NotificationServiceProvider::class,
|
||||
|
||||
Laravel\Tinker\TinkerServiceProvider::class,
|
||||
Intouch\LaravelNewrelic\NewrelicServiceProvider::class,
|
||||
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
|
||||
Cviebrock\LaravelElasticsearch\ServiceProvider::class,
|
||||
GrahamCampbell\Exceptions\ExceptionsServiceProvider::class,
|
||||
Poniverse\Lib\PoniverseServiceProvider::class,
|
||||
Barryvdh\Cors\ServiceProvider::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
|
@ -86,6 +86,9 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'prefix' => 'ponyfm_',
|
||||
'prefix' => env(
|
||||
'CACHE_PREFIX',
|
||||
'ponyfm_'
|
||||
),
|
||||
|
||||
];
|
||||
|
|
|
@ -13,7 +13,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'default' => 'local',
|
||||
'default' => env('FILESYSTEM_DRIVER', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -26,7 +26,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'cloud' => 's3',
|
||||
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -62,9 +62,9 @@ return [
|
|||
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
'key' => env('AWS_KEY'),
|
||||
'secret' => env('AWS_SECRET'),
|
||||
'region' => env('AWS_REGION'),
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION'),
|
||||
'bucket' => env('AWS_BUCKET'),
|
||||
],
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'lifetime' => 120,
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
|
||||
'expire_on_close' => false,
|
||||
|
||||
|
@ -109,7 +109,10 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'cookie' => 'IfYouAreReadingThisWeWantToWorkWithYou_PleaseDropAnEmailTo_HelloAtPoniverseDotNet',
|
||||
'cookie' => env(
|
||||
'SESSION_COOKIE',
|
||||
'IfYouAreReadingThisWeWantToWorkWithYou_PleaseDropAnEmailTo_HelloAtPoniverseDotNet'
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -163,4 +166,19 @@ return [
|
|||
|
||||
'http_only' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Same-Site Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option determines how your cookies behave when cross-site requests
|
||||
| take place, and can be used to mitigate CSRF attacks. By default, we
|
||||
| do not enable this as other CSRF protection services are in place.
|
||||
|
|
||||
| Supported: "lax", "strict"
|
||||
|
|
||||
*/
|
||||
|
||||
'same_site' => null,
|
||||
|
||||
];
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
| Model Factories
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of your model factories. Model factories give
|
||||
| you a convenient way to create models for testing and seeding your
|
||||
| database. Just tell the factory how a default model should look.
|
||||
| This directory should contain each of the model factory definitions for
|
||||
| your application. Factories provide a convenient way to generate new
|
||||
| model instances for testing / seeding your application's database.
|
||||
|
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit backupGlobals="false"
|
||||
backupStaticAttributes="false"
|
||||
bootstrap="bootstrap/autoload.php"
|
||||
bootstrap="vendor/autoload.php"
|
||||
colors="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
* @author Taylor Otwell <taylor@laravel.com>
|
||||
*/
|
||||
|
||||
define('LARAVEL_START', microtime(true));
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register The Auto Loader
|
||||
|
@ -19,7 +21,7 @@
|
|||
|
|
||||
*/
|
||||
|
||||
require __DIR__.'/../bootstrap/autoload.php';
|
||||
require __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
2
storage/debugbar/.gitignore
vendored
Normal file
2
storage/debugbar/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*
|
||||
!.gitignore
|
|
@ -20,9 +20,7 @@ namespace Tests;
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
use Poniverse\Lib\AccessToken;
|
||||
use Poniverse\Ponyfm\Models\User;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace Tests;
|
||||
|
||||
use Illuminate\Contracts\Console\Kernel;
|
||||
use Storage;
|
||||
use Laravel\BrowserKitTesting\TestCase as BaseTestCase;
|
||||
use Poniverse\Ponyfm\Models\User;
|
||||
|
||||
|
@ -53,18 +54,17 @@ class TestCase extends BaseTestCase
|
|||
|
||||
$app->make(Kernel::class)->bootstrap();
|
||||
|
||||
$this->getTestFiles();
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* @before
|
||||
*/
|
||||
public function initializeTestFiles()
|
||||
public function getTestFiles()
|
||||
{
|
||||
// Ensure we have the Pony.fm test files
|
||||
if (!static::$initializedFiles) {
|
||||
\Storage::disk('local')->makeDirectory('test-files');
|
||||
$storage = \Storage::disk('testing');
|
||||
Storage::disk('local')->makeDirectory('test-files');
|
||||
$storage = Storage::disk('testing');
|
||||
|
||||
// To add new test files, upload them to poniverse.net/files
|
||||
// and add them here with their last-modified date as a Unix
|
||||
|
@ -107,7 +107,7 @@ class TestCase extends BaseTestCase
|
|||
|
||||
public function tearDown()
|
||||
{
|
||||
\Storage::disk('local')->deleteDirectory('testing-datastore');
|
||||
Storage::disk('local')->deleteDirectory('testing-datastore');
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
|
@ -125,8 +125,8 @@ class TestCase extends BaseTestCase
|
|||
*/
|
||||
public function getTestFileForUpload($filename)
|
||||
{
|
||||
\Storage::disk('local')->makeDirectory('testing-datastore/tmp');
|
||||
\Storage::disk('local')->copy("test-files/${filename}", "testing-datastore/tmp/${filename}");
|
||||
Storage::disk('local')->makeDirectory('testing-datastore/tmp');
|
||||
Storage::disk('local')->copy("test-files/${filename}", "testing-datastore/tmp/${filename}");
|
||||
|
||||
return new \Illuminate\Http\UploadedFile(storage_path("app/testing-datastore/tmp/${filename}"), $filename, null, null, null, true);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue