list_knowledge_user.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. SELECT *
  2. FROM (SELECT "temp_knowledge".id::text, "temp_knowledge".name,
  3. "temp_knowledge".desc,
  4. "temp_knowledge".type,
  5. 'knowledge' as resource_type,
  6. "temp_knowledge".workspace_id,
  7. "temp_knowledge".folder_id,
  8. "temp_knowledge".user_id,
  9. "user"."nick_name" as nick_name,
  10. "temp_knowledge".create_time,
  11. "temp_knowledge".update_time,
  12. "temp_knowledge".file_size_limit,
  13. "temp_knowledge".file_count_limit,
  14. "temp_knowledge"."scope",
  15. "temp_knowledge"."embedding_model_id"::text,
  16. "document_temp"."char_length",
  17. to_json("temp_knowledge".meta)::jsonb as meta,
  18. CASE
  19. WHEN
  20. "app_knowledge_temp"."count" IS NULL THEN 0
  21. ELSE "app_knowledge_temp"."count" END AS application_mapping_count,
  22. "document_temp".document_count
  23. FROM (SELECT knowledge.*
  24. FROM knowledge knowledge ${knowledge_custom_sql}
  25. AND id::text in (select target
  26. from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
  27. and 'VIEW' = any (permission_list))) temp_knowledge
  28. LEFT JOIN (SELECT "count"("id") AS document_count, "sum"("char_length") "char_length", knowledge_id
  29. FROM "document"
  30. GROUP BY knowledge_id) "document_temp" ON temp_knowledge."id" = "document_temp".knowledge_id
  31. LEFT JOIN (SELECT "count"("id"), knowledge_id
  32. FROM application_knowledge_mapping
  33. GROUP BY knowledge_id) app_knowledge_temp
  34. ON temp_knowledge."id" = "app_knowledge_temp".knowledge_id
  35. left join "user" on "user".id = temp_knowledge.user_id
  36. ) temp
  37. ${default_sql}