|
|
@@ -4,12 +4,11 @@ namespace App\Http\Controllers;
|
|
|
|
|
|
use App\Models\Share;
|
|
|
use App\Models\GroupInfo;
|
|
|
-use App\Models\Article;
|
|
|
-use App\Models\Collection;
|
|
|
use Illuminate\Http\Request;
|
|
|
use App\Http\Resources\ShareResource;
|
|
|
use App\Http\Api\AuthApi;
|
|
|
use App\Http\Api\ShareApi;
|
|
|
+use Illuminate\Support\Str;
|
|
|
|
|
|
class ShareController extends Controller
|
|
|
{
|
|
|
@@ -22,16 +21,16 @@ class ShareController extends Controller
|
|
|
{
|
|
|
//
|
|
|
$user = AuthApi::current($request);
|
|
|
- $result=false;
|
|
|
+ $result = false;
|
|
|
$role = "member";
|
|
|
- $indexCol = ['id','res_id','res_type','power','updated_at','created_at'];
|
|
|
- switch ($request->get('view')) {
|
|
|
+ $indexCol = ['id', 'res_id', 'res_type', 'power', 'updated_at', 'created_at'];
|
|
|
+ switch ($request->get('view')) {
|
|
|
case 'res':
|
|
|
- if(!$user){
|
|
|
+ if (!$user) {
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|
|
|
- $table = Share::where('res_id',$request->get('id'));
|
|
|
- $power = ShareApi::getResPower($user['user_uid'],$request->get('id'),$table->value('res_type'));
|
|
|
+ $table = Share::where('res_id', $request->get('id'));
|
|
|
+ $power = ShareApi::getResPower($user['user_uid'], $request->get('id'), $table->value('res_type'));
|
|
|
switch ($power) {
|
|
|
case 10:
|
|
|
$role = "member";
|
|
|
@@ -45,41 +44,39 @@ class ShareController extends Controller
|
|
|
}
|
|
|
break;
|
|
|
case 'group':
|
|
|
- if(!$user){
|
|
|
+ if (!$user) {
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|
|
|
//TODO 判断当前用户是否有指定的 group 的权限
|
|
|
- if(GroupInfo::where('uid',$request->get('id'))->where('owner',$user['user_uid'])->exists()){
|
|
|
+ if (GroupInfo::where('uid', $request->get('id'))->where('owner', $user['user_uid'])->exists()) {
|
|
|
$role = "owner";
|
|
|
}
|
|
|
$table = Share::where('cooperator_id', $request->get('id'));
|
|
|
- break;
|
|
|
+ break;
|
|
|
}
|
|
|
- if(isset($_GET["search"])){
|
|
|
+ if (isset($_GET["search"])) {
|
|
|
//TODO 搜索资源标题
|
|
|
- $table = $table->where('title', 'like', $_GET["search"]."%");
|
|
|
+ $table = $table->where('title', 'like', $_GET["search"] . "%");
|
|
|
}
|
|
|
$count = $table->count();
|
|
|
- if(isset($_GET["order"]) && isset($_GET["dir"])){
|
|
|
- $table = $table->orderBy($_GET["order"],$_GET["dir"]);
|
|
|
- }else{
|
|
|
- $table = $table->orderBy('updated_at','desc');
|
|
|
+ if (isset($_GET["order"]) && isset($_GET["dir"])) {
|
|
|
+ $table = $table->orderBy($_GET["order"], $_GET["dir"]);
|
|
|
+ } else {
|
|
|
+ $table = $table->orderBy('updated_at', 'desc');
|
|
|
}
|
|
|
|
|
|
- $table->skip($request->get('offset',0))
|
|
|
- ->take($request->get('limit',1000));
|
|
|
+ $table->skip($request->get('offset', 0))
|
|
|
+ ->take($request->get('limit', 1000));
|
|
|
|
|
|
$result = $table->get();
|
|
|
//TODO 获取当前用户的身份
|
|
|
|
|
|
|
|
|
- if($result){
|
|
|
- return $this->ok(["rows"=>ShareResource::collection($result),"count"=>$count,'role'=>$role]);
|
|
|
- }else{
|
|
|
- return $this->error("没有查询到数据");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+ if ($result) {
|
|
|
+ return $this->ok(["rows" => ShareResource::collection($result), "count" => $count, 'role' => $role]);
|
|
|
+ } else {
|
|
|
+ return $this->error("没有查询到数据");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -92,18 +89,20 @@ class ShareController extends Controller
|
|
|
{
|
|
|
//
|
|
|
foreach ($request->get('user_id') as $key => $value) {
|
|
|
- # code...
|
|
|
- $row = Share::where('cooperator_id',$value)
|
|
|
- ->where('res_id',$request->get('res_id'))->first();
|
|
|
- if(!$row){
|
|
|
+ if (!Str::isUuid($value)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $row = Share::where('cooperator_id', $value)
|
|
|
+ ->where('res_id', $request->get('res_id'))->first();
|
|
|
+ if (!$row) {
|
|
|
$row = new Share();
|
|
|
$row->id = app('snowflake')->id();
|
|
|
$row->cooperator_id = $value;
|
|
|
$row->res_id = $request->get('res_id');
|
|
|
$row->res_type = $request->get('res_type');
|
|
|
- $row->create_time = time()*1000;
|
|
|
+ $row->create_time = time() * 1000;
|
|
|
}
|
|
|
- $c_type=['user'=>0,'group'=>1];
|
|
|
+ $c_type = ['user' => 0, 'group' => 1];
|
|
|
$row->cooperator_type = $c_type[$request->get('user_type')];
|
|
|
switch ($request->get('role')) {
|
|
|
case 'manager':
|
|
|
@@ -114,7 +113,7 @@ class ShareController extends Controller
|
|
|
$row->power = 10;
|
|
|
break;
|
|
|
}
|
|
|
- $row->modify_time = time()*1000;
|
|
|
+ $row->modify_time = time() * 1000;
|
|
|
$row->save();
|
|
|
}
|
|
|
return $this->ok(count($request->get('user_id')));
|
|
|
@@ -142,12 +141,12 @@ class ShareController extends Controller
|
|
|
{
|
|
|
//查询权限
|
|
|
$currUser = AuthApi::current($request);
|
|
|
- if(!$currUser){
|
|
|
+ if (!$currUser) {
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|
|
|
|
|
|
- $power = ShareApi::getResPower($currUser['user_uid'],$share->res_id,$share->res_type);
|
|
|
- if(!$power || $power <= 20){
|
|
|
+ $power = ShareApi::getResPower($currUser['user_uid'], $share->res_id, $share->res_type);
|
|
|
+ if (!$power || $power <= 20) {
|
|
|
//普通成员没有删除权限
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|
|
|
@@ -160,7 +159,7 @@ class ShareController extends Controller
|
|
|
$share->power = 10;
|
|
|
break;
|
|
|
}
|
|
|
- $share->modify_time = time()*1000;
|
|
|
+ $share->modify_time = time() * 1000;
|
|
|
$share->save();
|
|
|
return $this->ok($share);
|
|
|
}
|
|
|
@@ -176,12 +175,12 @@ class ShareController extends Controller
|
|
|
{
|
|
|
//查询权限
|
|
|
$currUser = AuthApi::current($request);
|
|
|
- if(!$currUser){
|
|
|
+ if (!$currUser) {
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|
|
|
|
|
|
- $power = ShareApi::getResPower($currUser['user_uid'],$share->res_id,$share->res_type);
|
|
|
- if(!$power || $power <= 20){
|
|
|
+ $power = ShareApi::getResPower($currUser['user_uid'], $share->res_id, $share->res_type);
|
|
|
+ if (!$power || $power <= 20) {
|
|
|
//普通成员没有删除权限
|
|
|
return $this->error(__('auth.failed'));
|
|
|
}
|