fix(server): share query (#15305)

fix #15283



#### PR Dependency Tree


* **PR #15305** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Document metadata now consistently reports documents as not public
when no applicable access policy is available.
* Improved reliability of document visibility information across
document listings and pagination.
* **Tests**
* Added coverage verifying the `public` status in document details and
paginated results.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-07-21 21:53:11 +08:00
committed by GitHub
parent b6b7f1eeaf
commit d0781eafce
2 changed files with 15 additions and 3 deletions
+12 -3
View File
@@ -634,7 +634,10 @@ export class DocModel extends BaseModel {
"workspace_pages"."workspace_id" as "workspaceId",
"workspace_pages"."page_id" as "docId",
"workspace_pages"."mode" as "mode",
(dap.visibility = 'public' AND dap.public_role = 'external') as "public",
COALESCE(
dap.visibility = 'public' AND dap.public_role = 'external',
false
) as "public",
COALESCE(dap.member_default_role, 'manager') as "defaultRolePolicy",
"workspace_pages"."title" as "title",
"workspace_pages"."summary" as "summary",
@@ -694,7 +697,10 @@ export class DocModel extends BaseModel {
"workspace_pages"."workspace_id" as "workspaceId",
"workspace_pages"."page_id" as "docId",
"workspace_pages"."mode" as "mode",
(dap.visibility = 'public' AND dap.public_role = 'external') as "public",
COALESCE(
dap.visibility = 'public' AND dap.public_role = 'external',
false
) as "public",
COALESCE(dap.member_default_role, 'manager') as "defaultRolePolicy",
"snapshots"."created_at" as "createdAt",
"snapshots"."updated_at" as "updatedAt",
@@ -761,7 +767,10 @@ export class DocModel extends BaseModel {
"workspace_pages"."workspace_id" as "workspaceId",
"workspace_pages"."page_id" as "docId",
"workspace_pages"."mode" as "mode",
(dap.visibility = 'public' AND dap.public_role = 'external') as "public",
COALESCE(
dap.visibility = 'public' AND dap.public_role = 'external',
false
) as "public",
COALESCE(dap.member_default_role, 'manager') as "defaultRolePolicy",
"workspace_pages"."title" as "title",
"snapshots"."created_at" as "createdAt",