@actuate-media/cms-core 0.1.0 → 0.2.1

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 (151) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/actions/document-crud.test.js +1 -1
  3. package/dist/__tests__/actions/document-crud.test.js.map +1 -1
  4. package/dist/__tests__/scheduling/scheduling.test.js +1 -1
  5. package/dist/__tests__/scheduling/scheduling.test.js.map +1 -1
  6. package/dist/__tests__/security/access.test.js +1 -1
  7. package/dist/__tests__/security/access.test.js.map +1 -1
  8. package/dist/__tests__/security/reauth.test.js +1 -1
  9. package/dist/__tests__/security/reauth.test.js.map +1 -1
  10. package/dist/__tests__/security/sanitize.test.js +1 -1
  11. package/dist/__tests__/security/sanitize.test.js.map +1 -1
  12. package/dist/__tests__/webhooks/webhooks.test.js +2 -2
  13. package/dist/__tests__/webhooks/webhooks.test.js.map +1 -1
  14. package/dist/actions.js +4 -4
  15. package/dist/actions.js.map +1 -1
  16. package/dist/api/handler-factory.d.ts.map +1 -1
  17. package/dist/api/handler-factory.js +26 -7
  18. package/dist/api/handler-factory.js.map +1 -1
  19. package/dist/api/handlers.d.ts +1 -1
  20. package/dist/api/handlers.d.ts.map +1 -1
  21. package/dist/api/handlers.js +339 -75
  22. package/dist/api/handlers.js.map +1 -1
  23. package/dist/api/index.d.ts +3 -3
  24. package/dist/api/index.d.ts.map +1 -1
  25. package/dist/api/index.js +2 -2
  26. package/dist/api/index.js.map +1 -1
  27. package/dist/auth/index.d.ts +10 -10
  28. package/dist/auth/index.d.ts.map +1 -1
  29. package/dist/auth/index.js +8 -8
  30. package/dist/auth/index.js.map +1 -1
  31. package/dist/auth/oauth.d.ts +1 -1
  32. package/dist/auth/oauth.d.ts.map +1 -1
  33. package/dist/auth/oauth.js +1 -1
  34. package/dist/auth/oauth.js.map +1 -1
  35. package/dist/auth/password.d.ts +2 -2
  36. package/dist/auth/password.d.ts.map +1 -1
  37. package/dist/auth/password.js +1 -1
  38. package/dist/auth/password.js.map +1 -1
  39. package/dist/auth/providers/github.d.ts +1 -1
  40. package/dist/auth/providers/github.d.ts.map +1 -1
  41. package/dist/auth/providers/google.d.ts +1 -1
  42. package/dist/auth/providers/google.d.ts.map +1 -1
  43. package/dist/auth/providers/microsoft.d.ts +1 -1
  44. package/dist/auth/providers/microsoft.d.ts.map +1 -1
  45. package/dist/cache/index.d.ts +1 -1
  46. package/dist/cache/index.d.ts.map +1 -1
  47. package/dist/codegen/index.d.ts.map +1 -1
  48. package/dist/codegen/index.js +2 -2
  49. package/dist/codegen/index.js.map +1 -1
  50. package/dist/collections/index.d.ts +1 -1
  51. package/dist/collections/index.d.ts.map +1 -1
  52. package/dist/config/define.d.ts +8 -0
  53. package/dist/config/define.d.ts.map +1 -0
  54. package/dist/config/define.js +7 -0
  55. package/dist/config/define.js.map +1 -0
  56. package/dist/config/index.d.ts +3 -3
  57. package/dist/config/index.d.ts.map +1 -1
  58. package/dist/config/index.js +1 -1
  59. package/dist/config/index.js.map +1 -1
  60. package/dist/config/types.d.ts +25 -3
  61. package/dist/config/types.d.ts.map +1 -1
  62. package/dist/content/index.d.ts +7 -7
  63. package/dist/content/index.d.ts.map +1 -1
  64. package/dist/content/index.js +4 -4
  65. package/dist/content/index.js.map +1 -1
  66. package/dist/db/adapters/mysql.js +1 -1
  67. package/dist/db/adapters/mysql.js.map +1 -1
  68. package/dist/db/adapters/postgres.js +1 -1
  69. package/dist/db/adapters/postgres.js.map +1 -1
  70. package/dist/db/adapters/sqlite.js +1 -1
  71. package/dist/db/adapters/sqlite.js.map +1 -1
  72. package/dist/fields/index.d.ts +1 -1
  73. package/dist/fields/index.d.ts.map +1 -1
  74. package/dist/forms/index.d.ts +4 -4
  75. package/dist/forms/index.d.ts.map +1 -1
  76. package/dist/forms/index.js +2 -2
  77. package/dist/forms/index.js.map +1 -1
  78. package/dist/graphql/index.d.ts +1 -1
  79. package/dist/graphql/index.d.ts.map +1 -1
  80. package/dist/graphql/index.js +4 -4
  81. package/dist/graphql/index.js.map +1 -1
  82. package/dist/i18n/index.d.ts +1 -1
  83. package/dist/i18n/index.d.ts.map +1 -1
  84. package/dist/index.d.ts +72 -72
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +40 -40
  87. package/dist/index.js.map +1 -1
  88. package/dist/media/index.d.ts +2 -2
  89. package/dist/media/index.d.ts.map +1 -1
  90. package/dist/media/index.js +1 -1
  91. package/dist/media/index.js.map +1 -1
  92. package/dist/middleware.d.ts +10 -2
  93. package/dist/middleware.d.ts.map +1 -1
  94. package/dist/middleware.js +1 -1
  95. package/dist/middleware.js.map +1 -1
  96. package/dist/next/preview.js +1 -1
  97. package/dist/next/preview.js.map +1 -1
  98. package/dist/next.d.ts +2 -2
  99. package/dist/next.d.ts.map +1 -1
  100. package/dist/next.js +33 -1
  101. package/dist/next.js.map +1 -1
  102. package/dist/search/index.js +1 -1
  103. package/dist/search/index.js.map +1 -1
  104. package/dist/security/access.d.ts +1 -1
  105. package/dist/security/access.d.ts.map +1 -1
  106. package/dist/security/audit.js +2 -2
  107. package/dist/security/audit.js.map +1 -1
  108. package/dist/security/captcha.d.ts +32 -0
  109. package/dist/security/captcha.d.ts.map +1 -0
  110. package/dist/security/captcha.js +101 -0
  111. package/dist/security/captcha.js.map +1 -0
  112. package/dist/security/index.d.ts +32 -30
  113. package/dist/security/index.d.ts.map +1 -1
  114. package/dist/security/index.js +20 -19
  115. package/dist/security/index.js.map +1 -1
  116. package/dist/security/middleware.d.ts +2 -2
  117. package/dist/security/middleware.d.ts.map +1 -1
  118. package/dist/security/middleware.js +2 -2
  119. package/dist/security/middleware.js.map +1 -1
  120. package/dist/security/reauth.js +2 -2
  121. package/dist/security/reauth.js.map +1 -1
  122. package/dist/seo/index.d.ts +8 -8
  123. package/dist/seo/index.d.ts.map +1 -1
  124. package/dist/seo/index.js +4 -4
  125. package/dist/seo/index.js.map +1 -1
  126. package/dist/setup/index.js +1 -1
  127. package/dist/setup/index.js.map +1 -1
  128. package/dist/upgrade/index.d.ts +6 -6
  129. package/dist/upgrade/index.d.ts.map +1 -1
  130. package/dist/upgrade/index.js +3 -3
  131. package/dist/upgrade/index.js.map +1 -1
  132. package/dist/upgrade/upgrade-pr.d.ts +1 -1
  133. package/dist/upgrade/upgrade-pr.d.ts.map +1 -1
  134. package/dist/upgrade/upgrade-pr.js +107 -17
  135. package/dist/upgrade/upgrade-pr.js.map +1 -1
  136. package/dist/upgrade/version-check.d.ts +10 -2
  137. package/dist/upgrade/version-check.d.ts.map +1 -1
  138. package/dist/upgrade/version-check.js +57 -11
  139. package/dist/upgrade/version-check.js.map +1 -1
  140. package/dist/webhooks/index.js +2 -2
  141. package/dist/webhooks/index.js.map +1 -1
  142. package/dist/workflow/index.js +1 -1
  143. package/dist/workflow/index.js.map +1 -1
  144. package/package.json +21 -13
  145. package/prisma/cms-schema.prisma +237 -0
  146. package/prisma/migrations/0001_init/migration.sql +384 -0
  147. package/prisma/migrations/0002_folders/migration.sql +39 -0
  148. package/prisma/migrations/0003_search_and_webhooks/migration.sql +50 -0
  149. package/prisma/migrations/migration_lock.toml +3 -0
  150. package/prisma/schema.prisma +485 -0
  151. package/prisma/seed.ts +82 -0
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-pr.js","sourceRoot":"","sources":["../../src/upgrade/upgrade-pr.ts"],"names":[],"mappings":"AAeA,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAyB;IAEzB,MAAM,UAAU,GAAG,mBAAmB,OAAO,CAAC,aAAa,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,iCAAiC,OAAO,CAAC,aAAa,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG;QACX,6BAA6B,OAAO,CAAC,aAAa,EAAE;QACpD,EAAE;QACF,OAAO,CAAC,kBAAkB;QAC1B,EAAE;QACF,KAAK;QACL,sEAAsE;KACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,gCAAgC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,QAAQ,EACrE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE;YAC7C,MAAM,EAAE,gCAAgC;YACxC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM;SACnC,CAAC;KACH,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyC,CAAC;IAE3E,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,MAAM;QACnB,KAAK,EAAE,EAAE,CAAC,QAAQ;QAClB,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"upgrade-pr.js","sourceRoot":"","sources":["../../src/upgrade/upgrade-pr.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,17 @@ export interface VersionInfo {
4
4
  updateAvailable: boolean;
5
5
  severity?: "patch" | "minor" | "major";
6
6
  releaseDate?: string;
7
- releaseNotes?: string;
7
+ changelog?: Array<{
8
+ version: string;
9
+ date: string;
10
+ summary: string;
11
+ }>;
12
+ updateCommand?: string;
8
13
  }
