build version 400

This commit is contained in:
Mohit Panjwani
2020-12-02 17:54:08 +05:30
parent 326508e567
commit 89ee58590c
963 changed files with 62887 additions and 48868 deletions

View File

@ -23,8 +23,12 @@ class CompanyRequest extends FormRequest
public function rules()
{
return [
'name' => 'required',
'country_id' => 'required'
'name' => [
'required'
],
'country_id' => [
'required'
]
];
}
}

View File

@ -23,12 +23,24 @@ class CompanySettingRequest extends FormRequest
public function rules()
{
return [
'currency' => 'required',
'time_zone' => 'required',
'language' => 'required',
'fiscal_year' => 'required',
'moment_date_format' => 'required',
'carbon_date_format' => 'required',
'currency' => [
'required'
],
'time_zone' => [
'required'
],
'language' => [
'required'
],
'fiscal_year' => [
'required'
],
'moment_date_format' => [
'required'
],
'carbon_date_format' => [
'required'
]
];
}
}

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CustomFieldRequest 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 [
'name' => 'required',
'label' => 'required',
'model_type' => 'required',
'order' => 'required',
'type' => 'required',
'is_required' => 'required|boolean',
'options' => 'array',
'placeholder' => 'string|nullable',
];
}
}

View File

@ -1,7 +1,9 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class CustomerRequest extends FormRequest
{
@ -22,24 +24,33 @@ class CustomerRequest extends FormRequest
*/
public function rules()
{
switch ($this->getMethod()) {
case 'POST':
return [
'name' => 'required',
'addresses.*.address_street_1' => 'max:255',
'addresses.*.address_street_2' => 'max:255',
'email' => 'email|nullable|unique:users,email',
];
break;
case 'PUT':
return [
'name' => 'required',
'addresses.*.address_street_1' => 'max:255',
'addresses.*.address_street_2' => 'max:255',
];
break;
default:
break;
}
$rules = [
'name' => [
'required'
],
'addresses.*.address_street_1' => [
'max:255'
],
'addresses.*.address_street_2' => [
'max:255'
],
'email' => [
'email',
'nullable',
'unique:users,email',
]
];
if ($this->isMethod('PUT') && $this->email != null) {
$rules = [
'email' => [
'email',
'nullable',
Rule::unique('users')->ignore($this->route('customer')->id)
]
];
};
return $rules;
}
}

View File

@ -23,13 +23,58 @@ class DatabaseEnvironmentRequest extends FormRequest
*/
public function rules()
{
return [
'app_url' => 'required|url',
'database_connection' => 'required|string',
'database_hostname' => 'required|string',
'database_port' => 'required|numeric',
'database_name' => 'required|string',
'database_username' => 'required|string',
];
switch ($this->get('database_connection')) {
case 'sqlite':
return [
'app_url' => [
'required',
'url'
],
'app_domain' => [
'required',
],
'database_connection' => [
'required',
'string'
],
'database_name' => [
'required',
'string'
],
];
break;
default:
return [
'app_url' => [
'required',
'url'
],
'app_domain' => [
'required',
],
'database_connection' => [
'required',
'string'
],
'database_hostname' => [
'required',
'string'
],
'database_port' => [
'required',
'numeric'
],
'database_name' => [
'required',
'string'
],
'database_username' => [
'required',
'string'
],
];
break;
}
}
}

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
class DeleteCustomersRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('users', 'id')
]
];
}
}

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class DeleteEstimatesRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('estimates', 'id')
]
];
}
}

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class DeleteExpensesRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('expenses', 'id')
]
];
}
}

View File

@ -0,0 +1,40 @@
<?php
namespace Crater\Http\Requests;
use Crater\Models\Invoice;
use Crater\Rules\RelationNotExist;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
class DeleteInvoiceRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('invoices', 'id'),
new RelationNotExist(Invoice::class, 'payments')
]
];
}
}

View File

@ -0,0 +1,42 @@
<?php
namespace Crater\Http\Requests;
use Crater\Models\Item;
use Crater\Rules\RelationNotExist;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class DeleteItemsRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('items', 'id'),
new RelationNotExist(Item::class, 'invoiceItems'),
new RelationNotExist(Item::class, 'estimateItems'),
new RelationNotExist(Item::class, 'taxes')
]
];
}
}

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class DeletePaymentsRequest 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 [
'ids' => [
'required'
],
'ids.*' => [
'required',
Rule::exists('payments', 'id')
]
];
}
}

