@prenta/core 8.6.1 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/api/handlers.d.ts.map +1 -1
  3. package/dist/api/handlers.js +4 -0
  4. package/dist/api/handlers.js.map +1 -1
  5. package/dist/api/index.d.ts +2 -0
  6. package/dist/api/index.d.ts.map +1 -1
  7. package/dist/api/index.js +2 -0
  8. package/dist/api/index.js.map +1 -1
  9. package/dist/api/route-helpers/auth.d.ts +24 -2
  10. package/dist/api/route-helpers/auth.d.ts.map +1 -1
  11. package/dist/api/route-helpers/auth.js +93 -1
  12. package/dist/api/route-helpers/auth.js.map +1 -1
  13. package/dist/api/route-helpers.d.ts +1 -1
  14. package/dist/api/route-helpers.d.ts.map +1 -1
  15. package/dist/api/route-helpers.js +1 -1
  16. package/dist/api/route-helpers.js.map +1 -1
  17. package/dist/api/routes/ai-authoring.d.ts.map +1 -1
  18. package/dist/api/routes/ai-authoring.js +8 -3
  19. package/dist/api/routes/ai-authoring.js.map +1 -1
  20. package/dist/api/routes/forms.d.ts.map +1 -1
  21. package/dist/api/routes/forms.js +50 -34
  22. package/dist/api/routes/forms.js.map +1 -1
  23. package/dist/api/routes/globals.d.ts.map +1 -1
  24. package/dist/api/routes/globals.js +42 -3
  25. package/dist/api/routes/globals.js.map +1 -1
  26. package/dist/api/routes/mcp-oauth.d.ts +3 -0
  27. package/dist/api/routes/mcp-oauth.d.ts.map +1 -0
  28. package/dist/api/routes/mcp-oauth.js +143 -0
  29. package/dist/api/routes/mcp-oauth.js.map +1 -0
  30. package/dist/api/routes/preview.d.ts.map +1 -1
  31. package/dist/api/routes/preview.js +43 -2
  32. package/dist/api/routes/preview.js.map +1 -1
  33. package/dist/api/routes/privacy.d.ts +3 -0
  34. package/dist/api/routes/privacy.d.ts.map +1 -0
  35. package/dist/api/routes/privacy.js +44 -0
  36. package/dist/api/routes/privacy.js.map +1 -0
  37. package/dist/api/routes/scheduling.d.ts.map +1 -1
  38. package/dist/api/routes/scheduling.js +4 -1
  39. package/dist/api/routes/scheduling.js.map +1 -1
  40. package/dist/api/routes/seo/handlers/audits.d.ts.map +1 -1
  41. package/dist/api/routes/seo/handlers/audits.js +3 -3
  42. package/dist/api/routes/seo/handlers/audits.js.map +1 -1
  43. package/dist/api/routes/seo/handlers/content.d.ts.map +1 -1
  44. package/dist/api/routes/seo/handlers/content.js +2 -2
  45. package/dist/api/routes/seo/handlers/content.js.map +1 -1
  46. package/dist/api/routes/seo/handlers/issue-helpers.d.ts.map +1 -1
  47. package/dist/api/routes/seo/handlers/issue-helpers.js +2 -2
  48. package/dist/api/routes/seo/handlers/issue-helpers.js.map +1 -1
  49. package/dist/api/routes/seo/handlers/issues-fixes.js +3 -3
  50. package/dist/api/routes/seo/handlers/issues-fixes.js.map +1 -1
  51. package/dist/api/routes/seo/handlers/links.d.ts.map +1 -1
  52. package/dist/api/routes/seo/handlers/links.js +6 -6
  53. package/dist/api/routes/seo/handlers/links.js.map +1 -1
  54. package/dist/api/routes/seo/handlers/proposals.js +2 -2
  55. package/dist/api/routes/seo/handlers/proposals.js.map +1 -1
  56. package/dist/api/routes/seo-public.d.ts.map +1 -1
  57. package/dist/api/routes/seo-public.js +9 -0
  58. package/dist/api/routes/seo-public.js.map +1 -1
  59. package/dist/appearance/index.d.ts +2 -0
  60. package/dist/appearance/index.d.ts.map +1 -1
  61. package/dist/appearance/index.js +1 -0
  62. package/dist/appearance/index.js.map +1 -1
  63. package/dist/appearance/public-theme.d.ts +24 -0
  64. package/dist/appearance/public-theme.d.ts.map +1 -0
  65. package/dist/appearance/public-theme.js +87 -0
  66. package/dist/appearance/public-theme.js.map +1 -0
  67. package/dist/appearance/resolve.d.ts.map +1 -1
  68. package/dist/appearance/resolve.js +3 -0
  69. package/dist/appearance/resolve.js.map +1 -1
  70. package/dist/appearance/types.d.ts +3 -0
  71. package/dist/appearance/types.d.ts.map +1 -1
  72. package/dist/appearance/types.js +0 -14
  73. package/dist/appearance/types.js.map +1 -1
  74. package/dist/db/model-types.d.ts +40 -0
  75. package/dist/db/model-types.d.ts.map +1 -1
  76. package/dist/forms/delivery.d.ts.map +1 -1
  77. package/dist/forms/delivery.js +16 -10
  78. package/dist/forms/delivery.js.map +1 -1
  79. package/dist/forms/encryption.d.ts +4 -2
  80. package/dist/forms/encryption.d.ts.map +1 -1
  81. package/dist/forms/encryption.js +6 -4
  82. package/dist/forms/encryption.js.map +1 -1
  83. package/dist/forms/submission.d.ts.map +1 -1
  84. package/dist/forms/submission.js +17 -10
  85. package/dist/forms/submission.js.map +1 -1
  86. package/dist/generated/browser.d.ts +19 -0
  87. package/dist/generated/client.d.ts +19 -0
  88. package/dist/generated/internal/class.d.ts +33 -0
  89. package/dist/generated/internal/class.js +4 -4
  90. package/dist/generated/internal/prismaNamespace.d.ts +296 -1
  91. package/dist/generated/internal/prismaNamespace.js +65 -1
  92. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +70 -0
  93. package/dist/generated/internal/prismaNamespaceBrowser.js +65 -1
  94. package/dist/generated/models/McpOauthGrant.d.ts +1577 -0
  95. package/dist/generated/models/McpOauthGrant.js +1 -0
  96. package/dist/generated/models/McpOauthRefreshReplay.d.ts +957 -0
  97. package/dist/generated/models/McpOauthRefreshReplay.js +1 -0
  98. package/dist/generated/models/McpOauthTransaction.d.ts +1153 -0
  99. package/dist/generated/models/McpOauthTransaction.js +1 -0
  100. package/dist/generated/models/User.d.ts +279 -0
  101. package/dist/generated/models.d.ts +3 -0
  102. package/dist/index.d.ts +2 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +1 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/mcp/cimd.d.ts +12 -0
  107. package/dist/mcp/cimd.d.ts.map +1 -0
  108. package/dist/mcp/cimd.js +67 -0
  109. package/dist/mcp/cimd.js.map +1 -0
  110. package/dist/mcp/gate.d.ts +11 -0
  111. package/dist/mcp/gate.d.ts.map +1 -0
  112. package/dist/mcp/gate.js +75 -0
  113. package/dist/mcp/gate.js.map +1 -0
  114. package/dist/mcp/memory-grant-store.d.ts +5 -0
  115. package/dist/mcp/memory-grant-store.d.ts.map +1 -0
  116. package/dist/mcp/memory-grant-store.js +44 -0
  117. package/dist/mcp/memory-grant-store.js.map +1 -0
  118. package/dist/mcp/oauth-grants.d.ts +83 -0
  119. package/dist/mcp/oauth-grants.d.ts.map +1 -0
  120. package/dist/mcp/oauth-grants.js +129 -0
  121. package/dist/mcp/oauth-grants.js.map +1 -0
  122. package/dist/mcp/oauth-http.d.ts +43 -0
  123. package/dist/mcp/oauth-http.d.ts.map +1 -0
  124. package/dist/mcp/oauth-http.js +243 -0
  125. package/dist/mcp/oauth-http.js.map +1 -0
  126. package/dist/mcp/oauth-token.d.ts +43 -0
  127. package/dist/mcp/oauth-token.d.ts.map +1 -0
  128. package/dist/mcp/oauth-token.js +78 -0
  129. package/dist/mcp/oauth-token.js.map +1 -0
  130. package/dist/mcp/prisma-store.d.ts +5 -0
  131. package/dist/mcp/prisma-store.d.ts.map +1 -0
  132. package/dist/mcp/prisma-store.js +69 -0
  133. package/dist/mcp/prisma-store.js.map +1 -0
  134. package/dist/mcp/public.d.ts +5 -0
  135. package/dist/mcp/public.d.ts.map +1 -0
  136. package/dist/mcp/public.js +30 -0
  137. package/dist/mcp/public.js.map +1 -0
  138. package/dist/mcp/runtime.d.ts +4 -0
  139. package/dist/mcp/runtime.d.ts.map +1 -0
  140. package/dist/mcp/runtime.js +46 -0
  141. package/dist/mcp/runtime.js.map +1 -0
  142. package/dist/mcp/transactions.d.ts +18 -0
  143. package/dist/mcp/transactions.d.ts.map +1 -0
  144. package/dist/mcp/transactions.js +15 -0
  145. package/dist/mcp/transactions.js.map +1 -0
  146. package/dist/privacy/phi.d.ts +5 -0
  147. package/dist/privacy/phi.d.ts.map +1 -0
  148. package/dist/privacy/phi.js +69 -0
  149. package/dist/privacy/phi.js.map +1 -0
  150. package/dist/seo/document-path.d.ts +13 -0
  151. package/dist/seo/document-path.d.ts.map +1 -1
  152. package/dist/seo/document-path.js +10 -0
  153. package/dist/seo/document-path.js.map +1 -1
  154. package/package.json +3 -3
  155. package/prisma/migrations/0023_mcp_oauth/migration.sql +40 -0
  156. package/prisma/migrations/0024_mcp_oauth_transactions/migration.sql +16 -0
  157. package/prisma/schema.prisma +58 -0
