visuddhinanda 2 лет назад
Родитель
Сommit
e3d2ee675e
1 измененных файлов с 28 добавлено и 1 удалено
  1. 28 1
      app/Http/Api/ChannelApi.php

+ 28 - 1
app/Http/Api/ChannelApi.php

@@ -17,8 +17,34 @@ class ChannelApi{
             return false;
         }
     }
-    public static function getListByUser(){
+    public static function getCanReadByUser($userUuid=null){
+        #获取 user 在某章节 所有有权限的 channel 列表
+        $channelId = [];
+        //我自己的
 
+        if($userUuid){
+            $my = Channel::select('uid')->where('owner_uid', $userUuid)->get();
+            foreach ($my as $key => $value) {
+                $channelId[$value->uid] = $value->uid;
+            }
+
+            //获取共享channel
+
+            $allSharedChannels = ShareApi::getResList($userUuid,2);
+            foreach ($allSharedChannels as $key => $value) {
+                $channelId[$value['res_id']] = $value['res_id'];
+            }
+        }
+        //获取全网公开的channel
+        $my = Channel::select('uid')->where('status', 30)->get();
+        foreach ($my as $key => $value) {
+            $channelId[$value->uid] = $value->uid;
+        }
+        $output = array();
+        foreach ($channelId as $key => $value) {
+            $output[] = $key;
+        }
+        return $output;
     }
     public static function getSysChannel($channel_name,$fallback=""){
         $channel=  Channel::where('name',$channel_name)
@@ -40,4 +66,5 @@ class ChannelApi{
             return $channel->uid;
         }
     }
+
 }