View File

@ -0,0 +1,119 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class DiskEnvironmentRequest 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()
{
$rules = [];
switch ($this->get('driver')) {
case 's3':
$rules = [
'credentials.key' => [
'required',
'string'
],
'credentials.secret' => [
'required',
'string'
],
'credentials.region' => [
'required',
'string'
],
'credentials.bucket' => [
'required',
'string'
],
'credentials.root' => [
'required',
'string'
],
];
break;
case 'doSpaces':
$rules = [
'credentials.key' => [
'required',
'string'
],
'credentials.secret' => [
'required',
'string'
],
'credentials.region' => [
'required',
'string'
],
'credentials.bucket' => [
'required',
'string'
],
'credentials.endpoint' => [
'required',
'string'
],
'credentials.root' => [
'required',
'string'
],
];
break;
case 'dropbox':
$rules = [
'credentials.token' => [
'required',
'string'
],
'credentials.key' => [
'required',
'string'
],
'credentials.secret' => [
'required',
'string'
],
'credentials.app' => [
'required',
'string'
],
'credentials.root' => [
'required',
'string'
],
];
break;
}
$defaultRules = [
'name' => [
'required',
],
'driver' => [
'required',
]
];
return array_merge($rules, $defaultRules);
}
}

View File

@ -1,6 +1,8 @@
<?php
namespace Crater\Http\Requests;
use Crater\Models\Estimate;
use Crater\Rules\UniqueNumber;
use Illuminate\Foundation\Http\FormRequest;
class EstimatesRequest extends FormRequest
@ -23,23 +25,66 @@ class EstimatesRequest extends FormRequest
public function rules()
{
$rules = [
'estimate_date' => 'required',
'expiry_date' => 'required',
'user_id' => 'required',
'discount' => 'required',
'discount_val' => 'required',
'sub_total' => 'required',
'total' => 'required',
'tax' => 'required',
'estimate_template_id' => 'required',
'items' => 'required|array',
'items.*.description' => 'max:255',
'items.*' => 'required|max:255',
'items.*.name' => 'required',
'items.*.quantity' => 'required',
'items.*.price' => 'required'
'estimate_date' => [
'required'
],
'expiry_date' => [
'required'
],
'user_id' => [
'required'
],
'estimate_number' => [
'required',
new UniqueNumber(Estimate::class)
],
'discount' => [
'required'
],
'discount_val' => [
'required'
],
'sub_total' => [
'required'
],
'total' => [
'required'
],
'tax' => [
'required'
],
'estimate_template_id' => [
'required'
],
'items' => [
'required',
'array'
],
'items.*.description' => [
'max:255'
],
'items.*' => [
'required',
'max:255'
],
'items.*.name' => [
'required'
],
'items.*.quantity' => [
'required'
],
'items.*.price' => [
'required'
]
];
if ($this->isMethod('PUT')) {
$rules['estimate_number'] = [
'required',
new UniqueNumber(Estimate::class, $this->route('estimate')->id)
];
}
return $rules;
}
}

View File

@ -23,7 +23,12 @@ class ExpenseCategoryRequest extends FormRequest
public function rules()
{
return [
'name' => 'required'
'name' => [
'required'
],
'description' => [
'nullable'
]
];
}
}

View File

@ -1,4 +1,5 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
@ -23,9 +24,21 @@ class ExpenseRequest extends FormRequest
public function rules()
{
return [
'expense_date' => 'required',
'expense_category_id' => 'required',
'amount' => 'required'
'expense_date' => [
'required'
],
'expense_category_id' => [
'required'
],
'amount' => [
'required'
],
'user_id' => [
'nullable'
],
'notes' => [
'nullable'
]
];
}
}

View File

@ -0,0 +1,36 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class GetSettingsRequest 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 [
'settings' => [
'required'
],
'settings.*' => [
'required',
'string'
]
];
}
}

View File

