updated methods, routes to work with InfinityFree
This commit is contained in:
parent
d172d1fce5
commit
90389e73b0
31 changed files with 349 additions and 84 deletions
10
.htaccess
Normal file
10
.htaccess
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
# handle non https traffic
|
||||||
|
RewriteCond %{HTTP:X-Forwarded-Proto} !https
|
||||||
|
RewriteCond %{HTTPS} off
|
||||||
|
RewriteCond %{HTTP:CF-Visitor} !{"scheme":"https"}
|
||||||
|
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
||||||
|
|
||||||
|
# redirect to /public/ for laravel to take over
|
||||||
|
RewriteRule (.*) /public/$1 [L]
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
# laravel-vue-file-share
|
# laravel-vue-file-share
|
||||||
|
|
||||||
Dropbox/Google Drive-esque file sharing application implemented in Laravel, PHP, Inertia, Vue, Headless-UI and Tailwind CSS. Uses Mitt for firing events and passing data. Uses MariaDB and Amazon AWS S3 for storing and retrieving files. Hosted on InfinityFree
|
Dropbox/Google Drive-esque file sharing application implemented in Laravel, PHP, Inertia, Vue, Headless-UI and Tailwind CSS. Uses Mitt for firing events and passing data. Uses MariaDB and Amazon AWS S3 for storing and retrieving files. [Hosted on InfinityFree](https://drive.42web.io)
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@ use App\Http\Requests\SharedFiles;
|
||||||
|
|
||||||
use App\Http\Resources\FileResource;
|
use App\Http\Resources\FileResource;
|
||||||
|
|
||||||
use App\Jobs\UploadToS3;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
@ -1019,16 +1017,13 @@ class FileController extends Controller
|
||||||
// loop over files, make and upload each one
|
// loop over files, make and upload each one
|
||||||
foreach ($files as $userFile) {
|
foreach ($files as $userFile) {
|
||||||
$file = new File();
|
$file = new File();
|
||||||
$file->stored_at = $userFile->store('/files/' . Auth::id(), 'local');
|
$file->stored_at = $userFile->store('/files/' . Auth::id(), 's3');
|
||||||
$file->is_folder = false;
|
$file->is_folder = false;
|
||||||
$file->name = $userFile->getClientOriginalName();
|
$file->name = $userFile->getClientOriginalName();
|
||||||
$file->mimetype = $userFile->getMimeType();
|
$file->mimetype = $userFile->getMimeType();
|
||||||
$file->size = $userFile->getSize();
|
$file->size = $userFile->getSize();
|
||||||
$file->s3 = 0; // file has NOT been uploaded to s3
|
$file->s3 = 1; // file has NOT been uploaded to s3
|
||||||
$parent->appendNode($file);
|
$parent->appendNode($file);
|
||||||
|
|
||||||
// upload file to S3
|
|
||||||
UploadToS3::dispatch($file);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Jobs;
|
|
||||||
|
|
||||||
use Illuminate\Bus\Queueable;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldBeUnique;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Foundation\Bus\Dispatchable;
|
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
|
||||||
use Illuminate\Queue\SerializesModels;
|
|
||||||
use App\Models\File;
|
|
||||||
use Illuminate\Support\Facades\Storage;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
|
||||||
|
|
||||||
class UploadToS3 implements ShouldQueue
|
|
||||||
{
|
|
||||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
|
||||||
|
|
||||||
protected File $file;
|
|
||||||
/**
|
|
||||||
* Create a new job instance.
|
|
||||||
*/
|
|
||||||
public function __construct(File $file)
|
|
||||||
{
|
|
||||||
$this->file = $file;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute the job.
|
|
||||||
*/
|
|
||||||
public function handle(): void
|
|
||||||
{
|
|
||||||
// get file from constructor
|
|
||||||
$file = $this->file;
|
|
||||||
|
|
||||||
// if the file has not been uploaded to S3
|
|
||||||
if (!$file->s3) {
|
|
||||||
$localPath = Storage::disk('local')->path($file->stored_at);
|
|
||||||
Log::debug("File at " . $localPath . " being uploaded to S3");
|
|
||||||
|
|
||||||
// upload file to S3
|
|
||||||
try {
|
|
||||||
// upload to S3 with the "stored_at" path. get file from 'local' disk at the "stored_at" path.
|
|
||||||
$stored = Storage::put($file->stored_at, Storage::disk('local')->get($file->stored_at));
|
|
||||||
// if storing is successful, change DB and output log message
|
|
||||||
if ($stored) {
|
|
||||||
Log::debug("File uploaded to S3");
|
|
||||||
$file->s3 = 1;
|
|
||||||
$file->saveQuietly();
|
|
||||||
}
|
|
||||||
// else file storing on S3 was not successful.
|
|
||||||
else {
|
|
||||||
Log::error("File upload to S3 was unsuccessful");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (\Exception $exception) {
|
|
||||||
Log::error($exception->getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// else do nothing
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
"laravel/framework": "^8.75",
|
"laravel/framework": "^8.75",
|
||||||
"laravel/sanctum": "^2.8",
|
"laravel/sanctum": "^2.8",
|
||||||
"laravel/tinker": "^2.5",
|
"laravel/tinker": "^2.5",
|
||||||
|
"league/flysystem-aws-s3-v3": "^1.0",
|
||||||
"tightenco/ziggy": "^1.0"
|
"tightenco/ziggy": "^1.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
|
|
||||||
282
composer.lock
generated
282
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "91152aade332dbb2efa7abef97d6e312",
|
"content-hash": "455fb1fc5bc52a2e2d6f99a82477798e",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "asm89/stack-cors",
|
"name": "asm89/stack-cors",
|
||||||
|
|
@ -62,6 +62,155 @@
|
||||||
},
|
},
|
||||||
"time": "2022-01-18T09:12:03+00:00"
|
"time": "2022-01-18T09:12:03+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "aws/aws-crt-php",
|
||||||
|
"version": "v1.2.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/awslabs/aws-crt-php.git",
|
||||||
|
"reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/2f1dc7b7eda080498be96a4a6d683a41583030e9",
|
||||||
|
"reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.5"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.8.35||^5.6.3||^9.5",
|
||||||
|
"yoast/phpunit-polyfills": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"src/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"Apache-2.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "AWS SDK Common Runtime Team",
|
||||||
|
"email": "aws-sdk-common-runtime@amazon.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "AWS Common Runtime for PHP",
|
||||||
|
"homepage": "https://github.com/awslabs/aws-crt-php",
|
||||||
|
"keywords": [
|
||||||
|
"amazon",
|
||||||
|
"aws",
|
||||||
|
"crt",
|
||||||
|
"sdk"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/awslabs/aws-crt-php/issues",
|
||||||
|
"source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.2"
|
||||||
|
},
|
||||||
|
"time": "2023-07-20T16:49:55+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "aws/aws-sdk-php",
|
||||||
|
"version": "3.283.9",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||||
|
"reference": "0233b9f3f2155dac35c829ce4fc1b7cdb6ff8c0a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0233b9f3f2155dac35c829ce4fc1b7cdb6ff8c0a",
|
||||||
|
"reference": "0233b9f3f2155dac35c829ce4fc1b7cdb6ff8c0a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"aws/aws-crt-php": "^1.0.4",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-pcre": "*",
|
||||||
|
"ext-simplexml": "*",
|
||||||
|
"guzzlehttp/guzzle": "^6.5.8 || ^7.4.5",
|
||||||
|
"guzzlehttp/promises": "^1.4.0 || ^2.0",
|
||||||
|
"guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
|
||||||
|
"mtdowling/jmespath.php": "^2.6",
|
||||||
|
"php": ">=7.2.5",
|
||||||
|
"psr/http-message": "^1.0 || ^2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"andrewsville/php-token-reflection": "^1.4",
|
||||||
|
"aws/aws-php-sns-message-validator": "~1.0",
|
||||||
|
"behat/behat": "~3.0",
|
||||||
|
"composer/composer": "^1.10.22",
|
||||||
|
"dms/phpunit-arraysubset-asserts": "^0.4.0",
|
||||||
|
"doctrine/cache": "~1.4",
|
||||||
|
"ext-dom": "*",
|
||||||
|
"ext-openssl": "*",
|
||||||
|
"ext-pcntl": "*",
|
||||||
|
"ext-sockets": "*",
|
||||||
|
"nette/neon": "^2.3",
|
||||||
|
"paragonie/random_compat": ">= 2",
|
||||||
|
"phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
|
||||||
|
"psr/cache": "^1.0",
|
||||||
|
"psr/simple-cache": "^1.0",
|
||||||
|
"sebastian/comparator": "^1.2.3 || ^4.0",
|
||||||
|
"yoast/phpunit-polyfills": "^1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"aws/aws-php-sns-message-validator": "To validate incoming SNS notifications",
|
||||||
|
"doctrine/cache": "To use the DoctrineCacheAdapter",
|
||||||
|
"ext-curl": "To send requests using cURL",
|
||||||
|
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
|
||||||
|
"ext-sockets": "To use client-side monitoring"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/functions.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Aws\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"Apache-2.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Amazon Web Services",
|
||||||
|
"homepage": "http://aws.amazon.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
|
||||||
|
"homepage": "http://aws.amazon.com/sdkforphp",
|
||||||
|
"keywords": [
|
||||||
|
"amazon",
|
||||||
|
"aws",
|
||||||
|
"cloud",
|
||||||
|
"dynamodb",
|
||||||
|
"ec2",
|
||||||
|
"glacier",
|
||||||
|
"s3",
|
||||||
|
"sdk"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||||
|
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
||||||
|
"source": "https://github.com/aws/aws-sdk-php/tree/3.283.9"
|
||||||
|
},
|
||||||
|
"time": "2023-10-20T20:03:26+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
"version": "0.9.3",
|
"version": "0.9.3",
|
||||||
|
|
@ -1801,6 +1950,71 @@
|
||||||
],
|
],
|
||||||
"time": "2022-10-04T09:16:37+00:00"
|
"time": "2022-10-04T09:16:37+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "league/flysystem-aws-s3-v3",
|
||||||
|
"version": "1.0.30",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
|
||||||
|
"reference": "af286f291ebab6877bac0c359c6c2cb017eb061d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/af286f291ebab6877bac0c359c6c2cb017eb061d",
|
||||||
|
"reference": "af286f291ebab6877bac0c359c6c2cb017eb061d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"aws/aws-sdk-php": "^3.20.0",
|
||||||
|
"league/flysystem": "^1.0.40",
|
||||||
|
"php": ">=5.5.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"henrikbjorn/phpspec-code-coverage": "~1.0.1",
|
||||||
|
"phpspec/phpspec": "^2.0.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "1.0-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"League\\Flysystem\\AwsS3v3\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Frank de Jonge",
|
||||||
|
"email": "info@frenky.net"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Flysystem adapter for the AWS S3 SDK v3.x",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues",
|
||||||
|
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/1.0.30"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://offset.earth/frankdejonge",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/frankdejonge",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/league/flysystem",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2022-07-02T13:51:38+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "league/mime-type-detection",
|
"name": "league/mime-type-detection",
|
||||||
"version": "1.14.0",
|
"version": "1.14.0",
|
||||||
|
|
@ -1959,6 +2173,72 @@
|
||||||
],
|
],
|
||||||
"time": "2023-02-06T13:44:46+00:00"
|
"time": "2023-02-06T13:44:46+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "mtdowling/jmespath.php",
|
||||||
|
"version": "2.7.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/jmespath/jmespath.php.git",
|
||||||
|
"reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b",
|
||||||
|
"reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2.5 || ^8.0",
|
||||||
|
"symfony/polyfill-mbstring": "^1.17"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"composer/xdebug-handler": "^3.0.3",
|
||||||
|
"phpunit/phpunit": "^8.5.33"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/jp.php"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.7-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/JmesPath.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"JmesPath\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Graham Campbell",
|
||||||
|
"email": "hello@gjcampbell.co.uk",
|
||||||
|
"homepage": "https://github.com/GrahamCampbell"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Michael Dowling",
|
||||||
|
"email": "mtdowling@gmail.com",
|
||||||
|
"homepage": "https://github.com/mtdowling"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Declaratively specify how to extract elements from a JSON document",
|
||||||
|
"keywords": [
|
||||||
|
"json",
|
||||||
|
"jsonpath"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/jmespath/jmespath.php/issues",
|
||||||
|
"source": "https://github.com/jmespath/jmespath.php/tree/2.7.0"
|
||||||
|
},
|
||||||
|
"time": "2023-08-25T10:54:48+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nesbot/carbon",
|
"name": "nesbot/carbon",
|
||||||
"version": "2.71.0",
|
"version": "2.71.0",
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,12 @@ return [
|
||||||
|
|
||||||
'local' => [
|
'local' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app'),
|
'root' => public_path('storage'),
|
||||||
],
|
],
|
||||||
|
|
||||||
'public' => [
|
'public' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app/public'),
|
'root' => public_path('storage'),
|
||||||
'url' => env('APP_URL').'/storage',
|
'url' => env('APP_URL').'/storage',
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
],
|
],
|
||||||
|
|
|
||||||
16
migrate.sql
Normal file
16
migrate.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
create table `users` (`id` bigint unsigned not null auto_increment primary key, `name` varchar(255) not null, `email` varchar(255) not null, `email_verified_at` timestamp null, `password` varchar(255) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `users` add unique `users_email_unique`(`email`)
|
||||||
|
create table `password_resets` (`email` varchar(255) not null, `token` varchar(255) not null, `created_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `password_resets` add index `password_resets_email_index`(`email`)
|
||||||
|
create table `failed_jobs` (`id` bigint unsigned not null auto_increment primary key, `uuid` varchar(255) not null, `connection` text not null, `queue` text not null, `payload` longtext not null, `exception` longtext not null, `failed_at` timestamp default CURRENT_TIMESTAMP not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `failed_jobs` add unique `failed_jobs_uuid_unique`(`uuid`)
|
||||||
|
create table `personal_access_tokens` (`id` bigint unsigned not null auto_increment primary key, `tokenable_type` varchar(255) not null, `tokenable_id` bigint unsigned not null, `name` varchar(255) not null, `token` varchar(64) not null, `abilities` text null, `last_used_at` timestamp null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `personal_access_tokens` add index `personal_access_tokens_tokenable_type_tokenable_id_index`(`tokenable_type`, `tokenable_id`)
|
||||||
|
alter table `personal_access_tokens` add unique `personal_access_tokens_token_unique`(`token`)
|
||||||
|
create table `files` (`id` bigint unsigned not null auto_increment primary key, `name` varchar(256) not null, `path` varchar(1024) null, `stored_at` varchar(2000) null, `s3` tinyint(1) not null default '0', `_lft` int unsigned not null default '0', `_rgt` int unsigned not null default '0', `parent_id` int unsigned null, `is_folder` tinyint(1) not null, `mimetype` varchar(255) null, `size` int null, `created_at` timestamp null, `updated_at` timestamp null, `created_by` bigint unsigned not null, `updated_by` bigint unsigned not null, `deleted_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `files` add index `files__lft__rgt_parent_id_index`(`_lft`, `_rgt`, `parent_id`)
|
||||||
|
create table `file_shares` (`id` bigint unsigned not null auto_increment primary key, `file_id` bigint unsigned not null, `user_id` bigint unsigned not null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `file_shares` add constraint `file_shares_file_id_foreign` foreign key (`file_id`) references `files` (`id`)
|
||||||
|
alter table `file_shares` add constraint `file_shares_user_id_foreign` foreign key (`user_id`) references `users` (`id`)
|
||||||
|
create table `jobs` (`id` bigint unsigned not null auto_increment primary key, `queue` varchar(255) not null, `payload` longtext not null, `attempts` tinyint unsigned not null, `reserved_at` int unsigned null, `available_at` int unsigned not null, `created_at` int unsigned not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci'
|
||||||
|
alter table `jobs` add index `jobs_queue_index`(`queue`)
|
||||||
1
public/js/197.js
Normal file
1
public/js/197.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[197],{7380:(e,s,r)=>{r.d(s,{Z:()=>o});var t=r(821),a={class:"text-sm text-red-400"};const o={__name:"InputError",props:{message:{type:String}},setup:function(e){return function(s,r){return(0,t.wy)(((0,t.wg)(),(0,t.iD)("div",null,[(0,t._)("p",a,(0,t.zw)(e.message),1)],512)),[[t.F8,e.message]])}}}},8195:(e,s,r)=>{r.d(s,{Z:()=>u});var t=r(821),a={class:"block font-medium text-gray-300"},o={key:0},n={key:1};const u={__name:"InputLabel",props:{value:{type:String}},setup:function(e){return function(s,r){return(0,t.wg)(),(0,t.iD)("label",a,[e.value?((0,t.wg)(),(0,t.iD)("span",o,(0,t.zw)(e.value),1)):((0,t.wg)(),(0,t.iD)("span",n,[(0,t.WI)(s.$slots,"default")]))])}}}},7917:(e,s,r)=>{r.d(s,{Z:()=>o});var t=r(821),a=["value"];const o={__name:"TextInput",props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup:function(e,s){var r=s.expose,o=(0,t.iH)(null);return(0,t.bv)((function(){o.value.hasAttribute("autofocus")&&o.value.focus()})),r({focus:function(){return o.value.focus()}}),function(s,r){return(0,t.wg)(),(0,t.iD)("input",{class:"border-gray-700 bg-zinc-900 text-gray-300 focus:border-sky-600 hover:border-sky-600 rounded-md",value:e.modelValue,onInput:r[0]||(r[0]=function(e){return s.$emit("update:modelValue",e.target.value)}),ref_key:"input",ref:o},null,40,a)}}}},197:(e,s,r)=>{r.r(s),r.d(s,{default:()=>m});var t=r(821),a=r(7380),o=r(8195),n=r(7917),u=r(8748),l=(0,t._)("header",null,[(0,t._)("h2",{class:"text-lg font-medium text-gray-100"},"Update Password"),(0,t._)("p",{class:"mt-1 text-sm text-gray-400"}," Ensure your account is using a long, random password to stay secure. ")],-1),d=["onSubmit"],c={class:"flex items-center gap-4"},p=["disabled"],i={key:0,class:"text-sm text-gray-400"};const m={__name:"UpdatePasswordForm",setup:function(e){var s=(0,t.iH)(null),r=(0,t.iH)(null),m=(0,u.cI)({current_password:"",password:"",password_confirmation:""}),w=function(){m.put(route("password.update"),{preserveScroll:!0,onSuccess:function(){return m.reset()},onError:function(){m.errors.password&&(m.reset("password","password_confirmation"),s.value.focus()),m.errors.current_password&&(m.reset("current_password"),r.value.focus())}})};return function(e,u){return(0,t.wg)(),(0,t.iD)("section",null,[l,(0,t._)("form",{onSubmit:(0,t.iM)(w,["prevent"]),class:"mt-6 space-y-6"},[(0,t._)("div",null,[(0,t.Wm)(o.Z,{for:"current_password",value:"Current Password"}),(0,t.Wm)(n.Z,{id:"current_password",ref_key:"currentPasswordInput",ref:r,modelValue:(0,t.SU)(m).current_password,"onUpdate:modelValue":u[0]||(u[0]=function(e){return(0,t.SU)(m).current_password=e}),type:"password",class:"mt-1 block w-full",autocomplete:"current-password"},null,8,["modelValue"]),(0,t.Wm)(a.Z,{message:(0,t.SU)(m).errors.current_password,class:"mt-2"},null,8,["message"])]),(0,t._)("div",null,[(0,t.Wm)(o.Z,{for:"password",value:"New Password"}),(0,t.Wm)(n.Z,{id:"password",ref_key:"passwordInput",ref:s,modelValue:(0,t.SU)(m).password,"onUpdate:modelValue":u[1]||(u[1]=function(e){return(0,t.SU)(m).password=e}),type:"password",class:"mt-1 block w-full",autocomplete:"new-password"},null,8,["modelValue"]),(0,t.Wm)(a.Z,{message:(0,t.SU)(m).errors.password,class:"mt-2"},null,8,["message"])]),(0,t._)("div",null,[(0,t.Wm)(o.Z,{for:"password_confirmation",value:"Confirm Password"}),(0,t.Wm)(n.Z,{id:"password_confirmation",modelValue:(0,t.SU)(m).password_confirmation,"onUpdate:modelValue":u[2]||(u[2]=function(e){return(0,t.SU)(m).password_confirmation=e}),type:"password",class:"mt-1 block w-full",autocomplete:"new-password"},null,8,["modelValue"]),(0,t.Wm)(a.Z,{message:(0,t.SU)(m).errors.password_confirmation,class:"mt-2"},null,8,["message"])]),(0,t._)("div",c,[(0,t._)("button",{class:"px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600",disabled:(0,t.SU)(m).processing}," Save ",8,p),(0,t.Wm)(t.uT,{"enter-active-class":"transition ease-in-out","enter-from-class":"opacity-0","leave-active-class":"transition ease-in-out","leave-to-class":"opacity-0"},{default:(0,t.w5)((function(){return[(0,t.SU)(m).recentlySuccessful?((0,t.wg)(),(0,t.iD)("p",i," Saved. ")):(0,t.kq)("",!0)]})),_:1})])],40,d)])}}}}}]);
|
||||||
1
public/js/318.js
Normal file
1
public/js/318.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[318],{7380:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(821),r={class:"text-sm text-red-400"};const s={__name:"InputError",props:{message:{type:String}},setup:function(e){return function(t,a){return(0,n.wy)(((0,n.wg)(),(0,n.iD)("div",null,[(0,n._)("p",r,(0,n.zw)(e.message),1)],512)),[[n.F8,e.message]])}}}},8195:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(821),r={class:"block font-medium text-gray-300"},s={key:0},u={key:1};const l={__name:"InputLabel",props:{value:{type:String}},setup:function(e){return function(t,a){return(0,n.wg)(),(0,n.iD)("label",r,[e.value?((0,n.wg)(),(0,n.iD)("span",s,(0,n.zw)(e.value),1)):((0,n.wg)(),(0,n.iD)("span",u,[(0,n.WI)(t.$slots,"default")]))])}}}},7917:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(821),r=["value"];const s={__name:"TextInput",props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup:function(e,t){var a=t.expose,s=(0,n.iH)(null);return(0,n.bv)((function(){s.value.hasAttribute("autofocus")&&s.value.focus()})),a({focus:function(){return s.value.focus()}}),function(t,a){return(0,n.wg)(),(0,n.iD)("input",{class:"border-gray-700 bg-zinc-900 text-gray-300 focus:border-sky-600 hover:border-sky-600 rounded-md",value:e.modelValue,onInput:a[0]||(a[0]=function(e){return t.$emit("update:modelValue",e.target.value)}),ref_key:"input",ref:s},null,40,r)}}}},9318:(e,t,a)=>{a.r(t),a.d(t,{default:()=>g});var n=a(821),r=a(7380),s=a(8195),u=a(7917),l=a(8748),o=(0,n._)("header",null,[(0,n._)("h2",{class:"text-lg font-medium text-gray-100"}," Profile Information "),(0,n._)("p",{class:"mt-1 text-sm text-gray-400"}," Update your account's profile information and email address. ")],-1),i={key:0},m={class:"text-sm mt-2 text-gray-200"},c={class:"mt-2 font-medium text-sm text-green-400"},d={class:"flex items-center gap-4"},f=["disabled"],p={key:0,class:"text-sm text-gray-400"};const g={__name:"UpdateProfileInformationForm",props:{mustVerifyEmail:{type:Boolean},status:{type:String}},setup:function(e){var t=(0,l.qt)().props.auth.user,a=(0,l.cI)({name:t.name,email:t.email});return function(g,v){return(0,n.wg)(),(0,n.iD)("section",null,[o,(0,n._)("form",{onSubmit:v[2]||(v[2]=(0,n.iM)((function(e){return(0,n.SU)(a).post(g.route("profile.update"))}),["prevent"])),class:"mt-6 space-y-6"},[(0,n._)("div",null,[(0,n.Wm)(s.Z,{for:"name",value:"Name"}),(0,n.Wm)(u.Z,{id:"name",type:"text",class:"mt-1 block w-full",modelValue:(0,n.SU)(a).name,"onUpdate:modelValue":v[0]||(v[0]=function(e){return(0,n.SU)(a).name=e}),required:"",autofocus:"",autocomplete:"name"},null,8,["modelValue"]),(0,n.Wm)(r.Z,{class:"mt-2",message:(0,n.SU)(a).errors.name},null,8,["message"])]),(0,n._)("div",null,[(0,n.Wm)(s.Z,{for:"email",value:"Email"}),(0,n.Wm)(u.Z,{id:"email",type:"email",class:"mt-1 block w-full",modelValue:(0,n.SU)(a).email,"onUpdate:modelValue":v[1]||(v[1]=function(e){return(0,n.SU)(a).email=e}),required:"",autocomplete:"username"},null,8,["modelValue"]),(0,n.Wm)(r.Z,{class:"mt-2",message:(0,n.SU)(a).errors.email},null,8,["message"])]),e.mustVerifyEmail&&null===(0,n.SU)(t).email_verified_at?((0,n.wg)(),(0,n.iD)("div",i,[(0,n._)("p",m,[(0,n.Uk)(" Your email address is unverified. "),(0,n.Wm)((0,n.SU)(l.rU),{href:g.route("verification.send"),method:"post",as:"button",class:"underline text-sm text-gray-400 hover:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800"},{default:(0,n.w5)((function(){return[(0,n.Uk)(" Click here to re-send the verification email. ")]})),_:1},8,["href"])]),(0,n.wy)((0,n._)("div",c," A new verification link has been sent to your email address. ",512),[[n.F8,"verification-link-sent"===e.status]])])):(0,n.kq)("",!0),(0,n._)("div",d,[(0,n._)("button",{class:"px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600",disabled:(0,n.SU)(a).processing}," Save ",8,f),(0,n.Wm)(n.uT,{"enter-active-class":"transition ease-in-out","enter-from-class":"opacity-0","leave-active-class":"transition ease-in-out","leave-to-class":"opacity-0"},{default:(0,n.w5)((function(){return[(0,n.SU)(a).recentlySuccessful?((0,n.wg)(),(0,n.iD)("p",p," Saved. ")):(0,n.kq)("",!0)]})),_:1})])],32)])}}}}}]);
|
||||||
1
public/js/464.js
Normal file
1
public/js/464.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[464],{7380:(e,s,t)=>{t.d(s,{Z:()=>n});var r=t(821),o={class:"text-sm text-red-400"};const n={__name:"InputError",props:{message:{type:String}},setup:function(e){return function(s,t){return(0,r.wy)(((0,r.wg)(),(0,r.iD)("div",null,[(0,r._)("p",o,(0,r.zw)(e.message),1)],512)),[[r.F8,e.message]])}}}},8195:(e,s,t)=>{t.d(s,{Z:()=>l});var r=t(821),o={class:"block font-medium text-gray-300"},n={key:0},a={key:1};const l={__name:"InputLabel",props:{value:{type:String}},setup:function(e){return function(s,t){return(0,r.wg)(),(0,r.iD)("label",o,[e.value?((0,r.wg)(),(0,r.iD)("span",n,(0,r.zw)(e.value),1)):((0,r.wg)(),(0,r.iD)("span",a,[(0,r.WI)(s.$slots,"default")]))])}}}},7917:(e,s,t)=>{t.d(s,{Z:()=>n});var r=t(821),o=["value"];const n={__name:"TextInput",props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup:function(e,s){var t=s.expose,n=(0,r.iH)(null);return(0,r.bv)((function(){n.value.hasAttribute("autofocus")&&n.value.focus()})),t({focus:function(){return n.value.focus()}}),function(s,t){return(0,r.wg)(),(0,r.iD)("input",{class:"border-gray-700 bg-zinc-900 text-gray-300 focus:border-sky-600 hover:border-sky-600 rounded-md",value:e.modelValue,onInput:t[0]||(t[0]=function(e){return s.$emit("update:modelValue",e.target.value)}),ref_key:"input",ref:n},null,40,o)}}}},2200:(e,s,t)=>{t.d(s,{Z:()=>d});var r=t(821),o={class:"h-screen w-full bg-zinc-900 text-gray-100 flex gap-4"},n={class:"flex flex-col flex-1 px-4 overflow-hidden items-center justify-center"},a=["href"],l=[(0,r._)("span",null,"DR",-1),(0,r._)("span",{class:"text-3xl",id:"lightning"},"⭍",-1),(0,r._)("span",null,"VE",-1)],u={class:"w-full sm:max-w-md mt-6 px-6 py-4 border-sky-600 border rounded overflow-hidden sm:rounded-lg"};const i={},d=(0,t(3744).Z)(i,[["render",function(e,s){return(0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("main",n,[(0,r._)("a",{href:e.route("login"),method:"get",as:"button",type:"button",id:"logotext",class:"text-5xl flex"},l,8,a),(0,r._)("div",u,[(0,r.WI)(e.$slots,"default")])])])}]])},976:(e,s,t)=>{t.r(s),t.d(s,{default:()=>f});var r=t(821),o=t(2200),n=t(7380),a=t(8195),l=t(7917),u=t(8748),i=["onSubmit"],d={class:"mt-4"},m={class:"mt-4"},c={class:"flex items-center justify-end mt-4"},p=["disabled"];const f={__name:"ResetPassword",props:{email:{type:String,required:!0},token:{type:String,required:!0}},setup:function(e){var s=e,t=(0,u.cI)({token:s.token,email:s.email,password:"",password_confirmation:""}),f=function(){t.post(route("password.store"),{onFinish:function(){return t.reset("password","password_confirmation")}})};return function(e,s){return(0,r.wg)(),(0,r.j4)(o.Z,null,{default:(0,r.w5)((function(){return[(0,r.Wm)((0,r.SU)(u.Fb),{title:"Reset Password"}),(0,r._)("form",{onSubmit:(0,r.iM)(f,["prevent"])},[(0,r._)("div",null,[(0,r.Wm)(a.Z,{for:"email",value:"Email"}),(0,r.Wm)(l.Z,{id:"email",type:"email",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).email,"onUpdate:modelValue":s[0]||(s[0]=function(e){return(0,r.SU)(t).email=e}),required:"",autofocus:"",autocomplete:"username"},null,8,["modelValue"]),(0,r.Wm)(n.Z,{class:"mt-2",message:(0,r.SU)(t).errors.email},null,8,["message"])]),(0,r._)("div",d,[(0,r.Wm)(a.Z,{for:"password",value:"Password"}),(0,r.Wm)(l.Z,{id:"password",type:"password",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).password,"onUpdate:modelValue":s[1]||(s[1]=function(e){return(0,r.SU)(t).password=e}),required:"",autocomplete:"new-password"},null,8,["modelValue"]),(0,r.Wm)(n.Z,{class:"mt-2",message:(0,r.SU)(t).errors.password},null,8,["message"])]),(0,r._)("div",m,[(0,r.Wm)(a.Z,{for:"password_confirmation",value:"Confirm Password"}),(0,r.Wm)(l.Z,{id:"password_confirmation",type:"password",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).password_confirmation,"onUpdate:modelValue":s[2]||(s[2]=function(e){return(0,r.SU)(t).password_confirmation=e}),required:"",autocomplete:"new-password"},null,8,["modelValue"]),(0,r.Wm)(n.Z,{class:"mt-2",message:(0,r.SU)(t).errors.password_confirmation},null,8,["message"])]),(0,r._)("div",c,[(0,r._)("button",{class:(0,r.C_)(["px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600",{"opacity-25":(0,r.SU)(t).processing}]),disabled:(0,r.SU)(t).processing}," Reset Password ",10,p)])],40,i)]})),_:1})}}}}}]);
|
||||||
1
public/js/493.js
Normal file
1
public/js/493.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/544.js
Normal file
1
public/js/544.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/58.js
Normal file
1
public/js/58.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/599.js
Normal file
1
public/js/599.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/643.js
Normal file
1
public/js/643.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/721.js
Normal file
1
public/js/721.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[721],{7380:(e,t,s)=>{s.d(t,{Z:()=>r});var l=s(821),n={class:"text-sm text-red-400"};const r={__name:"InputError",props:{message:{type:String}},setup:function(e){return function(t,s){return(0,l.wy)(((0,l.wg)(),(0,l.iD)("div",null,[(0,l._)("p",n,(0,l.zw)(e.message),1)],512)),[[l.F8,e.message]])}}}},8195:(e,t,s)=>{s.d(t,{Z:()=>o});var l=s(821),n={class:"block font-medium text-gray-300"},r={key:0},u={key:1};const o={__name:"InputLabel",props:{value:{type:String}},setup:function(e){return function(t,s){return(0,l.wg)(),(0,l.iD)("label",n,[e.value?((0,l.wg)(),(0,l.iD)("span",r,(0,l.zw)(e.value),1)):((0,l.wg)(),(0,l.iD)("span",u,[(0,l.WI)(t.$slots,"default")]))])}}}},7917:(e,t,s)=>{s.d(t,{Z:()=>r});var l=s(821),n=["value"];const r={__name:"TextInput",props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup:function(e,t){var s=t.expose,r=(0,l.iH)(null);return(0,l.bv)((function(){r.value.hasAttribute("autofocus")&&r.value.focus()})),s({focus:function(){return r.value.focus()}}),function(t,s){return(0,l.wg)(),(0,l.iD)("input",{class:"border-gray-700 bg-zinc-900 text-gray-300 focus:border-sky-600 hover:border-sky-600 rounded-md",value:e.modelValue,onInput:s[0]||(s[0]=function(e){return t.$emit("update:modelValue",e.target.value)}),ref_key:"input",ref:r},null,40,n)}}}},2200:(e,t,s)=>{s.d(t,{Z:()=>d});var l=s(821),n={class:"h-screen w-full bg-zinc-900 text-gray-100 flex gap-4"},r={class:"flex flex-col flex-1 px-4 overflow-hidden items-center justify-center"},u=["href"],o=[(0,l._)("span",null,"DR",-1),(0,l._)("span",{class:"text-3xl",id:"lightning"},"⭍",-1),(0,l._)("span",null,"VE",-1)],a={class:"w-full sm:max-w-md mt-6 px-6 py-4 border-sky-600 border rounded overflow-hidden sm:rounded-lg"};const i={},d=(0,s(3744).Z)(i,[["render",function(e,t){return(0,l.wg)(),(0,l.iD)("div",n,[(0,l._)("main",r,[(0,l._)("a",{href:e.route("login"),method:"get",as:"button",type:"button",id:"logotext",class:"text-5xl flex"},o,8,u),(0,l._)("div",a,[(0,l.WI)(e.$slots,"default")])])])}]])},5721:(e,t,s)=>{s.r(t),s.d(t,{default:()=>f});var l=s(821),n=s(2200),r=s(7380),u=s(8195),o=s(7917),a=s(8748),i=(0,l._)("div",{class:"mb-4 text-sm text-gray-400"}," Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one. ",-1),d={key:0,class:"mb-4 font-medium text-sm text-green-400"},m=["onSubmit"],c={class:"flex items-center justify-end mt-4"},p=["disabled"];const f={__name:"ForgotPassword",props:{status:{type:String}},setup:function(e){var t=(0,a.cI)({email:""}),s=function(){t.post(route("password.email"))};return function(f,g){return(0,l.wg)(),(0,l.j4)(n.Z,null,{default:(0,l.w5)((function(){return[(0,l.Wm)((0,l.SU)(a.Fb),{title:"Forgot Password"}),i,e.status?((0,l.wg)(),(0,l.iD)("div",d,(0,l.zw)(e.status),1)):(0,l.kq)("",!0),(0,l._)("form",{onSubmit:(0,l.iM)(s,["prevent"])},[(0,l._)("div",null,[(0,l.Wm)(u.Z,{for:"email",value:"Email"}),(0,l.Wm)(o.Z,{id:"email",type:"email",class:"mt-1 block w-full",modelValue:(0,l.SU)(t).email,"onUpdate:modelValue":g[0]||(g[0]=function(e){return(0,l.SU)(t).email=e}),required:"",autofocus:"",autocomplete:"username"},null,8,["modelValue"]),(0,l.Wm)(r.Z,{class:"mt-2",message:(0,l.SU)(t).errors.email},null,8,["message"])]),(0,l._)("div",c,[(0,l._)("button",{class:(0,l.C_)(["px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600",{"opacity-25":(0,l.SU)(t).processing}]),disabled:(0,l.SU)(t).processing}," Email Password Reset Link ",10,p)])],40,m)]})),_:1})}}}}}]);
|
||||||
1
public/js/836.js
Normal file
1
public/js/836.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[836],{2200:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(821),i={class:"h-screen w-full bg-zinc-900 text-gray-100 flex gap-4"},s={class:"flex flex-col flex-1 px-4 overflow-hidden items-center justify-center"},o=["href"],l=[(0,r._)("span",null,"DR",-1),(0,r._)("span",{class:"text-3xl",id:"lightning"},"⭍",-1),(0,r._)("span",null,"VE",-1)],d={class:"w-full sm:max-w-md mt-6 px-6 py-4 border-sky-600 border rounded overflow-hidden sm:rounded-lg"};const u={},a=(0,n(3744).Z)(u,[["render",function(e,t){return(0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("main",s,[(0,r._)("a",{href:e.route("login"),method:"get",as:"button",type:"button",id:"logotext",class:"text-5xl flex"},l,8,o),(0,r._)("div",d,[(0,r.WI)(e.$slots,"default")])])])}]])},7836:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var r=n(821),i=n(2200),s=n(8748),o=(0,r._)("div",{class:"mb-4 text-sm text-gray-400"}," Thanks for signing up! Before getting started, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another. ",-1),l={key:0,class:"mb-4 font-medium text-sm text-green-400"},d=["onSubmit"],u={class:"mt-4 flex items-center justify-between"},a=["disabled"];const c={__name:"VerifyEmail",props:{status:{type:String}},setup:function(e){var t=e,n=(0,s.cI)({}),c=function(){n.post(route("verification.send"))},f=(0,r.Fl)((function(){return"verification-link-sent"===t.status}));return function(e,t){return(0,r.wg)(),(0,r.j4)(i.Z,null,{default:(0,r.w5)((function(){return[(0,r.Wm)((0,r.SU)(s.Fb),{title:"Email Verification"}),o,f.value?((0,r.wg)(),(0,r.iD)("div",l," A new verification link has been sent to the email address you provided during registration. ")):(0,r.kq)("",!0),(0,r._)("form",{onSubmit:(0,r.iM)(c,["prevent"])},[(0,r._)("div",u,[(0,r._)("button",{class:(0,r.C_)(["px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600",{"opacity-25":(0,r.SU)(n).processing}]),disabled:(0,r.SU)(n).processing}," Resend Verification Email ",10,a),(0,r.Wm)((0,r.SU)(s.rU),{href:e.route("logout"),method:"post",as:"button",class:"px-6 py-3 border-red-600 border rounded-lg hover:bg-red-600"},{default:(0,r.w5)((function(){return[(0,r.Uk)("Log Out")]})),_:1},8,["href"])])],40,d)]})),_:1})}}}}}]);
|
||||||
1
public/js/97.js
Normal file
1
public/js/97.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97],{7380:(e,t,s)=>{s.d(t,{Z:()=>o});var r=s(821),n={class:"text-sm text-red-400"};const o={__name:"InputError",props:{message:{type:String}},setup:function(e){return function(t,s){return(0,r.wy)(((0,r.wg)(),(0,r.iD)("div",null,[(0,r._)("p",n,(0,r.zw)(e.message),1)],512)),[[r.F8,e.message]])}}}},8195:(e,t,s)=>{s.d(t,{Z:()=>a});var r=s(821),n={class:"block font-medium text-gray-300"},o={key:0},l={key:1};const a={__name:"InputLabel",props:{value:{type:String}},setup:function(e){return function(t,s){return(0,r.wg)(),(0,r.iD)("label",n,[e.value?((0,r.wg)(),(0,r.iD)("span",o,(0,r.zw)(e.value),1)):((0,r.wg)(),(0,r.iD)("span",l,[(0,r.WI)(t.$slots,"default")]))])}}}},7917:(e,t,s)=>{s.d(t,{Z:()=>o});var r=s(821),n=["value"];const o={__name:"TextInput",props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup:function(e,t){var s=t.expose,o=(0,r.iH)(null);return(0,r.bv)((function(){o.value.hasAttribute("autofocus")&&o.value.focus()})),s({focus:function(){return o.value.focus()}}),function(t,s){return(0,r.wg)(),(0,r.iD)("input",{class:"border-gray-700 bg-zinc-900 text-gray-300 focus:border-sky-600 hover:border-sky-600 rounded-md",value:e.modelValue,onInput:s[0]||(s[0]=function(e){return t.$emit("update:modelValue",e.target.value)}),ref_key:"input",ref:o},null,40,n)}}}},2200:(e,t,s)=>{s.d(t,{Z:()=>d});var r=s(821),n={class:"h-screen w-full bg-zinc-900 text-gray-100 flex gap-4"},o={class:"flex flex-col flex-1 px-4 overflow-hidden items-center justify-center"},l=["href"],a=[(0,r._)("span",null,"DR",-1),(0,r._)("span",{class:"text-3xl",id:"lightning"},"⭍",-1),(0,r._)("span",null,"VE",-1)],u={class:"w-full sm:max-w-md mt-6 px-6 py-4 border-sky-600 border rounded overflow-hidden sm:rounded-lg"};const i={},d=(0,s(3744).Z)(i,[["render",function(e,t){return(0,r.wg)(),(0,r.iD)("div",n,[(0,r._)("main",o,[(0,r._)("a",{href:e.route("login"),method:"get",as:"button",type:"button",id:"logotext",class:"text-5xl flex"},a,8,l),(0,r._)("div",u,[(0,r.WI)(e.$slots,"default")])])])}]])},97:(e,t,s)=>{s.r(t),s.d(t,{default:()=>g});var r=s(821),n=s(2200),o=s(7380),l=s(8195),a=s(7917),u=s(8748),i=["onSubmit"],d={class:"mt-4"},m={class:"mt-4"},c={class:"mt-4"},p={class:"flex items-center justify-end mt-6 gap-6"},f=["disabled"];const g={__name:"Register",setup:function(e){var t=(0,u.cI)({name:"",email:"",password:"",password_confirmation:""}),s=function(){t.post(route("register"),{onFinish:function(){return t.reset("password","password_confirmation")},onSuccess:function(){u.Nd.visit(route("/login"))}})};return function(e,g){return(0,r.wg)(),(0,r.j4)(n.Z,null,{default:(0,r.w5)((function(){return[(0,r.Wm)((0,r.SU)(u.Fb),{title:"Register"}),(0,r._)("form",{onSubmit:(0,r.iM)(s,["prevent"])},[(0,r._)("div",null,[(0,r.Wm)(l.Z,{for:"name",value:"Name"}),(0,r.Wm)(a.Z,{id:"name",type:"text",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).name,"onUpdate:modelValue":g[0]||(g[0]=function(e){return(0,r.SU)(t).name=e}),required:"",autofocus:"",autocomplete:"name"},null,8,["modelValue"]),(0,r.Wm)(o.Z,{class:"mt-2",message:(0,r.SU)(t).errors.name},null,8,["message"])]),(0,r._)("div",d,[(0,r.Wm)(l.Z,{for:"email",value:"Email"}),(0,r.Wm)(a.Z,{id:"email",type:"email",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).email,"onUpdate:modelValue":g[1]||(g[1]=function(e){return(0,r.SU)(t).email=e}),required:"",autocomplete:"username"},null,8,["modelValue"]),(0,r.Wm)(o.Z,{class:"mt-2",message:(0,r.SU)(t).errors.email},null,8,["message"])]),(0,r._)("div",m,[(0,r.Wm)(l.Z,{for:"password",value:"Password"}),(0,r.Wm)(a.Z,{id:"password",type:"password",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).password,"onUpdate:modelValue":g[2]||(g[2]=function(e){return(0,r.SU)(t).password=e}),required:"",autocomplete:"new-password"},null,8,["modelValue"]),(0,r.Wm)(o.Z,{class:"mt-2",message:(0,r.SU)(t).errors.password},null,8,["message"])]),(0,r._)("div",c,[(0,r.Wm)(l.Z,{for:"password_confirmation",value:"Confirm Password"}),(0,r.Wm)(a.Z,{id:"password_confirmation",type:"password",class:"mt-1 block w-full",modelValue:(0,r.SU)(t).password_confirmation,"onUpdate:modelValue":g[3]||(g[3]=function(e){return(0,r.SU)(t).password_confirmation=e}),required:"",autocomplete:"new-password"},null,8,["modelValue"]),(0,r.Wm)(o.Z,{class:"mt-2",message:(0,r.SU)(t).errors.password_confirmation},null,8,["message"])]),(0,r._)("div",p,[(0,r.Wm)((0,r.SU)(u.rU),{href:e.route("login"),class:"underline text-sm text-gray-400 hover:text-gray-100 rounded-md"},{default:(0,r.w5)((function(){return[(0,r.Uk)(" Already registered? ")]})),_:1},8,["href"]),(0,r._)("button",{class:(0,r.C_)(["px-6 py-3 border-sky-600 border rounded-lg hover:bg-sky-600 loginbutton",{"opacity-25":(0,r.SU)(t).processing}]),disabled:(0,r.SU)(t).processing}," Register ",10,f)])],40,i)]})),_:1})}}}}}]);
|
||||||
1
public/js/976.js
Normal file
1
public/js/976.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/980.js
Normal file
1
public/js/980.js
Normal file
File diff suppressed because one or more lines are too long
1
public/js/app.js.LICENSE.txt
Normal file
1
public/js/app.js.LICENSE.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||||
|
|
@ -966,7 +966,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var deleteUser = function deleteUser() {
|
var deleteUser = function deleteUser() {
|
||||||
form["delete"](route("profile.destroy"), {
|
form.post(route("profile.destroy"), {
|
||||||
preserveScroll: true,
|
preserveScroll: true,
|
||||||
onSuccess: function onSuccess() {
|
onSuccess: function onSuccess() {
|
||||||
return closeModal();
|
return closeModal();
|
||||||
|
|
@ -2155,7 +2155,7 @@ var _hoisted_7 = {
|
||||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("section", null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("form", {
|
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("section", null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("form", {
|
||||||
onSubmit: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function ($event) {
|
onSubmit: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function ($event) {
|
||||||
return $setup.form.patch(_ctx.route('profile.update'));
|
return $setup.form.post(_ctx.route('profile.update'));
|
||||||
}, ["prevent"])),
|
}, ["prevent"])),
|
||||||
"class": "mt-6 space-y-6"
|
"class": "mt-6 space-y-6"
|
||||||
}, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["InputLabel"], {
|
}, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["InputLabel"], {
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var deleteUser = function deleteUser() {
|
var deleteUser = function deleteUser() {
|
||||||
form["delete"](route("profile.destroy"), {
|
form.post(route("profile.destroy"), {
|
||||||
preserveScroll: true,
|
preserveScroll: true,
|
||||||
onSuccess: function onSuccess() {
|
onSuccess: function onSuccess() {
|
||||||
return closeModal();
|
return closeModal();
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,7 @@ var _hoisted_7 = {
|
||||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||||
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("section", null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("form", {
|
return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("section", null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("form", {
|
||||||
onSubmit: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function ($event) {
|
onSubmit: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function ($event) {
|
||||||
return $setup.form.patch(_ctx.route('profile.update'));
|
return $setup.form.post(_ctx.route('profile.update'));
|
||||||
}, ["prevent"])),
|
}, ["prevent"])),
|
||||||
"class": "mt-6 space-y-6"
|
"class": "mt-6 space-y-6"
|
||||||
}, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["InputLabel"], {
|
}, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["InputLabel"], {
|
||||||
|
|
|
||||||
|
|
@ -402,7 +402,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||||
var onClick = function onClick() {
|
var onClick = function onClick() {
|
||||||
form.all = props.wipeall;
|
form.all = props.wipeall;
|
||||||
form.Ids = props.selected;
|
form.Ids = props.selected;
|
||||||
form["delete"](route("file.delete"));
|
form.post(route("file.delete"));
|
||||||
};
|
};
|
||||||
var __returned__ = {
|
var __returned__ = {
|
||||||
form: form,
|
form: form,
|
||||||
|
|
|
||||||
11
public/js/vendor.js.LICENSE.txt
Normal file
11
public/js/vendor.js.LICENSE.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||||
|
* @license MIT */
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* The buffer module from node.js, for the browser.
|
||||||
|
*
|
||||||
|
* @author Feross Aboukhadijeh <http://feross.org>
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||||
|
|
@ -27,7 +27,7 @@ const onClick = () => {
|
||||||
form.all = props.wipeall;
|
form.all = props.wipeall;
|
||||||
form.Ids = props.selected;
|
form.Ids = props.selected;
|
||||||
|
|
||||||
form.delete(route("file.delete"));
|
form.post(route("file.delete"));
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ const confirmUserDeletion = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteUser = () => {
|
const deleteUser = () => {
|
||||||
form.delete(route("profile.destroy"), {
|
form.post(route("profile.destroy"), {
|
||||||
preserveScroll: true,
|
preserveScroll: true,
|
||||||
onSuccess: () => closeModal(),
|
onSuccess: () => closeModal(),
|
||||||
onError: () => passwordInput.value.focus(),
|
onError: () => passwordInput.value.focus(),
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ const form = useForm({
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<form
|
<form
|
||||||
@submit.prevent="form.patch(route('profile.update'))"
|
@submit.prevent="form.post(route('profile.update'))"
|
||||||
class="mt-6 space-y-6"
|
class="mt-6 space-y-6"
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -38,15 +38,15 @@ Route::controller(\App\Http\Controllers\FileController::class)->middleware(['aut
|
||||||
Route::get('/file/download-shared-with', 'downloadSharedWith')->name('file.downloadSharedWith');
|
Route::get('/file/download-shared-with', 'downloadSharedWith')->name('file.downloadSharedWith');
|
||||||
Route::post('/file/recycle', 'recycle')->name('file.recycle');
|
Route::post('/file/recycle', 'recycle')->name('file.recycle');
|
||||||
Route::post('/file/restore', 'restore')->name('file.restore');
|
Route::post('/file/restore', 'restore')->name('file.restore');
|
||||||
Route::delete('/file/delete', 'delete')->name('file.delete');
|
Route::post('/file/delete', 'delete')->name('file.delete');
|
||||||
Route::post('/file/share', 'share')->name('file.share');
|
Route::post('/file/share', 'share')->name('file.share');
|
||||||
Route::post('/file/unshare', 'unshare')->name('file.unshare');
|
Route::post('/file/unshare', 'unshare')->name('file.unshare');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware('auth')->group(function () {
|
Route::middleware('auth')->group(function () {
|
||||||
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
||||||
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
Route::post('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
||||||
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
Route::post('/profile/delete', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
||||||
});
|
});
|
||||||
|
|
||||||
require __DIR__.'/auth.php';
|
require __DIR__.'/auth.php';
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue