@rebasepro/server-postgresql 0.0.1-canary.4d4fb3e

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 (147) hide show
  1. package/LICENSE +6 -0
  2. package/README.md +106 -0
  3. package/build-errors.txt +37 -0
  4. package/dist/common/src/collections/CollectionRegistry.d.ts +48 -0
  5. package/dist/common/src/collections/index.d.ts +1 -0
  6. package/dist/common/src/data/buildRebaseData.d.ts +14 -0
  7. package/dist/common/src/index.d.ts +3 -0
  8. package/dist/common/src/util/builders.d.ts +57 -0
  9. package/dist/common/src/util/callbacks.d.ts +6 -0
  10. package/dist/common/src/util/collections.d.ts +11 -0
  11. package/dist/common/src/util/common.d.ts +2 -0
  12. package/dist/common/src/util/conditions.d.ts +26 -0
  13. package/dist/common/src/util/entities.d.ts +36 -0
  14. package/dist/common/src/util/enums.d.ts +3 -0
  15. package/dist/common/src/util/index.d.ts +16 -0
  16. package/dist/common/src/util/navigation_from_path.d.ts +34 -0
  17. package/dist/common/src/util/navigation_utils.d.ts +20 -0
  18. package/dist/common/src/util/parent_references_from_path.d.ts +6 -0
  19. package/dist/common/src/util/paths.d.ts +14 -0
  20. package/dist/common/src/util/permissions.d.ts +5 -0
  21. package/dist/common/src/util/references.d.ts +2 -0
  22. package/dist/common/src/util/relations.d.ts +12 -0
  23. package/dist/common/src/util/resolutions.d.ts +72 -0
  24. package/dist/common/src/util/storage.d.ts +24 -0
  25. package/dist/index.es.js +10635 -0
  26. package/dist/index.es.js.map +1 -0
  27. package/dist/index.umd.js +10643 -0
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/server-postgresql/src/PostgresBackendDriver.d.ts +112 -0
  30. package/dist/server-postgresql/src/PostgresBootstrapper.d.ts +40 -0
  31. package/dist/server-postgresql/src/auth/ensure-tables.d.ts +6 -0
  32. package/dist/server-postgresql/src/auth/services.d.ts +188 -0
  33. package/dist/server-postgresql/src/cli.d.ts +1 -0
  34. package/dist/server-postgresql/src/collections/PostgresCollectionRegistry.d.ts +43 -0
  35. package/dist/server-postgresql/src/connection.d.ts +7 -0
  36. package/dist/server-postgresql/src/data-transformer.d.ts +36 -0
  37. package/dist/server-postgresql/src/databasePoolManager.d.ts +20 -0
  38. package/dist/server-postgresql/src/history/HistoryService.d.ts +71 -0
  39. package/dist/server-postgresql/src/history/ensure-history-table.d.ts +7 -0
  40. package/dist/server-postgresql/src/index.d.ts +13 -0
  41. package/dist/server-postgresql/src/interfaces.d.ts +18 -0
  42. package/dist/server-postgresql/src/schema/auth-schema.d.ts +767 -0
  43. package/dist/server-postgresql/src/schema/generate-drizzle-schema-logic.d.ts +2 -0
  44. package/dist/server-postgresql/src/schema/generate-drizzle-schema.d.ts +1 -0
  45. package/dist/server-postgresql/src/services/BranchService.d.ts +47 -0
  46. package/dist/server-postgresql/src/services/EntityFetchService.d.ts +195 -0
  47. package/dist/server-postgresql/src/services/EntityPersistService.d.ts +41 -0
  48. package/dist/server-postgresql/src/services/RelationService.d.ts +92 -0
  49. package/dist/server-postgresql/src/services/entity-helpers.d.ts +24 -0
  50. package/dist/server-postgresql/src/services/entityService.d.ts +102 -0
  51. package/dist/server-postgresql/src/services/index.d.ts +4 -0
  52. package/dist/server-postgresql/src/services/realtimeService.d.ts +186 -0
  53. package/dist/server-postgresql/src/utils/drizzle-conditions.d.ts +116 -0
  54. package/dist/server-postgresql/src/websocket.d.ts +5 -0
  55. package/dist/types/src/controllers/analytics_controller.d.ts +7 -0
  56. package/dist/types/src/controllers/auth.d.ts +117 -0
  57. package/dist/types/src/controllers/client.d.ts +58 -0
  58. package/dist/types/src/controllers/collection_registry.d.ts +44 -0
  59. package/dist/types/src/controllers/customization_controller.d.ts +54 -0
  60. package/dist/types/src/controllers/data.d.ts +141 -0
  61. package/dist/types/src/controllers/data_driver.d.ts +168 -0
  62. package/dist/types/src/controllers/database_admin.d.ts +11 -0
  63. package/dist/types/src/controllers/dialogs_controller.d.ts +36 -0
  64. package/dist/types/src/controllers/effective_role.d.ts +4 -0
  65. package/dist/types/src/controllers/index.d.ts +17 -0
  66. package/dist/types/src/controllers/local_config_persistence.d.ts +20 -0
  67. package/dist/types/src/controllers/navigation.d.ts +213 -0
  68. package/dist/types/src/controllers/registry.d.ts +51 -0
  69. package/dist/types/src/controllers/side_dialogs_controller.d.ts +67 -0
  70. package/dist/types/src/controllers/side_entity_controller.d.ts +89 -0
  71. package/dist/types/src/controllers/snackbar.d.ts +24 -0
  72. package/dist/types/src/controllers/storage.d.ts +173 -0
  73. package/dist/types/src/index.d.ts +4 -0
  74. package/dist/types/src/rebase_context.d.ts +101 -0
  75. package/dist/types/src/types/backend.d.ts +533 -0
  76. package/dist/types/src/types/builders.d.ts +14 -0
  77. package/dist/types/src/types/chips.d.ts +5 -0
  78. package/dist/types/src/types/collections.d.ts +812 -0
  79. package/dist/types/src/types/data_source.d.ts +64 -0
  80. package/dist/types/src/types/entities.d.ts +145 -0
  81. package/dist/types/src/types/entity_actions.d.ts +98 -0
  82. package/dist/types/src/types/entity_callbacks.d.ts +173 -0
  83. package/dist/types/src/types/entity_link_builder.d.ts +7 -0
  84. package/dist/types/src/types/entity_overrides.d.ts +9 -0
  85. package/dist/types/src/types/entity_views.d.ts +61 -0
  86. package/dist/types/src/types/export_import.d.ts +21 -0
  87. package/dist/types/src/types/index.d.ts +22 -0
  88. package/dist/types/src/types/locales.d.ts +4 -0
  89. package/dist/types/src/types/modify_collections.d.ts +5 -0
  90. package/dist/types/src/types/plugins.d.ts +225 -0
  91. package/dist/types/src/types/properties.d.ts +1091 -0
  92. package/dist/types/src/types/property_config.d.ts +70 -0
  93. package/dist/types/src/types/relations.d.ts +336 -0
  94. package/dist/types/src/types/slots.d.ts +228 -0
  95. package/dist/types/src/types/translations.d.ts +826 -0
  96. package/dist/types/src/types/user_management_delegate.d.ts +120 -0
  97. package/dist/types/src/types/websockets.d.ts +78 -0
  98. package/dist/types/src/users/index.d.ts +2 -0
  99. package/dist/types/src/users/roles.d.ts +22 -0
  100. package/dist/types/src/users/user.d.ts +46 -0
  101. package/jest-all.log +3128 -0
  102. package/jest.log +49 -0
  103. package/package.json +93 -0
  104. package/src/PostgresBackendDriver.ts +1024 -0
  105. package/src/PostgresBootstrapper.ts +232 -0
  106. package/src/auth/ensure-tables.ts +309 -0
  107. package/src/auth/services.ts +740 -0
  108. package/src/cli.ts +347 -0
  109. package/src/collections/PostgresCollectionRegistry.ts +96 -0
  110. package/src/connection.ts +62 -0
  111. package/src/data-transformer.ts +569 -0
  112. package/src/databasePoolManager.ts +84 -0
  113. package/src/history/HistoryService.ts +257 -0
  114. package/src/history/ensure-history-table.ts +45 -0
  115. package/src/index.ts +13 -0
  116. package/src/interfaces.ts +60 -0
  117. package/src/schema/auth-schema.ts +146 -0
  118. package/src/schema/generate-drizzle-schema-logic.ts +618 -0
  119. package/src/schema/generate-drizzle-schema.ts +151 -0
  120. package/src/services/BranchService.ts +237 -0
  121. package/src/services/EntityFetchService.ts +1447 -0
  122. package/src/services/EntityPersistService.ts +351 -0
  123. package/src/services/RelationService.ts +1012 -0
  124. package/src/services/entity-helpers.ts +121 -0
  125. package/src/services/entityService.ts +209 -0
  126. package/src/services/index.ts +13 -0
  127. package/src/services/realtimeService.ts +1005 -0
  128. package/src/utils/drizzle-conditions.ts +999 -0
  129. package/src/websocket.ts +487 -0
  130. package/test/auth-services.test.ts +569 -0
  131. package/test/branchService.test.ts +357 -0
  132. package/test/drizzle-conditions.test.ts +895 -0
  133. package/test/entityService.errors.test.ts +352 -0
  134. package/test/entityService.relations.test.ts +912 -0
  135. package/test/entityService.subcollection-search.test.ts +516 -0
  136. package/test/entityService.test.ts +977 -0
  137. package/test/generate-drizzle-schema.test.ts +795 -0
  138. package/test/historyService.test.ts +126 -0
  139. package/test/postgresDataDriver.test.ts +556 -0
  140. package/test/realtimeService.test.ts +276 -0
  141. package/test/relations.test.ts +662 -0
  142. package/test_drizzle_mock.js +3 -0
  143. package/test_find_changed.mjs +30 -0
  144. package/test_output.txt +3145 -0
  145. package/tsconfig.json +49 -0
  146. package/tsconfig.prod.json +20 -0
  147. package/vite.config.ts +82 -0
