added category selected tradings api
This commit is contained in:
parent
0aa0a4942a
commit
d9c2cc0c2a
|
|
@ -40,6 +40,7 @@ class CategoryCrudController extends CrudController
|
|||
*/
|
||||
protected function setupListOperation()
|
||||
{
|
||||
CRUD::column('id');
|
||||
CRUD::column('title');
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\SelectedTradingRequest;
|
||||
use Backpack\CRUD\app\Http\Controllers\CrudController;
|
||||
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade as CRUD;
|
||||
|
||||
/**
|
||||
* Class SelectedTradingCrudController
|
||||
* @package App\Http\Controllers\Admin
|
||||
* @property-read \Backpack\CRUD\app\Library\CrudPanel\CrudPanel $crud
|
||||
*/
|
||||
class SelectedTradingCrudController extends CrudController
|
||||
{
|
||||
use \Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
|
||||
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
|
||||
use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
|
||||
use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
|
||||
use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;
|
||||
|
||||
/**
|
||||
* Configure the CrudPanel object. Apply settings to all operations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup()
|
||||
{
|
||||
CRUD::setModel(\App\Models\SelectedTrading::class);
|
||||
CRUD::setRoute(config('backpack.base.route_prefix') . '/selected-trading');
|
||||
CRUD::setEntityNameStrings('selected trading', 'selected tradings');
|
||||
}
|
||||
|
||||
/**
|
||||
* Define what happens when the List operation is loaded.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-list-entries
|
||||
* @return void
|
||||
*/
|
||||
protected function setupListOperation()
|
||||
{
|
||||
CRUD::column('category_id');
|
||||
CRUD::column('title');
|
||||
|
||||
/**
|
||||
* Columns can be defined using the fluent syntax or array syntax:
|
||||
* - CRUD::column('price')->type('number');
|
||||
* - CRUD::addColumn(['name' => 'price', 'type' => 'number']);
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Define what happens when the Create operation is loaded.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-create
|
||||
* @return void
|
||||
*/
|
||||
protected function setupCreateOperation()
|
||||
{
|
||||
CRUD::setValidation(SelectedTradingRequest::class);
|
||||
|
||||
CRUD::field('category_id');
|
||||
CRUD::field('title');
|
||||
|
||||
/**
|
||||
* Fields can be defined using the fluent syntax or array syntax:
|
||||
* - CRUD::field('price')->type('number');
|
||||
* - CRUD::addField(['name' => 'price', 'type' => 'number']));
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Define what happens when the Update operation is loaded.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-update
|
||||
* @return void
|
||||
*/
|
||||
protected function setupUpdateOperation()
|
||||
{
|
||||
$this->setupCreateOperation();
|
||||
}
|
||||
}
|
||||
|
|
@ -42,7 +42,6 @@ class TradingCrudController extends CrudController
|
|||
CRUD::column('group_id');
|
||||
CRUD::column('subgroup_id');
|
||||
CRUD::column('category_id');
|
||||
// CRUD::column('type');
|
||||
CRUD::column('title');
|
||||
CRUD::column('price');
|
||||
CRUD::column('unit');
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@
|
|||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class ApiBaseController extends Controller
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Category;
|
||||
use App\Models\Group;
|
||||
use App\Models\Trading;
|
||||
use App\Transformers\TradingTransformer;
|
||||
|
|
@ -9,9 +10,9 @@ use Illuminate\Http\Request;
|
|||
|
||||
class TradingsController extends ApiController
|
||||
{
|
||||
public function index(Request $request)
|
||||
public function index()
|
||||
{
|
||||
$last_tradings = Group::where("type", "trading")->with("tradings")->latest()->first()->tradings;
|
||||
$last_tradings = Group::where("type", "trading")->with("tradings")->latest()->first()->tradings;
|
||||
foreach($last_tradings as $trading){
|
||||
$trading->title = trim(strtok($trading->title, '('));;
|
||||
}
|
||||
|
|
@ -27,15 +28,10 @@ class TradingsController extends ApiController
|
|||
array_push($tradings, (object)[
|
||||
'id' => $trading->id,
|
||||
'title' => $title,
|
||||
'unit' => $trading->unit,
|
||||
'price' => $trading->price,
|
||||
'old_price' => !$before_last_trading ? 0 : $before_last_trading->price,
|
||||
'price_change' => number_format($difference, 1, ".", "")."%",
|
||||
'amount' => $trading->amount,
|
||||
'currency' => $trading->currency,
|
||||
'seller_country' => $trading->seller_country,
|
||||
'buyer_country' => $trading->buyer_country,
|
||||
'point' => $trading->point,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -44,11 +40,51 @@ class TradingsController extends ApiController
|
|||
return $this->respondWithCollection($tradings, new TradingTransformer);
|
||||
}
|
||||
|
||||
public function selectedTradings(Request $request){
|
||||
$id = $request->category;
|
||||
|
||||
if($id){
|
||||
$category = Category::with('selectedTradings')->find($id);
|
||||
if($category){
|
||||
$selectedTradings = $category->selectedTradings;
|
||||
$myTradings = array();
|
||||
foreach ($selectedTradings as $item) {
|
||||
$tradings = Trading::where("title", 'LIKE', "%{$item->title}%")->orderBy('created_at', 'DESC')->get();
|
||||
$tradings = $tradings->unique('group_id')->slice(0, 10)->values();
|
||||
|
||||
$prices = array();
|
||||
foreach ($tradings as $trading) {
|
||||
array_push($prices, (object)[
|
||||
'price' => $trading->price,
|
||||
'date' => $trading->created_at->todatetimestring(),
|
||||
]);
|
||||
}
|
||||
|
||||
$last_trading = $tradings[0];
|
||||
$before_last_trading = count($tradings) > 1 ? $tradings[1] : null;
|
||||
$difference = !$before_last_trading ? 0 : $this->getPercentageDifference($last_trading->price ?? 0, $before_last_trading->price ?? 0);
|
||||
|
||||
array_push($myTradings, (object)[
|
||||
'id' => $last_trading->id,
|
||||
'title' => trim(strtok($last_trading->title, '(')),
|
||||
'price' => $last_trading->price,
|
||||
'old_price' => !$before_last_trading ? 0 : $before_last_trading->price,
|
||||
'price_change' => !$before_last_trading ? '100%' : number_format($difference, 1, ".", "")."%",
|
||||
'currency' => $last_trading->currency,
|
||||
'all_prices' => $prices
|
||||
]);
|
||||
}
|
||||
|
||||
$tradings = Trading::hydrate($myTradings);
|
||||
return $this->respondWithCollection($tradings, new TradingTransformer('selected'));
|
||||
}
|
||||
return $this->errorNotFound();
|
||||
}
|
||||
return $this->errorWrongArgs();
|
||||
|
||||
|
||||
}
|
||||
function getPercentageDifference($new, $old){
|
||||
// return (($new - $old) / $old) * 100;
|
||||
// return (abs(($old - $new)) / ($old + $new) /2);
|
||||
// return (abs($old - $new) / (($old + $new)/ 2)) * 100;
|
||||
// return (abs($old - $new) / (($old + $new)/ 2)) * 100;
|
||||
return (($new - $old) / abs($old)) * 100;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class SelectedTradingRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
// only allow updates if the user is logged in
|
||||
return backpack_auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
// 'name' => 'required|min:5|max:255'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation attributes that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function attributes()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation messages that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function messages()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class StoreSelectedTradingRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateSelectedTradingRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -31,4 +31,9 @@ class Category extends Model
|
|||
{
|
||||
return $this->hasMany(Trading::class);
|
||||
}
|
||||
|
||||
public function selectedTradings()
|
||||
{
|
||||
return $this->hasMany(SelectedTrading::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SelectedTrading extends Model
|
||||
{
|
||||
use \Backpack\CRUD\app\Models\Traits\CrudTrait;
|
||||
use HasFactory;
|
||||
|
||||
protected $guarded = [''];
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->belongsTo(Category::class);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
|
||||
namespace App\Policies;
|
||||
|
||||
use App\Models\SelectedTrading;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||
|
||||
class SelectedTradingPolicy
|
||||
{
|
||||
use HandlesAuthorization;
|
||||
|
||||
/**
|
||||
* Determine whether the user can view any models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function viewAny(User $user)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can view the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\SelectedTrading $selectedTrading
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function view(User $user, SelectedTrading $selectedTrading)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can create models.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function create(User $user)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can update the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\SelectedTrading $selectedTrading
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function update(User $user, SelectedTrading $selectedTrading)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can delete the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\SelectedTrading $selectedTrading
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function delete(User $user, SelectedTrading $selectedTrading)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can restore the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\SelectedTrading $selectedTrading
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function restore(User $user, SelectedTrading $selectedTrading)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the user can permanently delete the model.
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Models\SelectedTrading $selectedTrading
|
||||
* @return \Illuminate\Auth\Access\Response|bool
|
||||
*/
|
||||
public function forceDelete(User $user, SelectedTrading $selectedTrading)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
@ -7,20 +7,30 @@ use League\Fractal\TransformerAbstract;
|
|||
|
||||
class TradingTransformer extends TransformerAbstract
|
||||
{
|
||||
private $type;
|
||||
|
||||
public function __construct($type='')
|
||||
{
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
public function transform(Trading $trading)
|
||||
{
|
||||
return [
|
||||
return $this->type == 'selected' ? [
|
||||
'id' => $trading->id,
|
||||
'title' => $trading->title,
|
||||
'price' => $trading->price,
|
||||
'old_price' => $trading->old_price,
|
||||
'price_change' => $trading->price_change,
|
||||
'currency' => $trading->currency,
|
||||
'all_prices' => $trading->all_prices,
|
||||
] : [
|
||||
'id' => $trading->id,
|
||||
'title' => $trading->title,
|
||||
'unit' => $trading->unit,
|
||||
'price' => $trading->price,
|
||||
'old_price' => $trading->old_price,
|
||||
'price_change' => $trading->price_change,
|
||||
'amount' => $trading->amount,
|
||||
'currency' => $trading->currency,
|
||||
'seller_country' => $trading->seller_country,
|
||||
'buyer_country' => $trading->buyer_country,
|
||||
'point' => $trading->point,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -29,6 +29,17 @@
|
|||
'Gravatar' => 'Creativeorange\\Gravatar\\Facades\\Gravatar',
|
||||
),
|
||||
),
|
||||
'digitallyhappy/assets' =>
|
||||
array (
|
||||
'providers' =>
|
||||
array (
|
||||
0 => 'DigitallyHappy\\Assets\\AssetsServiceProvider',
|
||||
),
|
||||
'aliases' =>
|
||||
array (
|
||||
'Assets' => 'DigitallyHappy\\Assets\\Facades\\Assets',
|
||||
),
|
||||
),
|
||||
'facade/ignition' =>
|
||||
array (
|
||||
'providers' =>
|
||||
|
|
|
|||
|
|
@ -26,32 +26,33 @@
|
|||
22 => 'Backpack\\CRUD\\BackpackServiceProvider',
|
||||
23 => 'Backpack\\Generators\\GeneratorsServiceProvider',
|
||||
24 => 'Creativeorange\\Gravatar\\GravatarServiceProvider',
|
||||
25 => 'Facade\\Ignition\\IgnitionServiceProvider',
|
||||
26 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||
27 => 'Fruitcake\\Cors\\CorsServiceProvider',
|
||||
28 => 'Inertia\\ServiceProvider',
|
||||
29 => 'Intervention\\Image\\ImageServiceProvider',
|
||||
30 => 'Jenssegers\\Agent\\AgentServiceProvider',
|
||||
31 => 'Laravel\\Fortify\\FortifyServiceProvider',
|
||||
32 => 'Laravel\\Jetstream\\JetstreamServiceProvider',
|
||||
33 => 'Laravel\\Sail\\SailServiceProvider',
|
||||
34 => 'Laravel\\Sanctum\\SanctumServiceProvider',
|
||||
35 => 'Laravel\\Scout\\ScoutServiceProvider',
|
||||
36 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
||||
37 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||
38 => 'Carbon\\Laravel\\ServiceProvider',
|
||||
39 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
||||
40 => 'Prologue\\Alerts\\AlertsServiceProvider',
|
||||
41 => 'Spatie\\Translatable\\TranslatableServiceProvider',
|
||||
42 => 'Tightenco\\Ziggy\\ZiggyServiceProvider',
|
||||
43 => 'TimeHunter\\LaravelGoogleReCaptchaV3\\Providers\\GoogleReCaptchaV3ServiceProvider',
|
||||
44 => 'Vinkla\\Hashids\\HashidsServiceProvider',
|
||||
45 => 'App\\Providers\\AppServiceProvider',
|
||||
46 => 'App\\Providers\\AuthServiceProvider',
|
||||
47 => 'App\\Providers\\EventServiceProvider',
|
||||
48 => 'App\\Providers\\RouteServiceProvider',
|
||||
49 => 'App\\Providers\\FortifyServiceProvider',
|
||||
50 => 'App\\Providers\\JetstreamServiceProvider',
|
||||
25 => 'DigitallyHappy\\Assets\\AssetsServiceProvider',
|
||||
26 => 'Facade\\Ignition\\IgnitionServiceProvider',
|
||||
27 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||
28 => 'Fruitcake\\Cors\\CorsServiceProvider',
|
||||
29 => 'Inertia\\ServiceProvider',
|
||||
30 => 'Intervention\\Image\\ImageServiceProvider',
|
||||
31 => 'Jenssegers\\Agent\\AgentServiceProvider',
|
||||
32 => 'Laravel\\Fortify\\FortifyServiceProvider',
|
||||
33 => 'Laravel\\Jetstream\\JetstreamServiceProvider',
|
||||
34 => 'Laravel\\Sail\\SailServiceProvider',
|
||||
35 => 'Laravel\\Sanctum\\SanctumServiceProvider',
|
||||
36 => 'Laravel\\Scout\\ScoutServiceProvider',
|
||||
37 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
||||
38 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||
39 => 'Carbon\\Laravel\\ServiceProvider',
|
||||
40 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
||||
41 => 'Prologue\\Alerts\\AlertsServiceProvider',
|
||||
42 => 'Spatie\\Translatable\\TranslatableServiceProvider',
|
||||
43 => 'Tightenco\\Ziggy\\ZiggyServiceProvider',
|
||||
44 => 'TimeHunter\\LaravelGoogleReCaptchaV3\\Providers\\GoogleReCaptchaV3ServiceProvider',
|
||||
45 => 'Vinkla\\Hashids\\HashidsServiceProvider',
|
||||
46 => 'App\\Providers\\AppServiceProvider',
|
||||
47 => 'App\\Providers\\AuthServiceProvider',
|
||||
48 => 'App\\Providers\\EventServiceProvider',
|
||||
49 => 'App\\Providers\\RouteServiceProvider',
|
||||
50 => 'App\\Providers\\FortifyServiceProvider',
|
||||
51 => 'App\\Providers\\JetstreamServiceProvider',
|
||||
),
|
||||
'eager' =>
|
||||
array (
|
||||
|
|
@ -68,30 +69,31 @@
|
|||
10 => 'Backpack\\CRUD\\BackpackServiceProvider',
|
||||
11 => 'Backpack\\Generators\\GeneratorsServiceProvider',
|
||||
12 => 'Creativeorange\\Gravatar\\GravatarServiceProvider',
|
||||
13 => 'Facade\\Ignition\\IgnitionServiceProvider',
|
||||
14 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||
15 => 'Fruitcake\\Cors\\CorsServiceProvider',
|
||||
16 => 'Inertia\\ServiceProvider',
|
||||
17 => 'Intervention\\Image\\ImageServiceProvider',
|
||||
18 => 'Jenssegers\\Agent\\AgentServiceProvider',
|
||||
19 => 'Laravel\\Fortify\\FortifyServiceProvider',
|
||||
20 => 'Laravel\\Jetstream\\JetstreamServiceProvider',
|
||||
21 => 'Laravel\\Sanctum\\SanctumServiceProvider',
|
||||
22 => 'Laravel\\Scout\\ScoutServiceProvider',
|
||||
23 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||
24 => 'Carbon\\Laravel\\ServiceProvider',
|
||||
25 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
||||
26 => 'Prologue\\Alerts\\AlertsServiceProvider',
|
||||
27 => 'Spatie\\Translatable\\TranslatableServiceProvider',
|
||||
28 => 'Tightenco\\Ziggy\\ZiggyServiceProvider',
|
||||
29 => 'TimeHunter\\LaravelGoogleReCaptchaV3\\Providers\\GoogleReCaptchaV3ServiceProvider',
|
||||
30 => 'Vinkla\\Hashids\\HashidsServiceProvider',
|
||||
31 => 'App\\Providers\\AppServiceProvider',
|
||||
32 => 'App\\Providers\\AuthServiceProvider',
|
||||
33 => 'App\\Providers\\EventServiceProvider',
|
||||
34 => 'App\\Providers\\RouteServiceProvider',
|
||||
35 => 'App\\Providers\\FortifyServiceProvider',
|
||||
36 => 'App\\Providers\\JetstreamServiceProvider',
|
||||
13 => 'DigitallyHappy\\Assets\\AssetsServiceProvider',
|
||||
14 => 'Facade\\Ignition\\IgnitionServiceProvider',
|
||||
15 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
||||
16 => 'Fruitcake\\Cors\\CorsServiceProvider',
|
||||
17 => 'Inertia\\ServiceProvider',
|
||||
18 => 'Intervention\\Image\\ImageServiceProvider',
|
||||
19 => 'Jenssegers\\Agent\\AgentServiceProvider',
|
||||
20 => 'Laravel\\Fortify\\FortifyServiceProvider',
|
||||
21 => 'Laravel\\Jetstream\\JetstreamServiceProvider',
|
||||
22 => 'Laravel\\Sanctum\\SanctumServiceProvider',
|
||||
23 => 'Laravel\\Scout\\ScoutServiceProvider',
|
||||
24 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
||||
25 => 'Carbon\\Laravel\\ServiceProvider',
|
||||
26 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
|
||||
27 => 'Prologue\\Alerts\\AlertsServiceProvider',
|
||||
28 => 'Spatie\\Translatable\\TranslatableServiceProvider',
|
||||
29 => 'Tightenco\\Ziggy\\ZiggyServiceProvider',
|
||||
30 => 'TimeHunter\\LaravelGoogleReCaptchaV3\\Providers\\GoogleReCaptchaV3ServiceProvider',
|
||||
31 => 'Vinkla\\Hashids\\HashidsServiceProvider',
|
||||
32 => 'App\\Providers\\AppServiceProvider',
|
||||
33 => 'App\\Providers\\AuthServiceProvider',
|
||||
34 => 'App\\Providers\\EventServiceProvider',
|
||||
35 => 'App\\Providers\\RouteServiceProvider',
|
||||
36 => 'App\\Providers\\FortifyServiceProvider',
|
||||
37 => 'App\\Providers\\JetstreamServiceProvider',
|
||||
),
|
||||
'deferred' =>
|
||||
array (
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"backpack/crud": "4.1.*",
|
||||
"backpack/generators": "3.1",
|
||||
"backpack/crud": "^5.4",
|
||||
"doctrine/dbal": "^3.1",
|
||||
"fideloper/proxy": "^4.4",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
|
|
@ -30,6 +29,7 @@
|
|||
"vinkla/hashids": "^9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"backpack/generators": "^3.3",
|
||||
"facade/ignition": "^2.5",
|
||||
"fakerphp/faker": "^1.9.1",
|
||||
"laravel/sail": "^1.0.1",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f28b6d2da4dab2aa93154b8aad8d319e",
|
||||
"content-hash": "69e7f8d07e328c25ef6627fc6b2a0ab0",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
|
|
@ -64,31 +64,32 @@
|
|||
},
|
||||
{
|
||||
"name": "backpack/crud",
|
||||
"version": "4.1.71",
|
||||
"version": "5.4.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Laravel-Backpack/CRUD.git",
|
||||
"reference": "03a0ad4a8d7182d6ee9cf9c86d784d171a942484"
|
||||
"reference": "050b288caf2f60c79313f2b0b7d4fefd25177f3f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/03a0ad4a8d7182d6ee9cf9c86d784d171a942484",
|
||||
"reference": "03a0ad4a8d7182d6ee9cf9c86d784d171a942484",
|
||||
"url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/050b288caf2f60c79313f2b0b7d4fefd25177f3f",
|
||||
"reference": "050b288caf2f60c79313f2b0b7d4fefd25177f3f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer/package-versions-deprecated": "^1.8",
|
||||
"creativeorange/gravatar": "~1.0",
|
||||
"digitallyhappy/assets": "^2.0.1",
|
||||
"doctrine/dbal": "^2.5|^3.0",
|
||||
"guzzlehttp/guzzle": "^7.0|^6.3",
|
||||
"laravel/framework": "^8.0|^7.0|^6.0",
|
||||
"prologue/alerts": "^0.4.1"
|
||||
"laravel/framework": "^9.0|^8.69",
|
||||
"prologue/alerts": "^1.0|^0.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^6.0|^5.0|^4.0|^3.0",
|
||||
"orchestra/testbench": "^7.0|^6.0|^5.0|^4.0|^3.0",
|
||||
"phpunit/phpunit": "~8.0|~7.0|~9.0",
|
||||
"scrutinizer/ocular": "~1.7|~1.1",
|
||||
"spatie/laravel-translatable": "^4.0"
|
||||
"spatie/laravel-translatable": "^4.0|^5.0|^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"backpack/filemanager": "Required to use the browse and browse_multiple fields.",
|
||||
|
|
@ -118,12 +119,12 @@
|
|||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"proprietary"
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Cristian Tabacitu",
|
||||
"email": "tabacitu@backpackforlaravel.com",
|
||||
"email": "cristian.tabacitu@backpackforlaravel.com",
|
||||
"homepage": "https://backpackforlaravel.com",
|
||||
"role": "Creator & Maintainer"
|
||||
}
|
||||
|
|
@ -151,73 +152,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Laravel-Backpack/CRUD/issues",
|
||||
"source": "https://github.com/Laravel-Backpack/CRUD/tree/4.1.71"
|
||||
"source": "https://github.com/Laravel-Backpack/CRUD/tree/5.4.10"
|
||||
},
|
||||
"time": "2022-08-08T16:30:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "backpack/generators",
|
||||
"version": "v3.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Laravel-Backpack/Generators.git",
|
||||
"reference": "12a44a285ff65cdff649e2a1560d0d0f917c2f7d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Laravel-Backpack/Generators/zipball/12a44a285ff65cdff649e2a1560d0d0f917c2f7d",
|
||||
"reference": "12a44a285ff65cdff649e2a1560d0d0f917c2f7d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"backpack/crud": "4.1.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.0||^7.0",
|
||||
"scrutinizer/ocular": "~1.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Backpack\\Generators\\GeneratorsServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Backpack\\Generators\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"proprietary"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Cristian Tone",
|
||||
"email": "cristitone@outlook.com",
|
||||
"homepage": "http://updivision.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Generate files for laravel projects",
|
||||
"homepage": "https://github.com/laravel-backpack/generators",
|
||||
"keywords": [
|
||||
"config",
|
||||
"generators",
|
||||
"model",
|
||||
"request",
|
||||
"view"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Laravel-Backpack/Generators/issues",
|
||||
"source": "https://github.com/Laravel-Backpack/Generators/tree/v3.1.0"
|
||||
},
|
||||
"time": "2020-05-20T07:31:20+00:00"
|
||||
"time": "2022-11-30T16:46:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "bacon/bacon-qr-code",
|
||||
|
|
@ -653,6 +590,68 @@
|
|||
},
|
||||
"time": "2022-10-27T11:44:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "digitallyhappy/assets",
|
||||
"version": "2.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DigitallyHappy/assets.git",
|
||||
"reference": "a79e6b0e4d50f31c325f7da9b6e600d89256177d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/DigitallyHappy/assets/zipball/a79e6b0e4d50f31c325f7da9b6e600d89256177d",
|
||||
"reference": "a79e6b0e4d50f31c325f7da9b6e600d89256177d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"laravel/framework": "^9.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "~5|~6",
|
||||
"phpunit/phpunit": "~9.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"DigitallyHappy\\Assets\\AssetsServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"Assets": "DigitallyHappy\\Assets\\Facades\\Assets"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"DigitallyHappy\\Assets\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Cristian Tabacitu",
|
||||
"email": "hello@tabacitu.ro",
|
||||
"homepage": "https://tabacitu.ro"
|
||||
}
|
||||
],
|
||||
"description": "Dead-simple way to load CSS or JS assets only once per page, when using Laravel 8+.",
|
||||
"homepage": "https://github.com/digitallyhappy/assets",
|
||||
"keywords": [
|
||||
"Load CSS once",
|
||||
"Load JS once",
|
||||
"assets",
|
||||
"laravel"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/DigitallyHappy/assets/issues",
|
||||
"source": "https://github.com/DigitallyHappy/assets/tree/2.0.4"
|
||||
},
|
||||
"time": "2022-03-08T23:50:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/cache",
|
||||
"version": "2.2.0",
|
||||
|
|
@ -2365,16 +2364,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/fortify",
|
||||
"version": "v1.13.7",
|
||||
"version": "v1.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/fortify.git",
|
||||
"reference": "28c2dc66639571ac656c13617a1a0876a82319b1"
|
||||
"reference": "20aeaf31edbf01e21348954088641cdb3d48ebe8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/fortify/zipball/28c2dc66639571ac656c13617a1a0876a82319b1",
|
||||
"reference": "28c2dc66639571ac656c13617a1a0876a82319b1",
|
||||
"url": "https://api.github.com/repos/laravel/fortify/zipball/20aeaf31edbf01e21348954088641cdb3d48ebe8",
|
||||
"reference": "20aeaf31edbf01e21348954088641cdb3d48ebe8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -2424,7 +2423,7 @@
|
|||
"issues": "https://github.com/laravel/fortify/issues",
|
||||
"source": "https://github.com/laravel/fortify"
|
||||
},
|
||||
"time": "2022-11-04T20:57:17+00:00"
|
||||
"time": "2022-11-23T09:03:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
|
|
@ -6103,16 +6102,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v6.1.3",
|
||||
"version": "v6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/css-selector.git",
|
||||
"reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443"
|
||||
"reference": "91c342ffc99283c43653ed8eb47bc2a94db7f398"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/0dd5e36b80e1de97f8f74ed7023ac2b837a36443",
|
||||
"reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/91c342ffc99283c43653ed8eb47bc2a94db7f398",
|
||||
"reference": "91c342ffc99283c43653ed8eb47bc2a94db7f398",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6148,7 +6147,7 @@
|
|||
"description": "Converts CSS selectors to XPath expressions",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/css-selector/tree/v6.1.3"
|
||||
"source": "https://github.com/symfony/css-selector/tree/v6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -6164,7 +6163,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-27T17:24:16+00:00"
|
||||
"time": "2022-08-26T05:51:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
|
|
@ -6306,16 +6305,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v6.1.0",
|
||||
"version": "v6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347"
|
||||
"reference": "9efb1618fabee89515fe031314e8ed5625f85a53"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347",
|
||||
"reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9efb1618fabee89515fe031314e8ed5625f85a53",
|
||||
"reference": "9efb1618fabee89515fe031314e8ed5625f85a53",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6369,7 +6368,7 @@
|
|||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -6385,7 +6384,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-05-05T16:51:07+00:00"
|
||||
"time": "2022-11-02T09:08:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
|
|
@ -6803,16 +6802,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
"version": "v6.1.0",
|
||||
"version": "v6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/options-resolver.git",
|
||||
"reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4"
|
||||
"reference": "d28f02acde71ff75e957082cd36e973df395f626"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/a3016f5442e28386ded73c43a32a5b68586dd1c4",
|
||||
"reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/d28f02acde71ff75e957082cd36e973df395f626",
|
||||
"reference": "d28f02acde71ff75e957082cd36e973df395f626",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -6850,7 +6849,7 @@
|
|||
"options"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v6.1.0"
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -6866,7 +6865,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-25T11:15:52+00:00"
|
||||
"time": "2022-11-02T09:08:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
|
|
@ -7922,16 +7921,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v6.1.7",
|
||||
"version": "v6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "823f143370880efcbdfa2dbca946b3358c4707e5"
|
||||
"reference": "145702685e0d12f81d755c71127bfff7582fdd36"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/823f143370880efcbdfa2dbca946b3358c4707e5",
|
||||
"reference": "823f143370880efcbdfa2dbca946b3358c4707e5",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/145702685e0d12f81d755c71127bfff7582fdd36",
|
||||
"reference": "145702685e0d12f81d755c71127bfff7582fdd36",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -7947,6 +7946,7 @@
|
|||
"require-dev": {
|
||||
"symfony/error-handler": "^5.4|^6.0",
|
||||
"symfony/http-client": "^5.4|^6.0",
|
||||
"symfony/intl": "^6.2",
|
||||
"symfony/translation-contracts": "^2.0|^3.0",
|
||||
"symfony/var-exporter": "^5.4|^6.0"
|
||||
},
|
||||
|
|
@ -7987,7 +7987,7 @@
|
|||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v6.1.7"
|
||||
"source": "https://github.com/symfony/string/tree/v6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -8003,20 +8003,20 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-10T09:34:31+00:00"
|
||||
"time": "2022-11-30T17:13:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v6.1.6",
|
||||
"version": "v6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "e6cd330e5a072518f88d65148f3f165541807494"
|
||||
"reference": "c08de62caead8357244efcb809d0b1a2584f2198"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/e6cd330e5a072518f88d65148f3f165541807494",
|
||||
"reference": "e6cd330e5a072518f88d65148f3f165541807494",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/c08de62caead8357244efcb809d0b1a2584f2198",
|
||||
"reference": "c08de62caead8357244efcb809d0b1a2584f2198",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -8036,6 +8036,7 @@
|
|||
"symfony/translation-implementation": "2.3|3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"nikic/php-parser": "^4.13",
|
||||
"psr/log": "^1|^2|^3",
|
||||
"symfony/config": "^5.4|^6.0",
|
||||
"symfony/console": "^5.4|^6.0",
|
||||
|
|
@ -8050,6 +8051,7 @@
|
|||
"symfony/yaml": "^5.4|^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"nikic/php-parser": "To use PhpAstExtractor",
|
||||
"psr/log-implementation": "To use logging capability in translator",
|
||||
"symfony/config": "",
|
||||
"symfony/yaml": ""
|
||||
|
|
@ -8083,7 +8085,7 @@
|
|||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v6.1.6"
|
||||
"source": "https://github.com/symfony/translation/tree/v6.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -8099,7 +8101,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-10-07T08:04:03+00:00"
|
||||
"time": "2022-11-02T09:08:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
|
|
@ -8750,6 +8752,76 @@
|
|||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "backpack/generators",
|
||||
"version": "v3.3.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Laravel-Backpack/Generators.git",
|
||||
"reference": "788189f081b01b5c790f0fcab701817dd9c57706"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Laravel-Backpack/Generators/zipball/788189f081b01b5c790f0fcab701817dd9c57706",
|
||||
"reference": "788189f081b01b5c790f0fcab701817dd9c57706",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"backpack/crud": "^5.3.11"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.0||^7.0",
|
||||
"scrutinizer/ocular": "~1.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Backpack\\Generators\\GeneratorsServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Backpack\\Generators\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"proprietary"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Cristian Tabacitu",
|
||||
"email": "tabacitu@backpackforlaravel.com",
|
||||
"homepage": "https://backpackforlaravel.com",
|
||||
"role": "Lead Developer & Maintainer"
|
||||
},
|
||||
{
|
||||
"name": "Cristian Tone",
|
||||
"email": "cristitone@outlook.com",
|
||||
"homepage": "http://updivision.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Generate files for laravel projects",
|
||||
"homepage": "https://github.com/laravel-backpack/generators",
|
||||
"keywords": [
|
||||
"config",
|
||||
"generators",
|
||||
"model",
|
||||
"request",
|
||||
"view"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Laravel-Backpack/Generators/issues",
|
||||
"source": "https://github.com/Laravel-Backpack/Generators/tree/v3.3.7"
|
||||
},
|
||||
"time": "2022-11-26T07:21:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.4.1",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
class SelectedTradingFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function definition()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateSelectedTradingsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('selected_tradings', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedBigInteger('category_id')->unsigned();
|
||||
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
|
||||
$table->string('title');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('selected_tradings');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class SelectedTradingSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
@ -4,4 +4,5 @@
|
|||
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('category') }}"><i class="nav-icon la la-question"></i> Categories</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('trading') }}"><i class="nav-icon la la-question"></i> Tradings</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('news') }}"><i class="nav-icon la la-question"></i> News</a></li>
|
||||
<li class='nav-item'><a class='nav-link' href='{{ backpack_url('document') }}'><i class='nav-icon la la-question'></i> Documents</a></li>
|
||||
<li class='nav-item'><a class='nav-link' href='{{ backpack_url('document') }}'><i class='nav-icon la la-question'></i> Documents</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('selected-trading') }}"><i class="nav-icon la la-question"></i> Selected tradings</a></li>
|
||||
|
|
@ -9,6 +9,7 @@ use App\Http\Controllers\Api\TradingsController;
|
|||
use App\Http\Controllers\Api\NewsController;
|
||||
use App\Http\Controllers\Api\CategoryController;
|
||||
use App\Http\Controllers\Api\DocumentController;
|
||||
use App\Http\Controllers\Api\SelectedTradingController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -30,5 +31,6 @@ Route::get('other-filters', [FiltersController::class, 'otherFilters']);
|
|||
|
||||
Route::get('categories', [CategoryController::class, 'index']);
|
||||
Route::get('tradings', [TradingsController::class, 'index']);
|
||||
Route::get('categories/tradings', [TradingsController::class, 'selectedTradings']);
|
||||
Route::get('news', [NewsController::class, 'index']);
|
||||
Route::get('documents', [DocumentController::class, 'index']);
|
||||
|
|
|
|||
|
|
@ -20,4 +20,5 @@ Route::group([
|
|||
Route::crud('trading', 'TradingCrudController');
|
||||
Route::crud('news', 'NewsCrudController');
|
||||
Route::crud('document', 'DocumentCrudController');
|
||||
Route::crud('selected-trading', 'SelectedTradingCrudController');
|
||||
}); // this should be the absolute last line of this file
|
||||
BIN
vendor.rar
BIN
vendor.rar
Binary file not shown.
Loading…
Reference in New Issue