添加 管理员控制器

This commit is contained in:
iVampireSP.com 2022-08-12 16:10:45 +08:00
parent 92eb3d5459
commit 75b5803285
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
8 changed files with 110 additions and 354 deletions

View File

@ -0,0 +1,78 @@
<?php
namespace App\Http\Controllers\Admin\Admin;
use App\Http\Controllers\Controller;
use App\Models\Admin\Admin;
use Illuminate\Http\Request;
class AdminController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Admin $admin)
{
$admin = $admin->simplePaginate(10);
return $this->success($admin);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// password required
$this->validate($request, [
'password' => 'required',
]);
$admin = Admin::create($request->all());
return $this->success($admin);
}
/**
* Display the specified resource.
*
* @param \App\Models\Admin\Admin $Admin
* @return \Illuminate\Http\Response
*/
public function show(Admin $admin)
{
return $this->success($admin);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Admin\Admin $Admin
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Admin $admin)
{
//
$admin->update($request->all());
return $this->updated($admin);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Admin\Admin $Admin
* @return \Illuminate\Http\Response
*/
public function destroy(Admin $admin)
{
// soft delete Admin
$admin->delete();
return $this->deleted($admin);
}
}

View File

@ -1,76 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Client;
use App\Http\Controllers\Controller;
use App\Models\Client\Balance;
use Illuminate\Http\Request;
class BalanceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index($client)
{
// list all balance log
$balances = Balance::clientId($client)->orderBy('created_at', 'desc')->simplePaginate(10);
return $this->success($balances);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// add balance to client
$balance = new Balance();
$balance->addBalance($request->client, $request->amount);
return $this->created();
}
/**
* Display the specified resource.
*
* @param \App\Models\Client\Balance $balance
* @return \Illuminate\Http\Response
*/
public function show(Balance $balance)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Client\Balance $balance
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Balance $balance)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Client\Balance $balance
* @return \Illuminate\Http\Response
*/
public function destroy(Balance $balance)
{
//
$balance = new Balance();
$balance->subtractBalance($request->client, $request->amount);
return $this->created();
}
}

View File

@ -1,81 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Client;
use App\Http\Controllers\Controller;
use App\Models\Client\Client;
use Illuminate\Http\Request;
class ClientController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$clients = Client::simplePaginate(50);
return $this->success($clients);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$client = new Client();
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:clients',
'owner_id' => 'required|integer',
]);
$client = Client::create($request->all());
return $this->success($client);
}
/**
* Display the specified resource.
*
* @param \App\Models\Client\Client $client
* @return \Illuminate\Http\Response
*/
public function show(Client $client)
{
//
return $this->success($client);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Client\Client $client
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Client $client)
{
//
$client->update($request->all());
return $this->updated($client);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Client\Client $client
* @return \Illuminate\Http\Response
*/
public function destroy(Client $client)
{
//
$client->delete();
return $this->deleted($client);
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Client\Group;
use App\Http\Controllers\Controller;
use App\Models\Client\Group\Group;
use Illuminate\Http\Request;
class GroupController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Models\Client\Group\Group $group
* @return \Illuminate\Http\Response
*/
public function show(Group $group)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Client\Group\Group $group
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Group $group)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Client\Group\Group $group
* @return \Illuminate\Http\Response
*/
public function destroy(Group $group)
{
//
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Client\Group;
use App\Http\Controllers\Controller;
use App\Models\Client\Group\Upgrade;
use Illuminate\Http\Request;
class UpgradeController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Models\Client\Group\Upgrade $upgrade
* @return \Illuminate\Http\Response
*/
public function show(Upgrade $upgrade)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Client\Group\Upgrade $upgrade
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Upgrade $upgrade)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Client\Group\Upgrade $upgrade
* @return \Illuminate\Http\Response
*/
public function destroy(Upgrade $upgrade)
{
//
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Client;
use App\Http\Controllers\Controller;
use App\Models\Client\Withdraw;
use Illuminate\Http\Request;
class WithdrawController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Models\Client\Withdraw $withdraw
* @return \Illuminate\Http\Response
*/
public function show(Withdraw $withdraw)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Client\Withdraw $withdraw
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Withdraw $withdraw)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Client\Withdraw $withdraw
* @return \Illuminate\Http\Response
*/
public function destroy(Withdraw $withdraw)
{
//
}
}

View File

@ -2,10 +2,36 @@
namespace App\Models\Admin;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Support\Str;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Admin extends Model
{
use HasFactory;
use HasFactory, SoftDeletes;
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password'
];
// protect password
public function setPasswordAttribute($value)
{
$this->attributes['password'] = bcrypt($value);
}
// before create admin, generate api_token
public static function boot()
{
parent::boot();
self::creating(function ($admin) {
$admin->api_token = Str::random(60);
});
}
}

View File

@ -4,7 +4,11 @@
use Illuminate\Support\Facades\Route;
Route::name('admin.')->middleware(['admin'])->group(function () {
Route::apiResource('admins', Admin\Admin\AdminController::class);
Route::apiResource('users', Admin\User\UserController::class);
// Route::resource('users.fields', v1\User\FieldsController::class)->only(['index']);
// sub routes for clients