ShareController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Share;
  4. use App\Models\GroupInfo;
  5. use Illuminate\Http\Request;
  6. use App\Http\Resources\ShareResource;
  7. class ShareController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return \Illuminate\Http\Response
  13. */
  14. public function index(Request $request)
  15. {
  16. //
  17. $result=false;
  18. $indexCol = ['id','res_id','res_type','power','updated_at','created_at'];
  19. switch ($request->get('view')) {
  20. case 'group':
  21. # 获取 group 内所有 成员
  22. $user = \App\Http\Api\AuthApi::current($request);
  23. if($user){
  24. //TODO 判断当前用户是否有指定的 group 的权限
  25. if(GroupInfo::where('uid',$request->get('id'))->where('owner',$user['user_uid'])->exists()){
  26. $table = Share::where('cooperator_id', $request->get('id'));
  27. }else{
  28. return $this->error(__('auth.failed'));
  29. }
  30. }else{
  31. return $this->error(__('auth.failed'));
  32. }
  33. break;
  34. }
  35. if(isset($_GET["search"])){
  36. //TODO 搜索资源标题
  37. $table = $table->where('title', 'like', $_GET["search"]."%");
  38. }
  39. $count = $table->count();
  40. if(isset($_GET["order"]) && isset($_GET["dir"])){
  41. $table = $table->orderBy($_GET["order"],$_GET["dir"]);
  42. }else{
  43. $table = $table->orderBy('updated_at','desc');
  44. }
  45. if(isset($_GET["limit"])){
  46. $offset = 0;
  47. if(isset($_GET["offset"])){
  48. $offset = $_GET["offset"];
  49. }
  50. $table = $table->skip($offset)->take($_GET["limit"]);
  51. }
  52. $result = $table->get();
  53. //TODO 获取当前用户的身份
  54. $role = "member";
  55. if($result){
  56. return $this->ok(["rows"=>ShareResource::collection($result),"count"=>$count,'role'=>$role]);
  57. }else{
  58. return $this->error("没有查询到数据");
  59. }
  60. }
  61. /**
  62. * Store a newly created resource in storage.
  63. *
  64. * @param \Illuminate\Http\Request $request
  65. * @return \Illuminate\Http\Response
  66. */
  67. public function store(Request $request)
  68. {
  69. //
  70. }
  71. /**
  72. * Display the specified resource.
  73. *
  74. * @param \App\Models\Share $share
  75. * @return \Illuminate\Http\Response
  76. */
  77. public function show(Share $share)
  78. {
  79. //
  80. }
  81. /**
  82. * Update the specified resource in storage.
  83. *
  84. * @param \Illuminate\Http\Request $request
  85. * @param \App\Models\Share $share
  86. * @return \Illuminate\Http\Response
  87. */
  88. public function update(Request $request, Share $share)
  89. {
  90. //
  91. }
  92. /**
  93. * Remove the specified resource from storage.
  94. *
  95. * @param \App\Models\Share $share
  96. * @return \Illuminate\Http\Response
  97. */
  98. public function destroy(Share $share)
  99. {
  100. //
  101. }
  102. }