@ -1,6 +1,8 @@
<?php
namespace Crater\Http\Requests;
use Crater\Models\Invoice;
use Crater\Rules\UniqueNumber;
use Illuminate\Foundation\Http\FormRequest;
class InvoicesRequest extends FormRequest
@ -23,23 +25,66 @@ class InvoicesRequest extends FormRequest
public function rules()
{
$rules = [
'invoice_date' => 'required',
'due_date' => 'required',
'user_id' => 'required',
'discount' => 'required',
'discount_val' => 'required',
'sub_total' => 'required',
'total' => 'required',
'tax' => 'required',
'invoice_template_id' => 'required',
'items' => 'required|array',
'items.*' => 'required|max:255',
'items.*.description' => 'max:255',
'items.*.name' => 'required',
'items.*.quantity' => 'required',
'items.*.price' => 'required'
'invoice_date' => [
'required'
],
'due_date' => [
'required'
],
'user_id' => [
'required'
],
'invoice_number' => [
'required',
new UniqueNumber(Invoice::class)
],
'discount' => [
'required'
],
'discount_val' => [
'required'
],
'sub_total' => [
'required'
],
'total' => [
'required'
],
'tax' => [
'required'
],
'invoice_template_id' => [
'required'
],
'items' => [
'required',
'array'
],
'items.*' => [
'required',
'max:255'
],
'items.*.description' => [
'max:255'
],
'items.*.name' => [
'required'
],
'items.*.quantity' => [
'required'
],
'items.*.price' => [
'required'
]
];
if ($this->isMethod('PUT')) {
$rules['invoice_number'] = [
'required',
new UniqueNumber(Invoice::class, $this->route('invoice')->id)
];
}
return $rules;
}
}

View File

@ -23,8 +23,18 @@ class ItemsRequest extends FormRequest
public function rules()
{
return [
'name' => 'required',
'price' => 'required',
'name' => [
'required'
],
'price' => [
'required'
],
'unit_id' => [
'nullable'
],
'description' => [
'nullable'
]
];
}
}

View File

@ -26,52 +26,128 @@ class MailEnvironmentRequest extends FormRequest
switch ($this->get('mail_driver')) {
case 'smtp':
return [
'mail_driver' => 'required|string',
'mail_host' => 'required|string',
'mail_port' => 'required',
'mail_username' => 'required|string',
'mail_password' => 'required|string',
'mail_encryption' => 'required|string',
'from_name' => 'required|string',
'from_mail' => 'required|string',
'mail_driver' => [
'required',
'string'
],
'mail_host' => [
'required',
'string'
],
'mail_port' => [
'required'
],
'mail_username' => [
'required',
'string'
],
'mail_password' => [
'required',
'string'
],
'mail_encryption' => [
'required',
'string'
],
'from_name' => [
'required',
'string'
],
'from_mail' => [
'required',
'string'
],
];
break;
case 'mailgun':
return [
'mail_driver' => 'required|string',
'mail_mailgun_domain' => 'required|string',
'mail_mailgun_secret' => 'required|string',
'mail_mailgun_endpoint' => 'required|string',
'from_name' => 'required|string',
'from_mail' => 'required|string',
'mail_driver' => [
'required',
'string'
],
'mail_mailgun_domain' => [
'required',
'string'
],
'mail_mailgun_secret' => [
'required',
'string'
],
'mail_mailgun_endpoint' => [
'required',
'string'
],
'from_name' => [
'required',
'string'
],
'from_mail' => [
'required',
'string'
],
];
break;
case 'ses':
return [
'mail_driver' => 'required|string',
'mail_host' => 'required|string',
'mail_port' => 'required',
'mail_ses_key' => 'required|string',
'mail_ses_secret' => 'required|string',
'mail_encryption' => 'required|string',
'from_name' => 'required|string',
'from_mail' => 'required|string',
'mail_driver' => [
'required',
'string'
],
'mail_host' => [
'required',
'string'
],
'mail_port' => [
'required'
],
'mail_ses_key' => [
'required',
'string'
],
'mail_ses_secret' => [
'required',
'string'
],
'mail_encryption' => [
'required',
'string'
],
'from_name' => [
'required',
'string'
],
'from_mail' => [
'required',
'string'
],
];
break;
case 'mail':
return [
'from_name' => 'required|string',
'from_mail' => 'required|string',
'from_name' => [
'required',
'string'
],
'from_mail' => [
'required',
'string'
]
];
break;
case 'sendmail':
return [
'from_name' => 'required|string',
'from_mail' => 'required|string',
'from_name' => [
'required',
'string'
],
'from_mail' => [
'required',
'string'
]
];
break;
}

View File

@ -0,0 +1,32 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class NotesRequest 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 [
'type' => ['required'],
'name' => ['required'],
'notes' => ['required']
];
}
}

View File