@@ -0,0 +1,143 @@
1
+ import { logEvent } from '../../security/audit.js';
2
+ import { canonicalMcpResource } from '../../mcp/oauth-grants.js';
3
+ import { completeConsent, readConsentTransaction } from '../../mcp/oauth-http.js';
4
+ import { mcpOauthRuntime, mcpSiteUrl } from '../../mcp/runtime.js';
5
+ import { json, errorResponse, internalError, requireAuth, WRITE_ROLES, requireRole, } from '../route-helpers.js';
6
+ export function registerMcpOauthRoutes(router) {
7
+ router.get('/mcp/oauth/setup', async (request) => {
8
+ try {
9
+ const auth = await requireAuth(request);
10
+ if (auth.error)
11
+ return auth.error;
12
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
13
+ if (roleErr)
14
+ return roleErr;
15
+ const site = mcpSiteUrl();
16
+ if (!site)
17
+ return errorResponse('MCP site URL is not configured', 500);
18
+ return json({
19
+ data: {
20
+ mcpUrl: canonicalMcpResource(site),
21
+ phiNote: 'Lead contents stay hidden from connected apps when Protect health information is on.',
22
+ },
23
+ });
24
+ }
25
+ catch (err) {
26
+ return internalError(err, 'mcp setup');
27
+ }
28
+ });
29
+ router.get('/mcp/oauth/transactions/:id', async (request, params) => {
30
+ try {
31
+ const auth = await requireAuth(request);
32
+ if (auth.error)
33
+ return auth.error;
34
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
35
+ if (roleErr)
36
+ return roleErr;
37
+ const runtime = mcpOauthRuntime();
38
+ if (!runtime)
39
+ return errorResponse('MCP site URL is not configured', 500);
40
+ const found = await readConsentTransaction(params.id, runtime);
41
+ if (!found)
42
+ return errorResponse('This connection request expired', 404);
43
+ return json({
44
+ data: {
45
+ clientName: found.transaction.clientName,
46
+ clientId: found.transaction.clientId,
47
+ redirectHost: found.redirectHost,
48
+ scope: found.transaction.scope,
49
+ },
50
+ });
51
+ }
52
+ catch (err) {
53
+ return internalError(err, 'mcp consent read');
54
+ }
55
+ });
56
+ router.post('/mcp/oauth/consent', async (request) => {
57
+ try {
58
+ const auth = await requireAuth(request);
59
+ if (auth.error)
60
+ return auth.error;
61
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
62
+ if (roleErr)
63
+ return roleErr;
64
+ const runtime = mcpOauthRuntime();
65
+ if (!runtime)
66
+ return errorResponse('MCP site URL is not configured', 500);
67
+ const body = (await request.json());
68
+ if (typeof body.txn !== 'string' || typeof body.allow !== 'boolean') {
69
+ return errorResponse('txn and allow are required', 400);
70
+ }
71
+ const result = await completeConsent({ txnId: body.txn, userId: auth.session.userId, allow: body.allow }, runtime);
72
+ if ('error' in result)
73
+ return errorResponse(result.error, result.error === 'forbidden' ? 403 : 404);
74
+ await logEvent({
75
+ event: body.allow ? 'mcp.oauth.consent_allowed' : 'mcp.oauth.consent_denied',
76
+ userId: auth.session.userId,
77
+ details: { txn: body.txn },
78
+ });
79
+ return json({ data: { redirectUrl: result.redirectUrl } });
80
+ }
81
+ catch (err) {
82
+ return internalError(err, 'mcp consent');
83
+ }
84
+ });
85
+ router.get('/mcp/oauth/grants', async (request) => {
86
+ try {
87
+ const auth = await requireAuth(request);
88
+ if (auth.error)
89
+ return auth.error;
90
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
91
+ if (roleErr)
92
+ return roleErr;
93
+ const runtime = mcpOauthRuntime();
94
+ if (!runtime)
95
+ return errorResponse('MCP site URL is not configured', 500);
96
+ const rows = await runtime.grants.listForUser(auth.session.userId);
97
+ return json({
98
+ data: rows
99
+ .filter((row) => row.codeConsumedAt)
100
+ .map((row) => ({
101
+ id: row.id,
102
+ clientId: row.clientId,
103
+ scope: row.scope,
104
+ revokedAt: row.revokedAt,
105
+ })),
106
+ });
107
+ }
108
+ catch (err) {
109
+ return internalError(err, 'mcp grants');
110
+ }
111
+ });
112
+ router.delete('/mcp/oauth/grants/:id', async (request, params) => {
113
+ try {
114
+ const auth = await requireAuth(request);
115
+ if (auth.error)
116
+ return auth.error;
117
+ const roleErr = requireRole(auth.session.role, WRITE_ROLES);
118
+ if (roleErr)
119
+ return roleErr;
120
+ const runtime = mcpOauthRuntime();
121
+ if (!runtime)
122
+ return errorResponse('MCP site URL is not configured', 500);
123
+ const ok = await runtime.grants.revokeById(params.id, auth.session.userId, new Date());
124
+ if (!ok)
125
+ return errorResponse('Grant not found', 404);
126
+ await logEvent({
127
+ event: 'mcp.oauth.grant_revoked',
128
+ userId: auth.session.userId,
129
+ details: { grantId: params.id },
130
+ });
131
+ return json({
132
+ data: {
133
+ revoked: true,
134
+ note: 'New requests stop immediately. An access token already issued can keep working for up to 15 minutes.',
135
+ },
136
+ });
137
+ }
138
+ catch (err) {
139
+ return internalError(err, 'mcp revoke');
140
+ }
141
+ });
142
+ }
143
+ //# sourceMappingURL=mcp-oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../../../src/api/routes/mcp-oauth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/api/routes/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAa7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgH7D"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/api/routes/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AA0C7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8H7D"}
@@ -1,8 +1,36 @@
1
1
  import { logEvent } from '../../security/audit.js';
