diff --git a/app/Http/Requests/Client/StoreClientRequest.php b/app/Http/Requests/Client/StoreClientRequest.php index 1b8bba5dde70..93c8877a22f1 100644 --- a/app/Http/Requests/Client/StoreClientRequest.php +++ b/app/Http/Requests/Client/StoreClientRequest.php @@ -84,9 +84,8 @@ class StoreClientRequest extends Request } } - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } + $input = $this->decodePrimaryKeys($input); + //is no settings->currency_id is set then lets dive in and find either a group or company currency all the below may be redundant!! if (! property_exists($settings, 'currency_id') && isset($input['group_settings_id'])) { @@ -108,29 +107,6 @@ class StoreClientRequest extends Request $input['settings'] = $settings; - if (isset($input['contacts'])) { - foreach ($input['contacts'] as $key => $contact) { - if (array_key_exists('id', $contact) && is_numeric($contact['id'])) { - unset($input['contacts'][$key]['id']); - } elseif (array_key_exists('id', $contact) && is_string($contact['id'])) { - $input['contacts'][$key]['id'] = $this->decodePrimaryKey($contact['id']); - } - - //Filter the client contact password - if it is sent with ***** we should ignore it! - if (isset($contact['password'])) { - if (strlen($contact['password']) == 0) { - $input['contacts'][$key]['password'] = ''; - } else { - $contact['password'] = str_replace('*', '', $contact['password']); - - if (strlen($contact['password']) == 0) { - unset($input['contacts'][$key]['password']); - } - } - } - } - } - if (isset($input['country_code'])) { $input['country_id'] = $this->getCountryCode($input['country_code']); } diff --git a/app/Http/Requests/Client/UpdateClientRequest.php b/app/Http/Requests/Client/UpdateClientRequest.php index 7d9e05f4966f..a29416c06bcf 100644 --- a/app/Http/Requests/Client/UpdateClientRequest.php +++ b/app/Http/Requests/Client/UpdateClientRequest.php @@ -95,33 +95,7 @@ class UpdateClientRequest extends Request $input['group_settings_id'] = $this->decodePrimaryKey($input['group_settings_id']); } - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } - - if (isset($input['contacts'])) { - foreach ($input['contacts'] as $key => $contact) { - if (array_key_exists('id', $contact) && is_numeric($contact['id'])) { - unset($input['contacts'][$key]['id']); - } elseif (array_key_exists('id', $contact) && is_string($contact['id'])) { - $input['contacts'][$key]['id'] = $this->decodePrimaryKey($contact['id']); - } - - //Filter the client contact password - if it is sent with ***** we should ignore it! - if (isset($contact['password'])) { - if (strlen($contact['password']) == 0) { - $input['contacts'][$key]['password'] = ''; - } else { - $input['contacts'][$key]['password'] = str_replace('*', '', $contact['password']); - - if (strlen($contact['password']) == 0) { - unset($input['contacts'][$key]['password']); - } - - } - } - } - } + $input = $this->decodePrimaryKeys($input); if (array_key_exists('settings', $input)) { $input['settings'] = $this->filterSaveableSettings($input['settings']); diff --git a/app/Http/Requests/ClientPortal/CreatePaymentMethodRequest.php b/app/Http/Requests/ClientPortal/CreatePaymentMethodRequest.php index 8af355a95f79..7997eb9efa69 100644 --- a/app/Http/Requests/ClientPortal/CreatePaymentMethodRequest.php +++ b/app/Http/Requests/ClientPortal/CreatePaymentMethodRequest.php @@ -2,6 +2,7 @@ namespace App\Http\Requests\ClientPortal; +use App\Http\Requests\Request; use Illuminate\Foundation\Http\FormRequest; class CreatePaymentMethodRequest extends FormRequest diff --git a/app/Http/Requests/ClientPortal/Documents/ShowDocumentRequest.php b/app/Http/Requests/ClientPortal/Documents/ShowDocumentRequest.php index dadcd7ec25a4..6db1346cbbc1 100644 --- a/app/Http/Requests/ClientPortal/Documents/ShowDocumentRequest.php +++ b/app/Http/Requests/ClientPortal/Documents/ShowDocumentRequest.php @@ -14,6 +14,7 @@ namespace App\Http\Requests\ClientPortal\Documents; use App\Models\Document; use App\Utils\Traits\MakesHash; + use Illuminate\Foundation\Http\FormRequest; class ShowDocumentRequest extends FormRequest diff --git a/app/Http/Requests/Credit/ActionCreditRequest.php b/app/Http/Requests/Credit/ActionCreditRequest.php index 6889c663831a..41919c632822 100644 --- a/app/Http/Requests/Credit/ActionCreditRequest.php +++ b/app/Http/Requests/Credit/ActionCreditRequest.php @@ -1,4 +1,13 @@ decodePrimaryKey($input['design_id']); } - if (array_key_exists('client_id', $input) && is_string($input['client_id'])) { - $input['client_id'] = $this->decodePrimaryKey($input['client_id']); - } - - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } - - if (isset($input['client_contacts'])) { - foreach ($input['client_contacts'] as $key => $contact) { - if (! array_key_exists('send_email', $contact) || ! array_key_exists('id', $contact)) { - unset($input['client_contacts'][$key]); - } - } - } - - if (isset($input['invitations'])) { - foreach ($input['invitations'] as $key => $value) { - if (isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id'])) { - unset($input['invitations'][$key]['id']); - } - - if (isset($input['invitations'][$key]['id']) && is_string($input['invitations'][$key]['id'])) { - $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']); - } - - if (is_string($input['invitations'][$key]['client_contact_id'])) { - $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']); - } - } - } + $input = $this->decodePrimaryKeys($input); $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; //$input['line_items'] = json_encode($input['line_items']); diff --git a/app/Http/Requests/Credit/UpdateCreditRequest.php b/app/Http/Requests/Credit/UpdateCreditRequest.php index 03e7ca722116..a1d1acecb056 100644 --- a/app/Http/Requests/Credit/UpdateCreditRequest.php +++ b/app/Http/Requests/Credit/UpdateCreditRequest.php @@ -1,13 +1,23 @@ all(); - if (array_key_exists('design_id', $input) && is_string($input['design_id'])) { - $input['design_id'] = $this->decodePrimaryKey($input['design_id']); - } - - if (isset($input['client_id'])) { - $input['client_id'] = $this->decodePrimaryKey($input['client_id']); - } - - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } - - if (isset($input['invitations'])) { - foreach ($input['invitations'] as $key => $value) { - if (is_numeric($input['invitations'][$key]['id'])) { - unset($input['invitations'][$key]['id']); - } - - if (is_string($input['invitations'][$key]['id'])) { - $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']); - } - - if (is_string($input['invitations'][$key]['client_contact_id'])) { - $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']); - } - } - } + $input = $this->decodePrimaryKeys($input); $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; diff --git a/app/Http/Requests/Document/DownloadMultipleDocumentsRequest.php b/app/Http/Requests/Document/DownloadMultipleDocumentsRequest.php index 34c6b11e3b3d..38e3b419a85d 100644 --- a/app/Http/Requests/Document/DownloadMultipleDocumentsRequest.php +++ b/app/Http/Requests/Document/DownloadMultipleDocumentsRequest.php @@ -12,9 +12,9 @@ namespace App\Http\Requests\Document; -use Illuminate\Foundation\Http\FormRequest; +use App\Http\Requests\Request; -class DownloadMultipleDocumentsRequest extends FormRequest +class DownloadMultipleDocumentsRequest extends Request { /** * Determine if the user is authorized to make this request. diff --git a/app/Http/Requests/Expense/BulkExpenseRequest.php b/app/Http/Requests/Expense/BulkExpenseRequest.php index ac0fade1591b..9d4d430d2586 100644 --- a/app/Http/Requests/Expense/BulkExpenseRequest.php +++ b/app/Http/Requests/Expense/BulkExpenseRequest.php @@ -1,12 +1,22 @@ id.',id,company_id,'.$this->company_id; - $rules['contacts.*.email'] = 'nullable|distinct'; - $rules['number'] = new UniqueExpenseNumberRule($this->all()); + $rules['client_id'] = 'bail|sometimes|exists:clients,id,company_id,'.auth()->user()->company()->id; - return $rules; + + return $this->globalRules($rules); } protected function prepareForValidation() { - // $input = $this->all(); + $input = $this->all(); + $input = $this->decodePrimaryKeys($input); - // $this->replace($input); + $this->replace($input); } public function messages() diff --git a/app/Http/Requests/ExpenseCategory/BulkExpenseCategoryRequest.php b/app/Http/Requests/ExpenseCategory/BulkExpenseCategoryRequest.php index 92b72f5e5b13..39ea6f22b2e7 100644 --- a/app/Http/Requests/ExpenseCategory/BulkExpenseCategoryRequest.php +++ b/app/Http/Requests/ExpenseCategory/BulkExpenseCategoryRequest.php @@ -1,12 +1,22 @@ all(); - if (array_key_exists('design_id', $input) && is_string($input['design_id'])) { - $input['design_id'] = $this->decodePrimaryKey($input['design_id']); - } - - if (array_key_exists('client_id', $input) && is_string($input['client_id'])) { - $input['client_id'] = $this->decodePrimaryKey($input['client_id']); - } - - if (array_key_exists('project_id', $input) && is_string($input['project_id'])) { - $input['project_id'] = $this->decodePrimaryKey($input['project_id']); - } - - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } - - if (isset($input['client_contacts'])) { - foreach ($input['client_contacts'] as $key => $contact) { - if (! array_key_exists('send_email', $contact) || ! array_key_exists('id', $contact)) { - unset($input['client_contacts'][$key]); - } - } - } - - if (isset($input['invitations'])) { - foreach ($input['invitations'] as $key => $value) { - if (isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id'])) { - unset($input['invitations'][$key]['id']); - } - - if (isset($input['invitations'][$key]['id']) && is_string($input['invitations'][$key]['id'])) { - $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']); - } - - if (is_string($input['invitations'][$key]['client_contact_id'])) { - $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']); - } - } - } + $input = $this->decodePrimaryKeys($input); $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; //$input['line_items'] = json_encode($input['line_items']); diff --git a/app/Http/Requests/Invoice/UpdateInvoiceRequest.php b/app/Http/Requests/Invoice/UpdateInvoiceRequest.php index a38cbe90f14d..6f71c4ab6dc5 100644 --- a/app/Http/Requests/Invoice/UpdateInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UpdateInvoiceRequest.php @@ -62,35 +62,10 @@ class UpdateInvoiceRequest extends Request { $input = $this->all(); - if (array_key_exists('design_id', $input) && is_string($input['design_id'])) { - $input['design_id'] = $this->decodePrimaryKey($input['design_id']); - } - - if (isset($input['client_id'])) { - $input['client_id'] = $this->decodePrimaryKey($input['client_id']); - } - - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } - - if (isset($input['invitations'])) { - foreach ($input['invitations'] as $key => $value) { - if (array_key_exists('id', $input['invitations'][$key]) && is_numeric($input['invitations'][$key]['id'])) { - unset($input['invitations'][$key]['id']); - } - - if (array_key_exists('id', $input['invitations'][$key]) && is_string($input['invitations'][$key]['id'])) { - $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']); - } - - if (is_string($input['invitations'][$key]['client_contact_id'])) { - $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']); - } - } - } + $input = $this->decodePrimaryKeys($input); $input['id'] = $this->invoice->id; + $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; $this->replace($input); diff --git a/app/Http/Requests/Migration/UploadMigrationFileRequest.php b/app/Http/Requests/Migration/UploadMigrationFileRequest.php index 0900f634a34c..6beae1f5c8c0 100644 --- a/app/Http/Requests/Migration/UploadMigrationFileRequest.php +++ b/app/Http/Requests/Migration/UploadMigrationFileRequest.php @@ -1,10 +1,20 @@ all(); - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } + $input = $this->decodePrimaryKeys($input); if (isset($input['client_id'])) { unset($input['client_id']); @@ -72,18 +70,6 @@ class UpdatePaymentRequest extends Request unset($input['amount']); } - // if (isset($input['type_id'])) { - // unset($input['type_id']); - // } - - // if (isset($input['date'])) { - // unset($input['date']); - // } - - // if (isset($input['transaction_reference'])) { - // unset($input['transaction_reference']); - // } - if (isset($input['number'])) { unset($input['number']); } diff --git a/app/Http/Requests/Payments/PaymentWebhookRequest.php b/app/Http/Requests/Payments/PaymentWebhookRequest.php index 48896cd418d1..f4177fe8b4b6 100644 --- a/app/Http/Requests/Payments/PaymentWebhookRequest.php +++ b/app/Http/Requests/Payments/PaymentWebhookRequest.php @@ -1,12 +1,22 @@ all() as $key => $value) + { + if(method_exists($this, $key)) + $rules = $this->{$key}($rules); + } + + return $rules; + } + + private function assigned_user_id($rules) + { + $rules['assigned_user_id'] = [ + 'bail' , + 'sometimes', + 'nullable', + new RelatedUserRule($this->all()) + ]; + + return $rules; + } + + private function invoice_id($rules) + { + $rules['invoice_id'] = 'bail|nullable|sometimes|exists:invoices,id,company_id,'.auth()->user()->company()->id.',client_id,'.$this['client_id']; + + return $rules; + } + + private function vendor_id($rules) + { + $rules['vendor_id'] = 'bail|sometimes|exists:vendors,id,company_id,'.auth()->user()->company()->id; + + return $rules; + } + + public function decodePrimaryKeys($input) + { + + if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { + $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); + } + + if (array_key_exists('user_id', $input) && is_string($input['user_id'])) { + $input['user_id'] = $this->decodePrimaryKey($input['user_id']); + } + + if (array_key_exists('vendor_id', $input) && is_string($input['vendor_id'])) { + $input['vendor_id'] = $this->decodePrimaryKey($input['vendor_id']); + } + + if (array_key_exists('client_id', $input) && is_string($input['client_id'])) { + $input['client_id'] = $this->decodePrimaryKey($input['client_id']); + } + + if (array_key_exists('invoice_id', $input) && is_string($input['invoice_id'])) { + $input['invoice_id'] = $this->decodePrimaryKey($input['invoice_id']); + } + + if (array_key_exists('design_id', $input) && is_string($input['design_id'])) { + $input['design_id'] = $this->decodePrimaryKey($input['design_id']); + } + + if (array_key_exists('project_id', $input) && is_string($input['project_id'])) { + $input['project_id'] = $this->decodePrimaryKey($input['project_id']); + } + + if (isset($input['client_contacts'])) { + foreach ($input['client_contacts'] as $key => $contact) { + if (! array_key_exists('send_email', $contact) || ! array_key_exists('id', $contact)) { + unset($input['client_contacts'][$key]); + } + } + } + + if (isset($input['invitations'])) { + foreach ($input['invitations'] as $key => $value) { + if (isset($input['invitations'][$key]['id']) && is_numeric($input['invitations'][$key]['id'])) { + unset($input['invitations'][$key]['id']); + } + + if (isset($input['invitations'][$key]['id']) && is_string($input['invitations'][$key]['id'])) { + $input['invitations'][$key]['id'] = $this->decodePrimaryKey($input['invitations'][$key]['id']); + } + + if (is_string($input['invitations'][$key]['client_contact_id'])) { + $input['invitations'][$key]['client_contact_id'] = $this->decodePrimaryKey($input['invitations'][$key]['client_contact_id']); + } + } + } + + if (isset($input['contacts'])) { + foreach ($input['contacts'] as $key => $contact) { + if (array_key_exists('id', $contact) && is_numeric($contact['id'])) { + unset($input['contacts'][$key]['id']); + } elseif (array_key_exists('id', $contact) && is_string($contact['id'])) { + $input['contacts'][$key]['id'] = $this->decodePrimaryKey($contact['id']); + } + + //Filter the client contact password - if it is sent with ***** we should ignore it! + if (isset($contact['password'])) { + if (strlen($contact['password']) == 0) { + $input['contacts'][$key]['password'] = ''; + } else { + $contact['password'] = str_replace('*', '', $contact['password']); + + if (strlen($contact['password']) == 0) { + unset($input['contacts'][$key]['password']); + } + } + } + } + } + + return $input; + } } diff --git a/app/Http/Requests/Setup/CheckDatabaseRequest.php b/app/Http/Requests/Setup/CheckDatabaseRequest.php index 082cd56cf4cc..9de2aa8a3c41 100644 --- a/app/Http/Requests/Setup/CheckDatabaseRequest.php +++ b/app/Http/Requests/Setup/CheckDatabaseRequest.php @@ -1,10 +1,20 @@ all(); - if (array_key_exists('assigned_user_id', $input) && is_string($input['assigned_user_id'])) { - $input['assigned_user_id'] = $this->decodePrimaryKey($input['assigned_user_id']); - } + $input = $this->decodePrimaryKeys($input); $this->replace($input); } diff --git a/app/Http/Requests/Webhook/BulkWebhookRequest.php b/app/Http/Requests/Webhook/BulkWebhookRequest.php index aa178f22f266..4d10836505d2 100644 --- a/app/Http/Requests/Webhook/BulkWebhookRequest.php +++ b/app/Http/Requests/Webhook/BulkWebhookRequest.php @@ -1,12 +1,22 @@ input = $input; + } + /** + * @param string $attribute + * @param mixed $value + * @return bool + */ + public function passes($attribute, $value) + { + return $this->checkUserIsRelated($value); + } + + /** + * @return string + */ + public function message() + { + return 'User not associated with this account'; + } + + /** + * @param $email + * @return bool + */ + private function checkUserIsRelated($user_id) : bool + { + return User::query() + ->where('id', $user_id) + ->where('account_id', auth()->user()->company()->account_id) + ->exists(); + } +} diff --git a/app/Models/Expense.php b/app/Models/Expense.php index e8db121cb19d..1747164b7769 100644 --- a/app/Models/Expense.php +++ b/app/Models/Expense.php @@ -23,7 +23,9 @@ class Expense extends BaseModel protected $fillable = [ 'client_id', + 'assigned_user_id', 'vendor_id', + 'invoice_id', 'expense_currency_id', 'date', 'invoice_currency_id', @@ -34,7 +36,7 @@ class Expense extends BaseModel 'public_notes', 'bank_id', 'transaction_id', - 'expense_category_id', + 'category_id', 'tax_rate1', 'tax_name1', 'tax_rate2', diff --git a/app/Transformers/ExpenseTransformer.php b/app/Transformers/ExpenseTransformer.php index ac2f0eac9b6f..c26bde1dc1d6 100644 --- a/app/Transformers/ExpenseTransformer.php +++ b/app/Transformers/ExpenseTransformer.php @@ -80,6 +80,7 @@ class ExpenseTransformer extends EntityTransformer 'transaction_id' => (string) $expense->transaction_id ?: '', //'date' => $expense->date ?: '', 'expense_date' => $expense->date ?: '', + 'number' => (string)$expense->number ?: '', 'payment_date' => $expense->payment_date ?: '', 'custom_value1' => $expense->custom_value1 ?: '', 'custom_value2' => $expense->custom_value2 ?: '', diff --git a/app/Transformers/VendorTransformer.php b/app/Transformers/VendorTransformer.php index e6a4c7799c03..5f5da73700fa 100644 --- a/app/Transformers/VendorTransformer.php +++ b/app/Transformers/VendorTransformer.php @@ -106,6 +106,7 @@ class VendorTransformer extends EntityTransformer 'updated_at' => (int) $vendor->updated_at, 'archived_at' => (int) $vendor->deleted_at, 'created_at' => (int) $vendor->created_at, + 'number' => (string)$vendor->number ?: '', ]; } } diff --git a/composer.lock b/composer.lock index 6240140f017d..a013bee1626f 100644 --- a/composer.lock +++ b/composer.lock @@ -108,16 +108,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.158.10", + "version": "3.158.11", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "a492e9aac7cba87177c06095c4e5bc9adcb1e397" + "reference": "cdf3c097a606087654ac90ea1ffb8f3e86c423be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a492e9aac7cba87177c06095c4e5bc9adcb1e397", - "reference": "a492e9aac7cba87177c06095c4e5bc9adcb1e397", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cdf3c097a606087654ac90ea1ffb8f3e86c423be", + "reference": "cdf3c097a606087654ac90ea1ffb8f3e86c423be", "shasum": "" }, "require": { @@ -189,7 +189,7 @@ "s3", "sdk" ], - "time": "2020-10-20T18:11:49+00:00" + "time": "2020-10-21T18:12:19+00:00" }, { "name": "brick/math", @@ -2716,16 +2716,16 @@ }, { "name": "laravel/socialite", - "version": "v5.0.2", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "87dfaaa0e0a85b707582e4f9bc8dab9664dcb0a4" + "reference": "8197acf2fe5446a2800b95d250c1da72fd6051bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/87dfaaa0e0a85b707582e4f9bc8dab9664dcb0a4", - "reference": "87dfaaa0e0a85b707582e4f9bc8dab9664dcb0a4", + "url": "https://api.github.com/repos/laravel/socialite/zipball/8197acf2fe5446a2800b95d250c1da72fd6051bc", + "reference": "8197acf2fe5446a2800b95d250c1da72fd6051bc", "shasum": "" }, "require": { @@ -2777,7 +2777,7 @@ "laravel", "oauth" ], - "time": "2020-10-20T18:53:05+00:00" + "time": "2020-10-21T12:45:02+00:00" }, { "name": "laravel/tinker", @@ -4475,21 +4475,21 @@ }, { "name": "php-http/guzzle7-adapter", - "version": "0.1.0", + "version": "0.1.1", "source": { "type": "git", "url": "https://github.com/php-http/guzzle7-adapter.git", - "reference": "5b361e0dbd7d9d5e21f80400bcccf9fb8d5d1f1e" + "reference": "1967de656b9679a2a6a66d0e4e16fa99bbed1ad1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/5b361e0dbd7d9d5e21f80400bcccf9fb8d5d1f1e", - "reference": "5b361e0dbd7d9d5e21f80400bcccf9fb8d5d1f1e", + "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/1967de656b9679a2a6a66d0e4e16fa99bbed1ad1", + "reference": "1967de656b9679a2a6a66d0e4e16fa99bbed1ad1", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.0", - "php": "^7.2", + "php": "^7.2 | ^8.0", "php-http/httplug": "^2.0", "psr/http-client": "^1.0" }, @@ -4499,8 +4499,8 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "php-http/client-integration-tests": "^2.0", - "phpunit/phpunit": "^7.4" + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.0|^9.3" }, "type": "library", "extra": { @@ -4529,7 +4529,7 @@ "Guzzle", "http" ], - "time": "2020-09-17T07:29:54+00:00" + "time": "2020-10-21T17:30:51+00:00" }, { "name": "php-http/httplug", @@ -6588,7 +6588,7 @@ "type": "tidelift" } ], - "time": "2020-09-18T14:27:32+00:00" + "time": "2020-10-07T15:23:00+00:00" }, { "name": "symfony/css-selector", @@ -9875,22 +9875,22 @@ }, { "name": "facade/flare-client-php", - "version": "1.3.6", + "version": "1.3.7", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799" + "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799", - "reference": "451fadf38e9f635e7f8e1f5b3cf5c9eb82f11799", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/fd688d3c06658f2b3b5f7bb19f051ee4ddf02492", + "reference": "fd688d3c06658f2b3b5f7bb19f051ee4ddf02492", "shasum": "" }, "require": { "facade/ignition-contracts": "~1.0", "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1", + "php": "^7.1|^8.0", "symfony/http-foundation": "^3.3|^4.1|^5.0", "symfony/mime": "^3.4|^4.0|^5.1", "symfony/var-dumper": "^3.4|^4.0|^5.0" @@ -9932,7 +9932,7 @@ "type": "github" } ], - "time": "2020-09-18T06:35:11+00:00" + "time": "2020-10-21T16:02:39+00:00" }, { "name": "facade/ignition", diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php index 28edf4625a34..a19aa434da38 100644 --- a/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -1,4 +1,14 @@ unsignedInteger('assigned_user_id')->nullable()->change(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/routes/api.php b/routes/api.php index 440ecfdd3001..1834a754da2a 100644 --- a/routes/api.php +++ b/routes/api.php @@ -18,7 +18,6 @@ Route::group(['middleware' => ['api_secret_check']], function () { Route::group(['api_secret_check', 'email_db'], function () { Route::post('api/v1/login', 'Auth\LoginController@apiLogin')->name('login.submit'); - // Route::post('api/v1/reset_password', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.reset'); Route::post('api/v1/reset_password', 'Auth\ForgotPasswordController@sendResetLinkEmail'); }); diff --git a/tests/Feature/ActivityApiTest.php b/tests/Feature/ActivityApiTest.php new file mode 100644 index 000000000000..70357b0d5110 --- /dev/null +++ b/tests/Feature/ActivityApiTest.php @@ -0,0 +1,46 @@ +makeTestData(); + + } + + public function testActivityGet() + { + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->get('/api/v1/activities/'); + + $response->assertStatus(200); + } + +} diff --git a/tests/Feature/ClientTest.php b/tests/Feature/ClientTest.php index d7496d1d9fcf..5a2f51c530c3 100644 --- a/tests/Feature/ClientTest.php +++ b/tests/Feature/ClientTest.php @@ -516,7 +516,7 @@ class ClientTest extends TestCase $response->assertStatus(200); $arr = $response->json(); - +info($arr); $this->client = Client::find($this->decodePrimaryKey($arr['data']['id'])); $this->client->fresh(); diff --git a/tests/Feature/PingTest.php b/tests/Feature/PingTest.php new file mode 100644 index 000000000000..ae808d5d7d01 --- /dev/null +++ b/tests/Feature/PingTest.php @@ -0,0 +1,56 @@ +makeTestData(); + + } + + public function testPingEndPoint() + { + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->get('/api/v1/ping'); + + $response->assertStatus(200); + + } + + public function testHealthCheck() + { + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->get('/api/v1/health_check'); + + $response->assertStatus(200); + + } +} diff --git a/tests/Integration/CompanyLedgerTest.php b/tests/Integration/CompanyLedgerTest.php index 0f438b5c8c57..d7216518ffd5 100644 --- a/tests/Integration/CompanyLedgerTest.php +++ b/tests/Integration/CompanyLedgerTest.php @@ -36,6 +36,7 @@ use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Schema; use Tests\MockAccountData; use Tests\TestCase; +use Illuminate\Validation\ValidationException; /** @test*/ class CompanyLedgerTest extends TestCase @@ -57,6 +58,9 @@ class CompanyLedgerTest extends TestCase { parent::setUp(); + $this->withoutExceptionHandling(); + + /* Warm up the cache !*/ $cached_tables = config('ninja.cached_tables'); @@ -222,10 +226,15 @@ class CompanyLedgerTest extends TestCase 'date' => '2020/12/11', ]; + try { $response = $this->withHeaders([ 'X-API-SECRET' => config('ninja.api_secret'), 'X-API-TOKEN' => $this->token, ])->post('/api/v1/payments/', $data); + + } catch (ValidationException $e) { + info(print_r($e->validator->getMessageBag(), 1)); + } $acc = $response->json();