visuddhinanda il y a 1 an
Parent
commit
3d766693b5

+ 9 - 1
api-v8/app/Http/Controllers/AiAssistantController.php

@@ -6,6 +6,8 @@ use App\Models\AiModel;
 use Illuminate\Http\Request;
 use App\Http\Resources\AiAssistantResource;
 use App\Http\Api\AuthApi;
+use App\Http\Api\ShareApi;
+
 use Illuminate\Support\Facades\Log;
 
 class AiAssistantController extends Controller
@@ -23,8 +25,14 @@ class AiAssistantController extends Controller
             Log::error('notification auth failed {request}', ['request' => $request]);
             return $this->error(__('auth.failed'), 401, 401);
         }
+        $resList = ShareApi::getResList($user['user_uid'], 8);
+        $resId = [];
+        foreach ($resList as $res) {
+            $resId[] = $res['res_id'];
+        }
         $table = AiModel::where('owner_id', $user['user_uid'])
-            ->orWhere('privacy', 'public');
+            ->orWhere('privacy', 'public')
+            ->orWhereIn('uid', $resId);
         if ($request->has('keyword')) {
             $table = $table->where('name', 'like', '%' . $request->get('keyword') . '%');
         }

+ 21 - 3
dashboard-v4/dashboard/src/components/ai/AiModelList.tsx

@@ -8,6 +8,7 @@ import {
   Modal,
   message,
   Tag,
+  Space,
 } from "antd";
 import { ActionType, ProList } from "@ant-design/pro-components";
 import {
@@ -26,6 +27,8 @@ import { getSorterUrl } from "../../utils";
 import { IAiModel, IAiModelListResponse } from "../api/ai";
 import AiModelCreate from "./AiModelCreate";
 import PublicityIcon from "../studio/PublicityIcon";
+import ShareModal from "../share/ShareModal";
+import { EResType } from "../share/Share";
 
 const { Text } = Typography;
 
@@ -113,9 +116,24 @@ const AiModelList = ({ studioName }: IWidget) => {
           actions: {
             render(dom, entity, index, action, schema) {
               return (
-                <Link to={`/studio/${studioName}/ai/models/${entity.uid}/logs`}>
-                  logs
-                </Link>
+                <Space>
+                  <Link
+                    to={`/studio/${studioName}/ai/models/${entity.uid}/logs`}
+                  >
+                    logs
+                  </Link>
+                  <ShareModal
+                    trigger={
+                      <Button type="link" size="small">
+                        {intl.formatMessage({
+                          id: "buttons.share",
+                        })}
+                      </Button>
+                    }
+                    resId={entity.uid}
+                    resType={EResType.modal}
+                  />
+                </Space>
               );
             },
           },