9
- /** Check the update server for the latest available version. */
14
+ /**
15
+ * Check the npm registry directly for the latest published version.
16
+ * No external update server needed — works everywhere.
17
+ */
10
18
  export declare function checkForUpdates(currentVersion: string): Promise<VersionInfo>;
11
19
  /** Parse a semver string into its components. */
12
20
  export declare function parseSemver(version: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,gEAAgE;AAChE,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQnG"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CAgDtB;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQxD"}
@@ -1,19 +1,44 @@
1
- const UPDATE_SERVER = "https://updates.actuatecms.com";
2
- /** Check the update server for the latest available version. */
1
+ const CORE_PACKAGE = "@actuate-media/cms-core";
2
+ const ADMIN_PACKAGE = "@actuate-media/cms-admin";
3
+ const NPM_REGISTRY = "https://registry.npmjs.org";
4
+ /**
5
+ * Check the npm registry directly for the latest published version.
6
+ * No external update server needed — works everywhere.
7
+ */
3
8
  export async function checkForUpdates(currentVersion) {
4
- const response = await fetch(`${UPDATE_SERVER}/api/versions/latest`, {
5
- headers: { "X-Current-Version": currentVersion },
9
+ const res = await fetch(`${NPM_REGISTRY}/${encodeURIComponent(CORE_PACKAGE)}`, {
10
+ headers: { Accept: "application/json" },
11
+ signal: AbortSignal.timeout(10_000),
6
12
  });
7
- if (!response.ok) {
8
- throw new Error(`Update check failed: ${response.status}`);
13
+ if (!res.ok) {
14
+ throw new Error(`Update check failed: ${res.status}`);
15
+ }
16
+ const data = (await res.json());
17
+ const latest = data["dist-tags"].latest;
18
+ const updateAvailable = compareSemver(latest, currentVersion) > 0;
19
+ let changelog;
20
+ if (updateAvailable) {
21
+ const newVersions = Object.keys(data.versions)
22
+ .filter((v) => /^\d+\.\d+\.\d+$/.test(v))
23
+ .filter((v) => compareSemver(v, currentVersion) > 0)
24
+ .sort((a, b) => compareSemver(b, a))
25
+ .slice(0, 20);
26
+ changelog = newVersions.map((v) => ({
27
+ version: v,
28
+ date: data.time[v]?.split("T")[0] ?? "",
29
+ summary: `Update to ${v}`,
30
+ }));
9
31
  }
10
- const data = (await response.json());
11
32
  return {
12
33
  current: currentVersion,
13
- latest: data.version,
14
- updateAvailable: data.version !== currentVersion,
15
- severity: data.severity,
16
- releaseDate: data.releaseDate,
34
+ latest,
35
+ updateAvailable,
36
+ severity: updateAvailable ? determineSeverity(currentVersion, latest) : undefined,
37
+ releaseDate: data.time[latest]?.split("T")[0],
38
+ changelog,
39
+ updateCommand: updateAvailable
40
+ ? `npm update ${CORE_PACKAGE} ${ADMIN_PACKAGE} && npx prisma migrate deploy`
41
+ : undefined,
17
42
  };
18
43
  }
19
44
  /** Parse a semver string into its components. */
@@ -27,4 +52,25 @@ export function parseSemver(version) {
27
52
  patch: parseInt(match[3], 10),
28
53
  };
29
54
  }
55
+ function compareSemver(a, b) {
56
+ const pa = a.split(".").map(Number);
57
+ const pb = b.split(".").map(Number);
58
+ for (let i = 0; i < 3; i++) {
59
+ const diff = (pa[i] ?? 0) - (pb[i] ?? 0);
60
+ if (diff !== 0)
61
+ return diff;
62
+ }
63
+ return 0;
64
+ }
65
+ function determineSeverity(current, latest) {
66
+ const cur = parseSemver(current);
67
+ const lat = parseSemver(latest);
68
+ if (!cur || !lat)
69
+ return "patch";
70
+ if (lat.major > cur.major)
71
+ return "major";
72
+ if (lat.minor > cur.minor)
73
+ return "minor";
74
+ return "patch";
75
+ }
30
76
  //# sourceMappingURL=version-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"AASA,MAAM,aAAa,GAAG,gCAAgC,CAAC;AAEvD,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,cAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,sBAAsB,EAAE;QACnE,OAAO,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiE,CAAC;IAErG,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,cAAc;QAChD,QAAQ,EAAE,IAAI,CAAC,QAAmC;QAClD,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/upgrade/version-check.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { getDB } from '../db';
2
- import { validateWebhookUrl } from '../security/webhook';
1
+ import { getDB } from '../db.js';
2
+ import { validateWebhookUrl } from '../security/webhook.js';
3
3
  const RETRY_DELAYS_MS = [0, 30_000, 120_000, 600_000];
4
4
  const DELIVERY_TIMEOUT_MS = 10_000;
5
5
  /** Sign a webhook payload using HMAC-SHA256. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getDB } from '../db';
1
+ import { getDB } from '../db.js';
2
2
  const TRANSITIONS = {
3
3
  DRAFT: { next: ['IN_REVIEW'], roles: ['ADMIN', 'EDITOR', 'AUTHOR'] },
4
4
  IN_REVIEW: { next: ['APPROVED', 'DRAFT'], roles: ['ADMIN', 'EDITOR'] },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@actuate-media/cms-core",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/actuate-media/actuatecms.git",
7
7
  "directory": "packages/cms-core"
8
8
  },
9
9
  "publishConfig": {
10
- "access": "restricted"
10
+ "access": "public"
11
11
  },
12
12
  "type": "module",
13
+ "sideEffects": false,
13
14
  "main": "dist/index.js",
14
15
  "types": "dist/index.d.ts",
15
16
  "exports": {
@@ -18,6 +19,11 @@
18
19
  "import": "./dist/index.js",
19
20
  "default": "./dist/index.js"
20
21
  },
22
+ "./config": {
23
+ "types": "./dist/config/define.d.ts",
24
+ "import": "./dist/config/define.js",
25
+ "default": "./dist/config/define.js"
26
+ },
21
27
  "./client": {
22
28
  "types": "./dist/client.d.ts",
23
29
  "import": "./dist/client.js",
@@ -47,14 +53,8 @@
47
53
  "types": "./generated/client.d.ts",
48
54
  "import": "./generated/client.js",
49
55
  "default": "./generated/client.js"
50
- }
51
- },
52
- "scripts": {
53
- "build": "tsc --project tsconfig.json",
54
- "dev": "tsc --project tsconfig.json --watch",
55
- "test": "vitest run",
56
- "type-check": "tsc --noEmit",
57
- "clean": "rm -rf dist generated"
56
+ },
57
+ "./prisma/schema": "./prisma/cms-schema.prisma"
58
58
  },
59
59
  "dependencies": {
60
60
  "@prisma/adapter-pg": "^7.6.0",
@@ -78,6 +78,14 @@
78
78
  },
79
79
  "files": [
80
80
  "dist",
81
- "generated"
82
- ]
83
- }
81
+ "generated",
82
+ "prisma"
83
+ ],
84
+ "scripts": {
85
+ "build": "tsc --project tsconfig.json",
86
+ "dev": "tsc --project tsconfig.json --watch",
87
+ "test": "vitest run",
88
+ "type-check": "tsc --noEmit",
89
+ "clean": "rm -rf dist generated"
90
+ }
91
+ }
@@ -0,0 +1,237 @@
1
+ // ═══════════════════════════════════════════════════════════════════════════════
2
+ // Actuate CMS — Prisma schema fragment
3
+ // ═══════════════════════════════════════════════════════════════════════════════
4
+ //
5
+ // This file defines the database models expected by `@actuatecms/cms-core` API
6
+ // handlers and server actions. It is a **fragment**: it does not include a
7
+ // `datasource` or `generator` block.
8
+ //
9
+ // ── How to merge into your project ─────────────────────────────────────────────
10
+ //
11
+ // 1. Ensure your root `schema.prisma` uses PostgreSQL, for example:
12
+ // datasource db {
13
+ // provider = "postgresql"
14
+ // url = env("DATABASE_URL")
15
+ // }
16
+ // generator client {
17
+ // provider = "prisma-client-js"
18
+ // output = "../node_modules/.prisma/client"
19
+ // }
20
+ //
21
+ // 2. Copy the `enum` and `model` blocks below into your `schema.prisma` (or use
22
+ // Prisma’s multi-file schema preview: put this file in `prisma/schema/` and
23
+ // include it per Prisma’s multi-file docs).
24
+ //
25
+ // 3. Resolve naming clashes: if you already have a `User` or `Document` model,
26
+ // rename these models and update your Actuate integration to use a custom
27
+ // Prisma client, or map tables with `@@map("…")` and align delegate names.
28
+ //
29
+ // 4. Run migrations:
30
+ // npx prisma migrate dev --name actuate-cms
31
+ //
32
+ // Models mirror `packages/cms-core/src/api/handlers.ts` and `actions.ts`
33
+ // (including `contentHash`, `changeType` on versions, scheduling fields, etc.).
34
+ //
35
+ // ═══════════════════════════════════════════════════════════════════════════════
36
+
37
+ enum DocumentStatus {
38
+ DRAFT
39
+ PUBLISHED
40
+ ARCHIVED
41
+ SCHEDULED
42
+ }
43
+
44
+ model User {
45
+ id String @id @default(cuid())
46
+ email String @unique
47
+ name String @default("")
48
+ role String @default("EDITOR")
49
+ passwordHash String?
50
+ isActive Boolean @default(true)
51
+ isApproved Boolean @default(false)
52
+ emailVerified Boolean @default(false)
53
+ totpEnabled Boolean @default(false)
54
+ totpSecret String?
55
+ /// JSON array of one-time backup codes (e.g. `["abcd-1234", …]`).
56
+ backupCodes Json?
57
+ oauthProvider String?
58
+ oauthId String?
59
+ createdAt DateTime @default(now())
60
+ updatedAt DateTime @updatedAt
61
+
62
+ sessions Session[]
63
+ documentsCreated Document[] @relation("DocumentCreatedBy")
64
+ documentsUpdated Document[] @relation("DocumentUpdatedBy")
65
+ documentsReviewed Document[] @relation("DocumentReviewer")
66
+ versions Version[]
67
+ mediaUploaded Media[] @relation("MediaUploadedBy")
68
+ auditLogs AuditLog[]
69
+
70
+ @@index([role])
71
+ @@index([isActive])
72
+ }
73
+
74
+ model Session {
75
+ id String @id @default(cuid())
76
+ userId String
77
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
78
+ /// JWT or opaque session token; optional until first persisted login (e.g. OAuth).
79
+ token String? @unique
80
+ expiresAt DateTime
81
+ revokedAt DateTime?
82
+ ipAddress String?
83
+ userAgent String?
84
+ createdAt DateTime @default(now())
85
+
86
+ @@index([userId])
87
+ @@index([expiresAt])
88
+ }
89
+
90
+ model Document {
91
+ id String @id @default(cuid())
92
+ collection String
93
+ slug String?
94
+ title String?
95
+ data Json
96
+ status DocumentStatus @default(DRAFT)
97
+ plainText String? @db.Text
98
+ locale String?
99
+ folderId String?
100
+ structuredData Json?
101
+ workflowStage String?
102
+ reviewerId String?
103
+ reviewNote String? @db.Text
104
+ publishedAt DateTime?
105
+ scheduledAt DateTime?
106
+ scheduledUnpublishAt DateTime?
107
+ deletedAt DateTime?
108
+ contentHash String?
109
+ siteId String?
110
+ templateId String?
111
+ createdById String
112
+ updatedById String
113
+ createdAt DateTime @default(now())
114
+ updatedAt DateTime @updatedAt
115
+
116
+ createdBy User @relation("DocumentCreatedBy", fields: [createdById], references: [id], onDelete: Restrict)
117
+ updatedBy User @relation("DocumentUpdatedBy", fields: [updatedById], references: [id], onDelete: Restrict)
118
+ reviewer User? @relation("DocumentReviewer", fields: [reviewerId], references: [id], onDelete: SetNull)
119
+ folder Folder? @relation(fields: [folderId], references: [id], onDelete: SetNull)
120
+ versions Version[]
121
+ formSubmissions FormSubmission[]
122
+
123
+ @@unique([collection, slug], name: "collection_slug")
124
+ @@index([collection])
125
+ @@index([status])
126
+ @@index([deletedAt])
127
+ @@index([publishedAt])
128
+ @@index([folderId])
129
+ @@index([locale])
130
+ @@index([scheduledAt])
131
+ @@index([scheduledUnpublishAt])
132
+ @@index([createdById])
133
+ @@index([updatedById])
134
+ }
135
+
136
+ model Media {
137
+ id String @id @default(cuid())
138
+ filename String
139
+ storageKey String @unique
140
+ mimeType String
141
+ fileSize Int
142
+ width Int?
143
+ height Int?
144
+ altText String?
145
+ title String?
146
+ blurHash String?
147
+ focalPointX Float?
148
+ focalPointY Float?
149
+ folderId String?
150
+ uploadedById String
151
+ createdAt DateTime @default(now())
152
+ updatedAt DateTime @updatedAt
153
+
154
+ uploadedBy User @relation("MediaUploadedBy", fields: [uploadedById], references: [id], onDelete: Restrict)
155
+ folder Folder? @relation(fields: [folderId], references: [id], onDelete: SetNull)
156
+
157
+ @@index([folderId])
158
+ @@index([mimeType])
159
+ @@index([createdAt])
160
+ }
161
+
162
+ model Version {
163
+ id String @id @default(cuid())
164
+ documentId String
165
+ document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
166
+ data Json
167
+ changedById String
168
+ changedBy User @relation(fields: [changedById], references: [id], onDelete: Restrict)
169
+ /// CREATE | UPDATE | DELETE (see `actions.ts` / workflow).
170
+ changeType String @default("UPDATE")
171
+ createdAt DateTime @default(now())
172
+
173
+ @@index([documentId])
174
+ @@index([createdAt])
175
+ }
176
+
177
+ model Folder {
178
+ id String @id @default(cuid())
179
+ name String
180
+ /// Discriminator for folder trees (e.g. `documents`, `media`).
181
+ scope String
182
+ parentId String?
183
+ position Int @default(0)
184
+ createdAt DateTime @default(now())
185
+
186
+ parent Folder? @relation("FolderTree", fields: [parentId], references: [id], onDelete: Cascade)
187
+ children Folder[] @relation("FolderTree")
188
+ documents Document[]
189
+ media Media[]
190
+
191
+ @@index([scope])
192
+ @@index([parentId])
193
+ @@index([scope, parentId, position])
194
+ }
195
+
196
+ model Redirect {
197
+ id String @id @default(cuid())
198
+ source String
199
+ destination String
200
+ statusCode Int @default(301)
201
+ isRegex Boolean @default(false)
202
+ notes String?
203
+ createdAt DateTime @default(now())
204
+ updatedAt DateTime @updatedAt
205
+
206
+ @@unique([source])
207
+ @@index([createdAt])
208
+ }
209
+
210
+ model FormSubmission {
211
+ id String @id @default(cuid())
212
+ formId String
213
+ form Document @relation(fields: [formId], references: [id], onDelete: Cascade)
214
+ data Json
215
+ attribution Json?
216
+ submittedAt DateTime @default(now())
217
+ createdAt DateTime @default(now())
218
+
219
+ @@index([formId])
220
+ @@index([submittedAt])
221
+ @@index([createdAt])
222
+ }
223
+
224
+ model AuditLog {
225
+ id String @id @default(cuid())
226
+ event String
227
+ userId String?
228
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
229
+ details Json?
230
+ ipAddress String?
231
+ userAgent String?
232
+ createdAt DateTime @default(now())
233
+
234
+ @@index([event])
235
+ @@index([userId])
236
+ @@index([createdAt])
237
+ }