Skip to content

Commit

Permalink
Module upload validation (#857)
Browse files Browse the repository at this point in the history
  • Loading branch information
theWorstComrade committed Mar 29, 2022
1 parent 4e7441a commit 7cde971
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 6 deletions.
Expand Up @@ -3,18 +3,18 @@
namespace Crater\Http\Controllers\V1\Admin\Modules;

use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\UnzipUpdateRequest;
use Crater\Space\ModuleInstaller;
use Illuminate\Http\Request;

class UnzipModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Crater\Http\Requests\UnzipUpdateRequest $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
public function __invoke(UnzipUpdateRequest $request)
{
$this->authorize('manage modules');

Expand Down
Expand Up @@ -3,18 +3,18 @@
namespace Crater\Http\Controllers\V1\Admin\Modules;

use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\UploadModuleRequest;
use Crater\Space\ModuleInstaller;
use Illuminate\Http\Request;

class UploadModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Crater\Http\Requests\UploadModuleRequest $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
public function __invoke(UploadModuleRequest $request)
{
$this->authorize('manage modules');

Expand Down
37 changes: 37 additions & 0 deletions app/Http/Requests/UnzipUpdateRequest.php
@@ -0,0 +1,37 @@
<?php

namespace Crater\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UnzipUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'path' => [
'required',
'regex:/^[\.\/\w\-]+$/'
],
'module' => [
'required',
'string'
]
];
}
}
40 changes: 40 additions & 0 deletions app/Http/Requests/UploadModuleRequest.php
@@ -0,0 +1,40 @@
<?php

namespace Crater\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UploadModuleRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'avatar' => [
'required',
'file',
'mimes:zip',
'max:20000'
],
'module' => [
'required',
'string',
'max:100'
]
];
}
}

0 comments on commit 7cde971

Please sign in to comment.