2
2
  import { createPreviewAdapter } from '../../preview/index.js';
3
3
  import { createPreviewStreamResponse } from '../../preview/sse-stream.js';
4
+ import { getPrentaConfig } from '../../config/runtime.js';
5
+ import { documentPreviewUrl } from '../../seo/document-path.js';
4
6
  import { guardedDb } from '../guarded-db.js';
5
- import { json, errorResponse, internalError, getSessionSecret, requireAuth, } from '../route-helpers.js';
7
+ import { json, errorResponse, internalError, getSessionSecret, requireAuth, WRITE_ROLES, requireRole, findCollectionDef, } from '../route-helpers.js';
8
+ function publicSiteUrl(request) {
9
+ const fromEnv = process.env.NEXT_PUBLIC_SITE_URL?.trim();
10
+ if (fromEnv)
11
+ return fromEnv.replace(/\/+$/, '');
12
+ const fromConfig = getPrentaConfig()?.seo?.siteUrl?.trim();
13
+ if (fromConfig)
14
+ return fromConfig.replace(/\/+$/, '');
15
+ try {
16
+ const u = new URL(request.url);
17
+ return `${u.protocol}//${u.host}`;
18
+ }
19
+ catch {
20
+ return '';
21
+ }
22
+ }
23
+ function requirePreviewAccess(session) {
24
+ if (!session.apiKey)
25
+ return requireRole(session.role, WRITE_ROLES);
26
+ if (session.apiKey.scopes.admin)
27
+ return null;
28
+ const actions = session.apiKey.scopes.actions ?? [];
29
+ if (actions.includes('read') || actions.includes('update') || actions.includes('create')) {
30
+ return null;
31
+ }
32
+ return errorResponse('API key does not have permission to read', 403);
33
+ }
6
34
  export function registerPreviewRoutes(router) {
7
35
  const db = guardedDb;
8
36
  // ---------------------------------------------------------------------------
@@ -13,6 +41,9 @@ export function registerPreviewRoutes(router) {
13
41
  const auth = await requireAuth(request);
14
42
  if (auth.error)
15
43
  return auth.error;
44
+ const accessErr = requirePreviewAccess(auth.session);
45
+ if (accessErr)
46
+ return accessErr;
16
47
  const body = (await request.json());
17
48
  if (!body.collection || !body.documentId) {
18
49
  return errorResponse('collection and documentId are required', 400);
@@ -22,7 +53,7 @@ export function registerPreviewRoutes(router) {
22
53
  // once a doc with that id appeared.
23
54
  const doc = await db().document.findFirst({
24
55
  where: { id: body.documentId, collection: body.collection, deletedAt: null },
25
- select: { id: true, slug: true },
56
+ select: { id: true, slug: true, data: true },
26
57
  });
27
58
  if (!doc)
28
59
  return errorResponse('Document not found', 404);
@@ -31,6 +62,15 @@ export function registerPreviewRoutes(router) {
31
62
  ttlSeconds: body.ttlSeconds,
32
63
  issuedBy: auth.session.userId,
33
64
  });
65
+ const collection = findCollectionDef(body.collection);
66
+ const data = doc.data && typeof doc.data === 'object' ? doc.data : null;
67
+ const url = documentPreviewUrl({
68
+ siteUrl: publicSiteUrl(request),
69
+ token: session.token,
70
+ urlPrefix: collection?.urlPrefix,
71
+ slug: doc.slug,
72
+ data,
73
+ });
34
74
  await logEvent({
35
75
  event: 'preview_token_issued',
36
76
  userId: auth.session.userId,
@@ -45,6 +85,7 @@ export function registerPreviewRoutes(router) {
45
85
  token: session.token,
46
86
  expiresAt: session.expiresAt,
47
87
  slug: doc.slug,
88
+ url,
48
89
  },
49
90
  });
50
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/api/routes/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/api/routes/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ApiRouter } from '../router.js';
2
+ export declare function registerPrivacyRoutes(router: ApiRouter): void;
3
+ //# sourceMappingURL=privacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy.d.ts","sourceRoot":"","sources":["../../../src/api/routes/privacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAY7C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkC7D"}
@@ -0,0 +1,44 @@
1
+ import { logEvent } from '../../security/audit.js';
2
+ import { phiSafeguardsEnabled, setPhiSafeguards } from '../../privacy/phi.js';
3
+ import { json, errorResponse, internalError, requireAuth, ADMIN_ROLES, requireRole, } from '../route-helpers.js';
4
+ export function registerPrivacyRoutes(router) {
5
+ router.get('/privacy', async (request) => {
6
+ try {
7
+ const auth = await requireAuth(request);
8
+ if (auth.error)
9
+ return auth.error;
10
+ const roleErr = requireRole(auth.session.role, ADMIN_ROLES);
11
+ if (roleErr)
12
+ return roleErr;
13
+ return json({ data: { phiSafeguards: await phiSafeguardsEnabled() } });
14
+ }
15
+ catch (err) {
16
+ return internalError(err, 'read privacy settings');
17
+ }
18
+ });
19
+ router.put('/privacy', async (request) => {
20
+ try {
21
+ const auth = await requireAuth(request);
22
+ if (auth.error)
23
+ return auth.error;
24
+ const roleErr = requireRole(auth.session.role, ADMIN_ROLES);
25
+ if (roleErr)
26
+ return roleErr;
27
+ const body = (await request.json());
28
+ if (typeof body.phiSafeguards !== 'boolean') {
29
+ return errorResponse('phiSafeguards must be a boolean', 400);
30
+ }
31
+ await setPhiSafeguards(body.phiSafeguards, auth.session.userId);
32
+ await logEvent({
33
+ event: 'privacy.phi_safeguards_updated',
34
+ userId: auth.session.userId,
35
+ details: { phiSafeguards: body.phiSafeguards },
36
+ });
37
+ return json({ data: { phiSafeguards: body.phiSafeguards } });
38
+ }
39
+ catch (err) {
40
+ return internalError(err, 'update privacy settings');
41
+ }
42
+ });
43
+ }
44
+ //# sourceMappingURL=privacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy.js","sourceRoot":"","sources":["../../../src/api/routes/privacy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EACL,IAAI,EACJ,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAA;AAE5B,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAC3D,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAA;YAC3B,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAA;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAC3D,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAA;YAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAgC,CAAA;YAClE,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,aAAa,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/D,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,gCAAgC;gBACvC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;aAC/C,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/api/routes/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAgC7C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqchE"}
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/api/routes/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAiC7C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuchE"}
@@ -8,7 +8,7 @@ import { getPrentaConfig } from '../../config/runtime.js';
8
8
  import { enqueueCronJob, registerJobRoutes } from '../../jobs/routes.js';
9
9
  import { isGatedContentCollection } from '../../validation/publish.js';
10
10
  import { guardedDb } from '../guarded-db.js';
11
- import { json, errorResponse, internalError, clampPage, clampPageSize, requireAuth, buildActionContext, WRITE_ROLES, ADMIN_ROLES, requireRole, } from '../route-helpers.js';
11
+ import { json, errorResponse, internalError, clampPage, clampPageSize, requireAuth, buildActionContext, WRITE_ROLES, ADMIN_ROLES, requireRole, requireStaffAccess, } from '../route-helpers.js';
12
12
  const PUBLISH_ROLES = new Set(['ADMIN', 'EDITOR']);
13
13
  const REVIEW_READY = new Set(['IN_REVIEW', 'APPROVED']);
14
14
  export function registerSchedulingRoutes(router) {
@@ -21,6 +21,9 @@ export function registerSchedulingRoutes(router) {
21
21
  const auth = await requireAuth(request);
22
22
  if (auth.error)
23
23
  return auth.error;
24
+ const accessErr = requireStaffAccess(auth.session, request);
25
+ if (accessErr)
26
+ return accessErr;
24
27
  const body = (await request.json());
25
28
  if (!body.stage)
26
29
  return errorResponse('Stage is required', 400);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../src/api/routes/scheduling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../src/api/routes/scheduling.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audits.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/audits.ts"],"names":[],"mappings":"AAmBA,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BrE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqDtE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAatE;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAWnB"}
1
+ {"version":3,"file":"audits.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/audits.ts"],"names":[],"mappings":"AAkBA,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BrE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqDtE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAatE;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAWnB"}
@@ -2,14 +2,14 @@ import { logEvent } from '../../../../security/audit.js';
2
2
  import { processSeoScan } from '../../../../cron/index.js';
3
3
  import { isResolvedIp } from '../../../../security/client-ip.js';
4
4
  import { getPrentaConfig } from '../../../../config/runtime.js';
5
- import { json, errorResponse, internalError, hasModel, modelNotAvailable, requireAuth, WRITE_ROLES, requireRole, seoAuditLimiter, checkRateLimitAsync, clientIp, } from '../../../route-helpers.js';
5
+ import { json, errorResponse, internalError, hasModel, modelNotAvailable, requireAuth, requireStaffAccess, seoAuditLimiter, checkRateLimitAsync, clientIp, } from '../../../route-helpers.js';
6
6
  import { db } from './shared.js';
7
7
  export async function postSeoScan(request) {
8
8
  try {
9
9
  const auth = await requireAuth(request);
10
10
  if (auth.error)
11
11
  return auth.error;
12
- const roleErr = requireRole(auth.session.role, WRITE_ROLES);
12
+ const roleErr = requireStaffAccess(auth.session, request);
13
13
  if (roleErr)
14
14
  return roleErr;
15
15
  // Expensive: loads + regex-scans every published doc. Rate-limit it (same
@@ -38,7 +38,7 @@ export async function postSeoAudit(request) {
38
38
  const auth = await requireAuth(request);
39
39
  if (auth.error)
40
40
  return auth.error;
41
- const roleErr = requireRole(auth.session.role, WRITE_ROLES);
41
+ const roleErr = requireStaffAccess(auth.session, request);
42
42
  if (roleErr)
43
43
  return roleErr;
44
44
  if (!hasModel(db(), 'seoAuditRun') || !hasModel(db(), 'seoIssue')) {
@@ -1 +1 @@
1
- {"version":3,"file":"audits.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/audits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EACL,IAAI,EACJ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,QAAQ,GACT,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAgB;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC3D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAA;QAE3B,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,YAAY,MAAM,EAAE;YACtB,CAAC,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAC1C,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,aAAa,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;QACtE,CAAC;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,EAAE,8BAA8B,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAA;QAC1F,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;QAErF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC3D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;YAClE,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAC9F,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,aAAa,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA8B,CAAA;QAClF,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,MAAM,CAAA;QAEnC,MAAM,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,GAC1D,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,EAAE;YACzC,KAAK;YACL,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAChC,eAAe,EAAE,8BAA8B,CAAC,eAAe,EAAE,CAAC;SACnE,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC;gBACb,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE;aAC5D,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;YACV,IAAI,EAAE;gBACJ,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC3C,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,MAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YAAE,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAC3E,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,EAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG;YAAE,OAAO,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"audits.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/audits.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/content.ts"],"names":[],"mappings":"AAgIA,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BvE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAmInB"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/content.ts"],"names":[],"mappings":"AA+HA,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4BvE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAmInB"}
@@ -3,7 +3,7 @@ import { logEvent } from '../../../../security/audit.js';
3
3
  import { DEFAULT_DIRECTIVES, coerceMaxImagePreview } from '../../../../seo/robots-directives.js';
4
4
  import { getPrentaConfig } from '../../../../config/runtime.js';
5
5
  import { syncSchemaTypeFields } from '../../../../seo/schema-sync.js';
6
- import { json, errorResponse, internalError, asRecord, requireAuth, buildActionContext, WRITE_ROLES, requireRole, enforceDocumentReadAccess, clampPage, clampPageSize, } from '../../../route-helpers.js';
6
+ import { json, errorResponse, internalError, asRecord, requireAuth, buildActionContext, requireStaffAccess, enforceDocumentReadAccess, clampPage, clampPageSize, } from '../../../route-helpers.js';
7
7
  import { db } from './shared.js';
8
8
  /**
9
9
  * Compute the set of front-end content collections the caller may read.
@@ -195,7 +195,7 @@ export async function putSeoContentRecord(request, params) {
195
195
  const auth = await requireAuth(request);
196
196
  if (auth.error)
197
197
  return auth.error;
198
- const roleErr = requireRole(auth.session.role, WRITE_ROLES);
198
+ const roleErr = requireStaffAccess(auth.session, request);
199
199
  if (roleErr)
200
200
  return roleErr;
201
201
  const body = (await request.json().catch(() => null));
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/content.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"issue-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/issue-helpers.ts"],"names":[],"mappings":"AAeA,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;EAwBnC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC,CA0BnB;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,GAAG,OAAO,CACP;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,OAAO,iCAAiC,EAAE,gBAAgB,CAAA;IAClE,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,OAAO,6BAA6B,EAAE,aAAa,GAAG,SAAS,CAAA;CACzE,CACJ,CAKA"}
1
+ {"version":3,"file":"issue-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/issue-helpers.ts"],"names":[],"mappings":"AAcA,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;EAwBnC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GACtC,OAAO,CAAC,QAAQ,CAAC,CA0BnB;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,GAAG,OAAO,CACP;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,OAAO,iCAAiC,EAAE,gBAAgB,CAAA;IAClE,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,OAAO,6BAA6B,EAAE,aAAa,GAAG,SAAS,CAAA;CACzE,CACJ,CAKA"}
@@ -1,5 +1,5 @@
1
1
  import { logEvent } from '../../../../security/audit.js';
2
- import { json, errorResponse, hasModel, modelNotAvailable, requireAuth, WRITE_ROLES, requireRole, } from '../../../route-helpers.js';
2
+ import { json, errorResponse, hasModel, modelNotAvailable, requireAuth, requireStaffAccess, } from '../../../route-helpers.js';
3
3
  import { db } from './shared.js';
4
4
  // ---------------------------------------------------------------------------
5
5
  // SEO Operations Center — audit engine, issues, overview, content records
@@ -33,7 +33,7 @@ export async function setIssueStatus(request, issueId, status) {
33
33
  const auth = await requireAuth(request);
34
34
  if (auth.error)
35
35
  return auth.error;
36
- const roleErr = requireRole(auth.session.role, WRITE_ROLES);
36
+ const roleErr = requireStaffAccess(auth.session, request);
37
37
  if (roleErr)
38
38
  return roleErr;
39
39
  if (!hasModel(db(), 'seoIssue'))
@@ -1 +1 @@
1
- {"version":3,"file":"issue-helpers.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/issue-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-helpers.js","sourceRoot":"","sources":["../../../../../src/api/routes/seo/handlers/issue-helpers.ts"],"names":[],"mappings":"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"}