49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\System;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Position;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class PositionController extends Controller
|
|
{
|
|
public function index(Request $request): JsonResponse
|
|
{
|
|
$positions = Position::orderBy('sort')
|
|
->paginate($request->input('page_size', 50));
|
|
|
|
return $this->paginate($positions);
|
|
}
|
|
|
|
public function store(Request $request): JsonResponse
|
|
{
|
|
$data = $request->validate([
|
|
'name' => 'required|string|max:50',
|
|
'sort' => 'nullable|integer',
|
|
]);
|
|
|
|
$data['store_id'] = auth()->user()->store_id;
|
|
$position = Position::create($data);
|
|
return $this->success($position, '创建成功');
|
|
}
|
|
|
|
public function update(Request $request, Position $position): JsonResponse
|
|
{
|
|
$data = $request->validate([
|
|
'name' => 'string|max:50',
|
|
'sort' => 'nullable|integer',
|
|
]);
|
|
|
|
$position->update($data);
|
|
return $this->success($position, '更新成功');
|
|
}
|
|
|
|
public function destroy(Position $position): JsonResponse
|
|
{
|
|
$position->delete();
|
|
return $this->success(null, '删除成功');
|
|
}
|
|
}
|