package/jest.log ADDED
@@ -0,0 +1,49 @@
1
+
2
+ > @rebasepro/server-postgresql@0.0.1 test /Users/francesco/rebase/packages/server-postgresql
3
+ > jest --passWithNoTests test/entityService.subcollection-search.test.ts
4
+
5
+ console.warn
6
+ Unrecognized relation format for property 'posts' in collection 'tags'
7
+
8
+ 186 | const relation = (sourceCollection.relations ?? []).find((rel: Relation) => rel.relationName === property.relationName)
9
+ 187 | if (!relation) {
10
+ > 188 | console.warn(`Unrecognized relation format for property '${propertyKey}' in collection '${sourceCollection.slug}'`);
11
+ | ^
12
+ 189 | return undefined;
13
+ 190 | }
14
+ 191 |
15
+
16
+ at resolvePropertyRelation (../common/src/util/relations.ts:188:17)
17
+ at ../common/src/util/relations.ts:154:30
18
+ at Array.forEach (<anonymous>)
19
+ at resolveCollectionRelations (../common/src/util/relations.ts:153:47)
20
+ at EntityFetchService.fetchCollectionFromPath (src/services/EntityFetchService.ts:775:65)
21
+ at EntityFetchService.fetchCollection (src/services/EntityFetchService.ts:722:25)
22
+ at EntityService.fetchCollection (src/services/entityService.ts:70:34)
23
+ at Object.<anonymous> (test/entityService.subcollection-search.test.ts:450:40)
24
+
25
+ PASS test/entityService.subcollection-search.test.ts
26
+ EntityService - Subcollection Search Tests
27
+ fetchCollection with subcollection search
28
+ ✓ should handle search in one-to-many inverse relation subcollection (3 ms)
29
+ ✓ should handle search in many-to-one owning relation subcollection (1 ms)
30
+ ✓ should handle search in nested subcollection (posts/123/comments)
31
+ ✓ should combine search conditions with existing filters (1 ms)
32
+ ✓ should handle empty search results gracefully
33
+ ✓ should handle search with ordering and pagination (1 ms)
34
+ searchEntities with subcollection paths
35
+ ✓ should handle direct search on subcollection using searchEntities method (1 ms)
36
+ fetchRelatedEntities with search
37
+ ✓ should pass search parameters correctly to fetchEntitiesUsingJoins
38
+ Edge cases and error handling
39
+ ✓ should handle invalid subcollection paths gracefully (15 ms)
40
+ ✓ should handle missing relations gracefully (20 ms)
41
+ ✓ should handle search in collection with no searchable properties
42
+ Performance and optimization
43
+ ✓ should use proper limit when searching (default 50 for search) (1 ms)
44
+
45
+ Test Suites: 1 passed, 1 total
46
+ Tests: 12 passed, 12 total
47
+ Snapshots: 0 total
48
+ Time: 0.276 s, estimated 1 s
49
+ Ran all test suites matching /test\/entityService.subcollection-search.test.ts/i.
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@rebasepro/server-postgresql",
3
+ "type": "module",
4
+ "version": "0.0.1-canary.4d4fb3e",
5
+ "description": "PostgreSQL data source backend implementation for Rebase with Drizzle ORM",
6
+ "funding": {
7
+ "url": "https://github.com/sponsors/rebaseco"
8
+ },
9
+ "author": "Rebase",
10
+ "license": "MIT",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/rebasepro/rebase.git",
14
+ "directory": "packages/server-postgresql"
15
+ },
16
+ "main": "./dist/index.umd.js",
17
+ "module": "./dist/index.es.js",
18
+ "types": "./dist/server-postgresql/src/index.d.ts",
19
+ "source": "src/index.ts",
20
+ "engines": {
21
+ "node": ">=20"
22
+ },
23
+ "keywords": [
24
+ "cms",
25
+ "admin",
26
+ "postgresql",
27
+ "database",
28
+ "drizzle",
29
+ "backend",
30
+ "rebase"
31
+ ],
32
+ "scripts": {
33
+ "watch": "vite build --watch",
34
+ "build": "vite build && tsc --emitDeclarationOnly -p tsconfig.prod.json",
35
+ "prepublishOnly": "pnpm run build",
36
+ "test:lint": "eslint \"src/**\" --quiet",
37
+ "test": "jest --passWithNoTests",
38
+ "clean": "rm -rf dist && find ./src -name '*.js' -type f | xargs rm -f"
39
+ },
40
+ "jest": {
41
+ "transform": {
42
+ "^.+\\.tsx?$": "ts-jest"
43
+ },
44
+ "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
45
+ "moduleFileExtensions": [
46
+ "ts",
47
+ "tsx",
48
+ "js",
49
+ "jsx",
50
+ "json",
51
+ "node"
52
+ ],
53
+ "moduleNameMapper": {
54
+ "^@rebasepro/common$": "<rootDir>/../common/src/index.ts",
55
+ "^@rebasepro/types$": "<rootDir>/../types/src/index.ts",
56
+ "^@rebasepro/utils$": "<rootDir>/../utils/src/index.ts"
57
+ }
58
+ },
59
+ "exports": {
60
+ ".": {
61
+ "types": "./dist/server-postgresql/src/index.d.ts",
62
+ "development": "./src/index.ts",
63
+ "import": "./dist/index.es.js",
64
+ "require": "./dist/index.umd.js"
65
+ },
66
+ "./package.json": "./package.json"
67
+ },
68
+ "dependencies": {
69
+ "@rebasepro/common": "0.0.1-canary.4d4fb3e",
70
+ "@rebasepro/server-core": "0.0.1-canary.4d4fb3e",
71
+ "@rebasepro/types": "0.0.1-canary.4d4fb3e",
72
+ "@rebasepro/utils": "0.0.1-canary.4d4fb3e",
73
+ "arg": "^5.0.2",
74
+ "chalk": "^4.1.2",
75
+ "drizzle-orm": "^0.44.4",
76
+ "execa": "^4.1.0",
77
+ "pg": "^8.11.3"
78
+ },
79
+ "devDependencies": {
80
+ "@types/jest": "^29.5.14",
81
+ "@types/node": "^20.10.5",
82
+ "@types/pg": "^8.6.5",
83
+ "drizzle-kit": "^0.31.4",
84
+ "jest": "^29.7.0",
85
+ "ts-jest": "^29.4.5",
86
+ "typescript": "^5.0.0",
87
+ "vite": "^5.0.0"
88
+ },
89
+ "gitHead": "71bcef3c51a458cd054f7924cc18efbbe515dcc8",
90
+ "publishConfig": {
91
+ "access": "public"
92
+ }
93
+ }