@ -25,7 +25,10 @@ class PaymentMethodRequest extends FormRequest
public function rules()
{
$data = [
'name' => 'required|unique:payment_methods,name'
'name' => [
'required',
'unique:payment_methods,name'
]
];
if ($this->getMethod() == 'PUT') {

View File

@ -1,6 +1,9 @@
<?php
namespace Crater\Http\Requests;
use Crater\Models\Payment;
use Crater\Rules\UniqueNumber;
use Illuminate\Foundation\Http\FormRequest;
class PaymentRequest extends FormRequest
@ -23,11 +26,37 @@ class PaymentRequest extends FormRequest
public function rules()
{
$rules = [
'payment_date' => 'required',
'user_id' => 'required',
'amount' => 'required',
'payment_date' => [
'required'
],
'user_id' => [
'required'
],
'amount' => [
'required'
],
'payment_number' => [
'required',
new UniqueNumber(Payment::class)
],
'invoice_id' => [
'nullable',
],
'payment_method_id' => [
'nullable',
],
'notes' => [
'nullable',
],
];
if ($this->isMethod('PUT')) {
$rules['payment_number'] = [
'required',
new UniqueNumber(Payment::class, $this->route('payment')->id)
];
}
return $rules;
}
}

View File

@ -3,7 +3,7 @@ namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Crater\User;
use Illuminate\Support\Facades\Auth;
class ProfileRequest extends FormRequest
{
@ -24,32 +24,19 @@ class ProfileRequest extends FormRequest
*/
public function rules()
{
$user = User::find(1);
switch ($this->getMethod()) {
case 'POST':
return [
'name' => 'required',
'password' => 'required|min:8',
'address_street_1' => 'max:255',
'address_street_2' => 'max:255',
'email' => [
'required',
'email',
Rule::unique('users')->ignore($user->id, 'id')
]
];
break;
case 'PUT':
return [
'name' => 'required',
'address_street_1' => 'max:255',
'address_street_2' => 'max:255',
'email' => 'required|email'
];
break;
default:
break;
}
return [
'name' => [
'required'
],
'password' => [
'nullable',
'min:8'
],
'email' => [
'required',
'email',
Rule::unique('users')->ignore(Auth::id(), 'id')
]
];
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SendEstimatesRequest 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 [
'subject' => [
'required'
],
'body' => [
'required'
],
'from' => [
'required'
],
'to' => [
'required'
]
];
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SendInvoiceRequest 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 [
'body' => [
'required'
],
'subject' => [
'required'
],
'from' => [
'required'
],
'to' => [
'required'
]
];
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SendPaymentRequest 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 [
'subject' => [
'required'
],
'body' => [
'required'
],
'from' => [
'required'
],
'to' => [
'required'
]
];
}
}

View File

@ -24,7 +24,9 @@ class SettingKeyRequest extends FormRequest
public function rules()
{
return [
'key' => 'required'
'key' => [
'required'
]
];
}
}

View File

@ -24,8 +24,12 @@ class SettingRequest extends FormRequest
public function rules()
{
return [
'key' => 'required',
'value' => 'required'
'key' => [
'required'
],
'value' => [
'required'
]
];
}
}

View File

@ -1,4 +1,5 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
@ -23,8 +24,21 @@ class TaxTypeRequest extends FormRequest
public function rules()
{
return [
'name' => 'required',
'percent' => 'required'
'name' => [
'required'
],
'percent' => [
'required'
],
'description' => [
'nullable'
],
'compound_tax' => [
'nullable'
],
'collective_tax' => [
'nullable'
]
];
}
}

View File

@ -25,7 +25,10 @@ class UnitRequest extends FormRequest
public function rules()
{
$data = [
'name' => 'required|unique:units,name'
'name' => [
'required',
'unique:units,name'
]
];
if ($this->getMethod() == 'PUT') {

View File

@ -0,0 +1,35 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateSettingsRequest 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 [
'settings' => [
'required'
],
'settings.*' => [
'required'
]
];
}
}

View File

@ -0,0 +1,59 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UserRequest 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()
{
$rules = [
'name' => [
'required'
],
'email' => [
'required',
'email',
Rule::unique('users')
],
'phone' => [
'nullable'
],
'password' => [
'required',
'min:8'
]
];
if ($this->getMethod() == 'PUT') {
$rules['email'] = [
'required',
'email',
Rule::unique('users')->ignore($this->user)
];
$rules['password'] = [
'nullable',
'min:8'
];
}
return $rules;
}
}