remult 0.21.1 → 0.22.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.
- package/README.md +47 -46
- package/SseSubscriptionServer.js +9 -9
- package/ably.js +1 -1
- package/esm/SseSubscriptionServer.js +11 -11
- package/esm/ably.js +2 -2
- package/esm/angular/interfaces/index.d.ts +1 -0
- package/esm/angular/interfaces/index.js +1 -0
- package/esm/angular/interfaces/src/column-collection.d.ts +70 -0
- package/esm/angular/interfaces/src/column-collection.js +341 -0
- package/esm/angular/interfaces/src/data-area-settings.d.ts +15 -0
- package/esm/angular/interfaces/src/data-area-settings.js +35 -0
- package/esm/angular/interfaces/src/data-control-interfaces.d.ts +36 -0
- package/esm/angular/interfaces/src/data-control-interfaces.js +57 -0
- package/esm/angular/interfaces/src/dataList.d.ts +13 -0
- package/esm/angular/interfaces/src/dataList.js +42 -0
- package/esm/angular/interfaces/src/filter-helper.d.ts +13 -0
- package/esm/angular/interfaces/src/filter-helper.js +59 -0
- package/esm/angular/interfaces/src/grid-settings.d.ts +145 -0
- package/esm/angular/interfaces/src/grid-settings.js +387 -0
- package/esm/angular/interfaces/src/public_api.d.ts +4 -0
- package/esm/angular/interfaces/src/public_api.js +4 -0
- package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +4 -0
- package/esm/angular/src/angular/RemultAngularPluginsService.js +3 -0
- package/esm/angular/src/angular/data-control/data-control2.component.d.ts +49 -0
- package/esm/angular/src/angular/data-control/data-control2.component.js +138 -0
- package/esm/core/SseSubscriptionServer.d.ts +33 -0
- package/esm/core/SseSubscriptionServer.js +107 -0
- package/esm/core/assign.d.ts +1 -0
- package/esm/core/assign.js +5 -0
- package/esm/core/classType.d.ts +3 -0
- package/esm/core/classType.js +1 -0
- package/esm/core/index.d.ts +27 -0
- package/esm/core/index.js +25 -0
- package/esm/core/inputTypes.d.ts +9 -0
- package/esm/core/inputTypes.js +9 -0
- package/esm/core/live-query/data-provider-live-query-storage.d.ts +22 -0
- package/esm/core/live-query/data-provider-live-query-storage.js +71 -0
- package/esm/core/postgres/index.d.ts +2 -0
- package/esm/core/postgres/index.js +2 -0
- package/esm/core/postgres/postgres-data-provider.d.ts +36 -0
- package/esm/core/postgres/postgres-data-provider.js +120 -0
- package/esm/core/postgres/schema-builder.d.ts +17 -0
- package/esm/core/postgres/schema-builder.js +153 -0
- package/esm/core/remult-fresh.d.ts +17 -0
- package/esm/core/remult-fresh.js +29 -0
- package/esm/core/remult-knex/index.d.ts +30 -0
- package/esm/core/remult-knex/index.js +446 -0
- package/esm/core/remult-mongo.d.ts +24 -0
- package/esm/core/remult-mongo.js +254 -0
- package/esm/core/server/JsonEntityFileStorage.d.ts +10 -0
- package/esm/core/server/JsonEntityFileStorage.js +25 -0
- package/esm/core/server/core.d.ts +4 -0
- package/esm/core/server/core.js +4 -0
- package/esm/core/server/expressBridge.d.ts +182 -0
- package/esm/core/server/expressBridge.js +938 -0
- package/esm/core/server/index.d.ts +6 -0
- package/esm/core/server/index.js +9 -0
- package/esm/core/server/initAsyncHooks.d.ts +1 -0
- package/esm/core/server/initAsyncHooks.js +9 -0
- package/esm/core/server/initDataProvider.d.ts +2 -0
- package/esm/core/server/initDataProvider.js +14 -0
- package/esm/core/src/__EntityValueProvider.d.ts +11 -0
- package/esm/core/src/__EntityValueProvider.js +1 -0
- package/esm/core/src/__RowsOfDataForTesting.d.ts +3 -0
- package/esm/core/src/__RowsOfDataForTesting.js +1 -0
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +6 -0
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +147 -0
- package/esm/core/src/backend-tests/my-test.backend-spec.d.ts +1 -0
- package/esm/core/src/backend-tests/my-test.backend-spec.js +197 -0
- package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +1 -0
- package/esm/core/src/backend-tests/test-http-server.backend-spec.js +167 -0
- package/esm/core/src/buildRestDataProvider.d.ts +31 -0
- package/esm/core/src/buildRestDataProvider.js +113 -0
- package/esm/core/src/column-interfaces.d.ts +154 -0
- package/esm/core/src/column-interfaces.js +7 -0
- package/esm/core/src/column.d.ts +58 -0
- package/esm/core/src/column.js +174 -0
- package/esm/core/src/context.d.ts +134 -0
- package/esm/core/src/context.js +286 -0
- package/esm/core/src/data-api.d.ts +39 -0
- package/esm/core/src/data-api.js +279 -0
- package/esm/core/src/data-interfaces.d.ts +41 -0
- package/esm/core/src/data-interfaces.js +12 -0
- package/esm/core/src/data-providers/array-entity-data-provider.d.ts +22 -0
- package/esm/core/src/data-providers/array-entity-data-provider.js +252 -0
- package/esm/core/src/data-providers/in-memory-database.d.ts +9 -0
- package/esm/core/src/data-providers/in-memory-database.js +14 -0
- package/esm/core/src/data-providers/json-data-provider.d.ts +12 -0
- package/esm/core/src/data-providers/json-data-provider.js +55 -0
- package/esm/core/src/data-providers/rest-data-provider.d.ts +49 -0
- package/esm/core/src/data-providers/rest-data-provider.js +256 -0
- package/esm/core/src/data-providers/sql-database.d.ts +33 -0
- package/esm/core/src/data-providers/sql-database.js +384 -0
- package/esm/core/src/data-providers/web-sql-data-provider.d.ts +24 -0
- package/esm/core/src/data-providers/web-sql-data-provider.js +143 -0
- package/esm/core/src/entity.d.ts +91 -0
- package/esm/core/src/entity.js +1 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +50 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +150 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +1 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +1 -0
- package/esm/core/src/filter/filter-interfaces.d.ts +85 -0
- package/esm/core/src/filter/filter-interfaces.js +477 -0
- package/esm/core/src/live-query/LiveQueryClient.d.ts +20 -0
- package/esm/core/src/live-query/LiveQueryClient.js +188 -0
- package/esm/core/src/live-query/SseSubscriptionClient.d.ts +5 -0
- package/esm/core/src/live-query/SseSubscriptionClient.js +86 -0
- package/esm/core/src/live-query/SubscriptionChannel.d.ts +72 -0
- package/esm/core/src/live-query/SubscriptionChannel.js +123 -0
- package/esm/core/src/live-query/SubscriptionServer.d.ts +53 -0
- package/esm/core/src/live-query/SubscriptionServer.js +111 -0
- package/esm/core/src/live-query/live-query-tests.spec.d.ts +6 -0
- package/esm/core/src/live-query/live-query-tests.spec.js +952 -0
- package/esm/core/src/remult-proxy.d.ts +35 -0
- package/esm/core/src/remult-proxy.js +113 -0
- package/esm/core/src/remult3/DecoratorReplacer.d.ts +10 -0
- package/esm/core/src/remult3/DecoratorReplacer.js +20 -0
- package/esm/core/src/remult3/RepositoryImplementation.d.ts +355 -0
- package/esm/core/src/remult3/RepositoryImplementation.js +2109 -0
- package/esm/core/src/remult3/index.d.ts +2 -0
- package/esm/core/src/remult3/index.js +2 -0
- package/esm/core/src/remult3/remult3.d.ts +395 -0
- package/esm/core/src/remult3/remult3.js +2 -0
- package/esm/core/src/server-action.d.ts +81 -0
- package/esm/core/src/server-action.js +394 -0
- package/esm/core/src/shared-tests/db-tests-setup.d.ts +32 -0
- package/esm/core/src/shared-tests/db-tests-setup.js +78 -0
- package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +25 -0
- package/esm/core/src/shared-tests/db-tests.db-tests.js +810 -0
- package/esm/core/src/shared-tests/deleteAll.d.ts +2 -0
- package/esm/core/src/shared-tests/deleteAll.js +4 -0
- package/esm/core/src/shared-tests/entityWithValidations.d.ts +14 -0
- package/esm/core/src/shared-tests/entityWithValidations.js +43 -0
- package/esm/core/src/shared-tests/index.d.ts +4 -0
- package/esm/core/src/shared-tests/index.js +4 -0
- package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +1 -0
- package/esm/core/src/shared-tests/test-custom-id-column.spec.js +67 -0
- package/esm/core/src/shared-tests/test-special-value.spec.d.ts +10 -0
- package/esm/core/src/shared-tests/test-special-value.spec.js +73 -0
- package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
- package/esm/core/src/shared-tests/test-update-with-null.spec.js +31 -0
- package/esm/core/src/sort.d.ts +16 -0
- package/esm/core/src/sort.js +103 -0
- package/esm/core/src/sql-command.d.ts +19 -0
- package/esm/core/src/sql-command.js +1 -0
- package/esm/core/src/test.d.ts +3 -0
- package/esm/core/src/test.js +12 -0
- package/esm/core/src/tests/Done.d.ts +5 -0
- package/esm/core/src/tests/Done.js +9 -0
- package/esm/core/src/tests/RowProvider.spec.d.ts +16 -0
- package/esm/core/src/tests/RowProvider.spec.js +631 -0
- package/esm/core/src/tests/TestDataApiResponse.d.ts +10 -0
- package/esm/core/src/tests/TestDataApiResponse.js +22 -0
- package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +8 -0
- package/esm/core/src/tests/basicRowFunctionality.spec.js +2103 -0
- package/esm/core/src/tests/c.d.ts +8 -0
- package/esm/core/src/tests/c.js +13 -0
- package/esm/core/src/tests/createData.d.ts +7 -0
- package/esm/core/src/tests/createData.js +22 -0
- package/esm/core/src/tests/d.d.ts +6 -0
- package/esm/core/src/tests/d.js +11 -0
- package/esm/core/src/tests/dWithPrefilter.d.ts +7 -0
- package/esm/core/src/tests/dWithPrefilter.js +18 -0
- package/esm/core/src/tests/entityForCustomFilter.d.ts +16 -0
- package/esm/core/src/tests/entityForCustomFilter.js +33 -0
- package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +5 -0
- package/esm/core/src/tests/entityWithValidationsOnColumn.js +13 -0
- package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +4 -0
- package/esm/core/src/tests/frontend-database-tests-setup.spec.js +37 -0
- package/esm/core/src/tests/h.d.ts +6 -0
- package/esm/core/src/tests/h.js +24 -0
- package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +1 -0
- package/esm/core/src/tests/remult-3-basic-tests.spec.js +236 -0
- package/esm/core/src/tests/remult-3-entities.d.ts +23 -0
- package/esm/core/src/tests/remult-3-entities.js +39 -0
- package/esm/core/src/tests/tasks.d.ts +6 -0
- package/esm/core/src/tests/tasks.js +10 -0
- package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
- package/esm/core/src/tests/test-context-as-storage.spec.js +1 -0
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +1 -0
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +389 -0
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +5 -0
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +152 -0
- package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +1 -0
- package/esm/core/src/tests/test-decorator-precedence.spec.js +38 -0
- package/esm/core/src/tests/test-default-value.spec.d.ts +1 -0
- package/esm/core/src/tests/test-default-value.spec.js +33 -0
- package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +14 -0
- package/esm/core/src/tests/test-entity-inheritance.spec.js +82 -0
- package/esm/core/src/tests/test-exceptions.spec.d.ts +1 -0
- package/esm/core/src/tests/test-exceptions.spec.js +375 -0
- package/esm/core/src/tests/test-json.spec.d.ts +1 -0
- package/esm/core/src/tests/test-json.spec.js +115 -0
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +9 -0
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +809 -0
- package/esm/core/src/tests/test-non-active-record.spec.d.ts +1 -0
- package/esm/core/src/tests/test-non-active-record.spec.js +66 -0
- package/esm/core/src/tests/test-object-column.spec.d.ts +1 -0
- package/esm/core/src/tests/test-object-column.spec.js +189 -0
- package/esm/core/src/tests/test-paged-foreach.spec.d.ts +1 -0
- package/esm/core/src/tests/test-paged-foreach.spec.js +328 -0
- package/esm/core/src/tests/test-remult-angular.spec.d.ts +1 -0
- package/esm/core/src/tests/test-remult-angular.spec.js +23 -0
- package/esm/core/src/tests/test-server-controller.spec.d.ts +7 -0
- package/esm/core/src/tests/test-server-controller.spec.js +489 -0
- package/esm/core/src/tests/test-server-expressions.spec.d.ts +1 -0
- package/esm/core/src/tests/test-server-expressions.spec.js +178 -0
- package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +1 -0
- package/esm/core/src/tests/test-server-method-on-entity.spec.js +306 -0
- package/esm/core/src/tests/test-sql-expression.spec.d.ts +5 -0
- package/esm/core/src/tests/test-sql-expression.spec.js +205 -0
- package/esm/core/src/tests/test-sql.spec.d.ts +1 -0
- package/esm/core/src/tests/test-sql.spec.js +170 -0
- package/esm/core/src/tests/test-subscribe.spec.d.ts +1 -0
- package/esm/core/src/tests/test-subscribe.spec.js +135 -0
- package/esm/core/src/tests/test-type-recovery.spec.d.ts +1 -0
- package/esm/core/src/tests/test-type-recovery.spec.js +49 -0
- package/esm/core/src/tests/test-where-api.spec.d.ts +1 -0
- package/esm/core/src/tests/test-where-api.spec.js +434 -0
- package/esm/core/src/tests/testHelper.spec.d.ts +36 -0
- package/esm/core/src/tests/testHelper.spec.js +226 -0
- package/esm/core/src/tests/testModel/models.d.ts +16 -0
- package/esm/core/src/tests/testModel/models.js +25 -0
- package/esm/core/src/validators.d.ts +14 -0
- package/esm/core/src/validators.js +33 -0
- package/esm/core/src/valueConverters.d.ts +13 -0
- package/esm/core/src/valueConverters.js +197 -0
- package/esm/core/urlBuilder.d.ts +6 -0
- package/esm/core/urlBuilder.js +20 -0
- package/esm/graphql.js +194 -73
- package/esm/index.d.ts +10 -10
- package/esm/index.js +8 -8
- package/esm/inputTypes.js +1 -1
- package/esm/live-query/data-provider-live-query-storage.d.ts +3 -3
- package/esm/live-query/data-provider-live-query-storage.js +12 -9
- package/esm/myLog.js +2 -2
- package/esm/postgres/postgres-data-provider.d.ts +2 -2
- package/esm/postgres/postgres-data-provider.js +20 -14
- package/esm/postgres/schema-builder.d.ts +1 -1
- package/esm/postgres/schema-builder.js +28 -21
- package/esm/remult-express.js +2 -2
- package/esm/remult-fastify.js +9 -7
- package/esm/remult-fresh.d.ts +1 -1
- package/esm/remult-fresh.js +5 -8
- package/esm/remult-knex/index.d.ts +4 -4
- package/esm/remult-knex/index.js +75 -59
- package/esm/remult-mongo.js +53 -39
- package/esm/remult-next.d.ts +3 -3
- package/esm/remult-next.js +17 -11
- package/esm/remult-sveltekit.js +10 -10
- package/esm/server/JsonEntityFileStorage.js +3 -1
- package/esm/server/core.d.ts +2 -2
- package/esm/server/core.js +2 -2
- package/esm/server/expressBridge.d.ts +3 -12
- package/esm/server/expressBridge.js +265 -278
- package/esm/server/index.d.ts +2 -2
- package/esm/server/index.js +5 -2
- package/esm/server/initAsyncHooks.js +1 -1
- package/esm/server/initDataProvider.js +1 -1
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +3 -2
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +121 -66
- package/esm/src/buildRestDataProvider.d.ts +1 -1
- package/esm/src/buildRestDataProvider.js +21 -13
- package/esm/src/column-interfaces.d.ts +9 -9
- package/esm/src/column.d.ts +4 -0
- package/esm/src/column.js +23 -11
- package/esm/src/context.d.ts +20 -8
- package/esm/src/context.js +65 -24
- package/esm/src/data-api.d.ts +0 -1
- package/esm/src/data-api.js +38 -37
- package/esm/src/data-interfaces.d.ts +1 -1
- package/esm/src/data-interfaces.js +1 -1
- package/esm/src/data-providers/array-entity-data-provider.js +9 -9
- package/esm/src/data-providers/in-memory-database.d.ts +1 -1
- package/esm/src/data-providers/in-memory-database.js +3 -1
- package/esm/src/data-providers/json-data-provider.js +8 -8
- package/esm/src/data-providers/rest-data-provider.d.ts +1 -1
- package/esm/src/data-providers/rest-data-provider.js +52 -36
- package/esm/src/data-providers/sql-database.d.ts +5 -5
- package/esm/src/data-providers/sql-database.js +53 -36
- package/esm/src/data-providers/web-sql-data-provider.d.ts +4 -4
- package/esm/src/data-providers/web-sql-data-provider.js +15 -13
- package/esm/src/entity.d.ts +24 -24
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +35 -20
- package/esm/src/filter/filter-interfaces.d.ts +7 -7
- package/esm/src/filter/filter-interfaces.js +108 -88
- package/esm/src/live-query/LiveQueryClient.js +37 -29
- package/esm/src/live-query/SseSubscriptionClient.d.ts +1 -1
- package/esm/src/live-query/SseSubscriptionClient.js +14 -14
- package/esm/src/live-query/SubscriptionChannel.d.ts +3 -3
- package/esm/src/live-query/SubscriptionChannel.js +27 -25
- package/esm/src/live-query/SubscriptionServer.js +24 -20
- package/esm/src/remult-proxy.d.ts +1 -1
- package/esm/src/remult-proxy.js +87 -29
- package/esm/src/remult3/DecoratorReplacer.d.ts +2 -2
- package/esm/src/remult3/RepositoryImplementation.d.ts +51 -41
- package/esm/src/remult3/RepositoryImplementation.js +336 -206
- package/esm/src/remult3/remult3.d.ts +56 -51
- package/esm/src/remult3/remult3.js +0 -1
- package/esm/src/server-action.d.ts +12 -5
- package/esm/src/server-action.js +79 -53
- package/esm/src/shared-tests/db-tests-setup.d.ts +10 -8
- package/esm/src/shared-tests/db-tests-setup.js +12 -10
- package/esm/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/esm/src/shared-tests/db-tests.db-tests.js +319 -177
- package/esm/src/shared-tests/deleteAll.d.ts +1 -1
- package/esm/src/shared-tests/deleteAll.js +1 -1
- package/esm/src/shared-tests/entityWithValidations.js +1 -1
- package/esm/src/shared-tests/test-custom-id-column.spec.js +4 -4
- package/esm/src/shared-tests/test-special-value.spec.js +12 -12
- package/esm/src/shared-tests/test-update-with-null.spec.js +10 -6
- package/esm/src/sort.d.ts +2 -2
- package/esm/src/sort.js +12 -10
- package/esm/src/tests/TestDataApiResponse.d.ts +1 -1
- package/esm/src/tests/TestDataApiResponse.js +3 -4
- package/esm/src/tests/createData.js +2 -2
- package/esm/src/tests/d.js +1 -1
- package/esm/src/tests/dWithPrefilter.js +1 -1
- package/esm/src/tests/entityForCustomFilter.d.ts +4 -4
- package/esm/src/tests/entityForCustomFilter.js +12 -4
- package/esm/src/tests/entityWithValidationsOnColumn.js +1 -1
- package/esm/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
- package/esm/src/tests/frontend-database-tests-setup.spec.js +15 -15
- package/esm/src/tests/h.js +4 -4
- package/esm/src/tests/remult-3-entities.d.ts +2 -2
- package/esm/src/tests/remult-3-entities.js +6 -6
- package/esm/src/tests/testHelper.spec.d.ts +7 -7
- package/esm/src/tests/testHelper.spec.js +50 -39
- package/esm/src/tests/testModel/models.js +4 -4
- package/esm/src/validators.d.ts +1 -1
- package/esm/src/validators.js +10 -7
- package/esm/src/valueConverters.d.ts +1 -1
- package/esm/src/valueConverters.js +68 -55
- package/esm/test-servers/shared/Task.d.ts +9 -0
- package/esm/test-servers/shared/Task.js +32 -0
- package/esm/test.d.ts +5 -0
- package/esm/test.js +6 -0
- package/graphql.js +157 -45
- package/index.d.ts +10 -10
- package/inputTypes.js +1 -1
- package/live-query/data-provider-live-query-storage.d.ts +3 -3
- package/live-query/data-provider-live-query-storage.js +7 -4
- package/myLog.js +2 -2
- package/package.json +2 -2
- package/postgres/postgres-data-provider.d.ts +2 -2
- package/postgres/postgres-data-provider.js +21 -16
- package/postgres/schema-builder.d.ts +1 -1
- package/postgres/schema-builder.js +22 -15
- package/remult-express.js +1 -1
- package/remult-fastify.js +7 -7
- package/remult-fresh.d.ts +1 -1
- package/remult-fresh.js +1 -4
- package/remult-knex/index.d.ts +4 -4
- package/remult-knex/index.js +50 -35
- package/remult-mongo.js +51 -35
- package/remult-next.d.ts +3 -3
- package/remult-next.js +15 -11
- package/remult-sveltekit.js +14 -15
- package/server/core.d.ts +2 -2
- package/server/expressBridge.d.ts +3 -12
- package/server/expressBridge.js +278 -279
- package/server/index.d.ts +2 -2
- package/server/index.js +5 -2
- package/server/initAsyncHooks.js +2 -2
- package/server/initDataProvider.js +1 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +3 -2
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +214 -127
- package/src/buildRestDataProvider.d.ts +1 -1
- package/src/buildRestDataProvider.js +18 -10
- package/src/column-interfaces.d.ts +9 -9
- package/src/column.d.ts +4 -0
- package/src/column.js +20 -8
- package/src/context.d.ts +20 -8
- package/src/context.js +61 -18
- package/src/data-api.d.ts +0 -1
- package/src/data-api.js +40 -43
- package/src/data-interfaces.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.js +2 -2
- package/src/data-providers/in-memory-database.d.ts +1 -1
- package/src/data-providers/in-memory-database.js +3 -1
- package/src/data-providers/json-data-provider.js +33 -15
- package/src/data-providers/rest-data-provider.d.ts +1 -1
- package/src/data-providers/rest-data-provider.js +47 -32
- package/src/data-providers/sql-database.d.ts +5 -5
- package/src/data-providers/sql-database.js +41 -24
- package/src/data-providers/web-sql-data-provider.d.ts +4 -4
- package/src/data-providers/web-sql-data-provider.js +10 -8
- package/src/entity.d.ts +24 -24
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
- package/src/filter/filter-consumer-bridge-to-sql-request.js +34 -17
- package/src/filter/filter-interfaces.d.ts +7 -7
- package/src/filter/filter-interfaces.js +73 -47
- package/src/live-query/LiveQueryClient.js +35 -25
- package/src/live-query/SseSubscriptionClient.d.ts +1 -1
- package/src/live-query/SseSubscriptionClient.js +80 -76
- package/src/live-query/SubscriptionChannel.d.ts +3 -3
- package/src/live-query/SubscriptionChannel.js +26 -18
- package/src/live-query/SubscriptionServer.js +23 -17
- package/src/remult-proxy.d.ts +1 -1
- package/src/remult-proxy.js +84 -35
- package/src/remult3/DecoratorReplacer.d.ts +2 -2
- package/src/remult3/RepositoryImplementation.d.ts +51 -41
- package/src/remult3/RepositoryImplementation.js +402 -257
- package/src/remult3/remult3.d.ts +56 -51
- package/src/remult3/remult3.js +0 -1
- package/src/server-action.d.ts +12 -5
- package/src/server-action.js +78 -48
- package/src/shared-tests/db-tests-setup.d.ts +10 -8
- package/src/shared-tests/db-tests-setup.js +8 -6
- package/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/src/shared-tests/db-tests.db-tests.js +455 -165
- package/src/shared-tests/deleteAll.d.ts +1 -1
- package/src/shared-tests/entityWithValidations.js +1 -1
- package/src/shared-tests/test-custom-id-column.spec.js +4 -4
- package/src/shared-tests/test-special-value.spec.js +9 -9
- package/src/shared-tests/test-update-with-null.spec.js +8 -4
- package/src/sort.d.ts +2 -2
- package/src/sort.js +9 -7
- package/src/tests/TestDataApiResponse.d.ts +1 -1
- package/src/tests/TestDataApiResponse.js +3 -4
- package/src/tests/createData.js +1 -1
- package/src/tests/d.js +1 -1
- package/src/tests/dWithPrefilter.js +1 -1
- package/src/tests/entityForCustomFilter.d.ts +4 -4
- package/src/tests/entityForCustomFilter.js +16 -6
- package/src/tests/entityWithValidationsOnColumn.js +1 -1
- package/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
- package/src/tests/frontend-database-tests-setup.spec.js +9 -9
- package/src/tests/h.js +3 -3
- package/src/tests/remult-3-entities.d.ts +2 -2
- package/src/tests/remult-3-entities.js +8 -4
- package/src/tests/testHelper.spec.d.ts +7 -7
- package/src/tests/testHelper.spec.js +38 -27
- package/src/tests/testModel/models.js +3 -3
- package/src/validators.d.ts +1 -1
- package/src/validators.js +18 -9
- package/src/valueConverters.d.ts +1 -1
- package/src/valueConverters.js +38 -21
- package/esm/remult-svletekit.d.ts +0 -3
- package/esm/remult-svletekit.js +0 -83
- package/esm/src/id-entity.d.ts +0 -4
- package/esm/src/id-entity.js +0 -8
- package/esm/src/remult3/getId.d.ts +0 -2
- package/esm/src/remult3/getId.js +0 -7
- package/postgres/getEntityTypescriptPostgres.d.ts +0 -1
- package/postgres/getEntityTypescriptPostgres.js +0 -125
- package/src/id-entity.d.ts +0 -4
- package/src/id-entity.js +0 -17
- package/src/remult3/getId.d.ts +0 -2
- package/src/remult3/getId.js +0 -11
|
@@ -11,29 +11,32 @@ function postgresColumnSyntax(x, dbName) {
|
|
|
11
11
|
var result = dbName;
|
|
12
12
|
if (x.valueType == Number) {
|
|
13
13
|
if (!x.valueConverter.fieldTypeInDb)
|
|
14
|
-
result +=
|
|
14
|
+
result += ' numeric' + (x.allowNull ? '' : ' default 0 not null');
|
|
15
15
|
else
|
|
16
|
-
result +=
|
|
16
|
+
result +=
|
|
17
|
+
' ' +
|
|
18
|
+
x.valueConverter.fieldTypeInDb +
|
|
19
|
+
(x.allowNull ? '' : ' default 0 not null');
|
|
17
20
|
}
|
|
18
21
|
else if (x.valueType == Date) {
|
|
19
22
|
if (!x.valueConverter.fieldTypeInDb)
|
|
20
23
|
if (x.valueConverter == valueConverters_1.ValueConverters.DateOnly)
|
|
21
|
-
result +=
|
|
24
|
+
result += ' date';
|
|
22
25
|
else
|
|
23
|
-
result +=
|
|
26
|
+
result += ' timestamp';
|
|
24
27
|
else
|
|
25
|
-
result +=
|
|
28
|
+
result += ' ' + x.valueConverter.fieldTypeInDb;
|
|
26
29
|
}
|
|
27
30
|
else if (x.valueType == Boolean)
|
|
28
|
-
result +=
|
|
31
|
+
result += ' boolean' + (x.allowNull ? '' : ' default false not null');
|
|
29
32
|
else if (x.valueConverter.fieldTypeInDb) {
|
|
30
|
-
result +=
|
|
33
|
+
result += ' ' + x.valueConverter.fieldTypeInDb;
|
|
31
34
|
if (!x.allowNull && x.valueConverter.fieldTypeInDb == 'integer') {
|
|
32
|
-
result +=
|
|
35
|
+
result += ' default 0 not null';
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
else
|
|
36
|
-
result +=
|
|
39
|
+
result += ' varchar' + (x.allowNull ? '' : " default '' not null");
|
|
37
40
|
return result;
|
|
38
41
|
}
|
|
39
42
|
exports.postgresColumnSyntax = postgresColumnSyntax;
|
|
@@ -53,7 +56,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
53
56
|
this.pool = pool;
|
|
54
57
|
this.additionalWhere = '';
|
|
55
58
|
if (schema) {
|
|
56
|
-
this.additionalWhere =
|
|
59
|
+
this.additionalWhere = " and table_schema='" + schema + "'";
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
PostgresSchemaBuilder.prototype.verifyStructureOfAllEntities = function (remult) {
|
|
@@ -64,7 +67,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
64
67
|
switch (_d.label) {
|
|
65
68
|
case 0:
|
|
66
69
|
if (!remult) {
|
|
67
|
-
remult = remult_proxy_1.
|
|
70
|
+
remult = remult_proxy_1.remult;
|
|
68
71
|
}
|
|
69
72
|
completed = new Set();
|
|
70
73
|
entities = [];
|
|
@@ -138,7 +141,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
138
141
|
case 6: return [3 /*break*/, 8];
|
|
139
142
|
case 7:
|
|
140
143
|
err_1 = _b.sent();
|
|
141
|
-
console.error(
|
|
144
|
+
console.error('failed verify structure of ' + e.$entityName + ' ', err_1);
|
|
142
145
|
return [3 /*break*/, 8];
|
|
143
146
|
case 8:
|
|
144
147
|
entities_1_1 = entities_1.next();
|
|
@@ -170,7 +173,11 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
170
173
|
return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
|
|
171
174
|
case 1:
|
|
172
175
|
e = _a.sent();
|
|
173
|
-
return [4 /*yield*/, c
|
|
176
|
+
return [4 /*yield*/, c
|
|
177
|
+
.execute('select 1 from information_Schema.tables where table_name=' +
|
|
178
|
+
c.addParameterAndReturnSqlToken(e.$entityName.toLowerCase()) +
|
|
179
|
+
this.additionalWhere)
|
|
180
|
+
.then(function (r) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
174
181
|
var result, _a, _b, x, sql;
|
|
175
182
|
var e_3, _c;
|
|
176
183
|
return tslib_1.__generator(this, function (_d) {
|
|
@@ -235,7 +242,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
235
242
|
_a.trys.push([2, 6, , 7]);
|
|
236
243
|
cmd = this.pool.createCommand();
|
|
237
244
|
colName = e.$dbNameOf(c(entity));
|
|
238
|
-
return [4 /*yield*/, cmd.execute("select 1 \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(
|
|
245
|
+
return [4 /*yield*/, cmd.execute("select 1 \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(e.$entityName.toLocaleLowerCase()) + " and column_name=" + cmd.addParameterAndReturnSqlToken(colName.toLocaleLowerCase()) + this.additionalWhere)];
|
|
239
246
|
case 3:
|
|
240
247
|
if (!((_a.sent()).rows.length == 0)) return [3 /*break*/, 5];
|
|
241
248
|
sql = "alter table " + e.$entityName + " add column " + postgresColumnSyntax(c(entity), colName);
|
|
@@ -267,7 +274,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
267
274
|
return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
|
|
268
275
|
case 1:
|
|
269
276
|
e = _d.sent();
|
|
270
|
-
return [4 /*yield*/, cmd.execute("select column_name \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(
|
|
277
|
+
return [4 /*yield*/, cmd.execute("select column_name \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(e.$entityName.toLocaleLowerCase()) + " " + this.additionalWhere)];
|
|
271
278
|
case 2:
|
|
272
279
|
cols = (_d.sent()).rows.map(function (x) { return x.column_name.toLocaleLowerCase(); });
|
|
273
280
|
_d.label = 3;
|
package/remult-express.js
CHANGED
|
@@ -21,7 +21,7 @@ function remultExpress(options) {
|
|
|
21
21
|
buildGenericRequestInfo: function (req) { return req; },
|
|
22
22
|
getRequestBody: function (req) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
23
23
|
return [2 /*return*/, req.body];
|
|
24
|
-
}); }); }
|
|
24
|
+
}); }); },
|
|
25
25
|
});
|
|
26
26
|
server.registerRouter(app);
|
|
27
27
|
return Object.assign(app, {
|
package/remult-fastify.js
CHANGED
|
@@ -23,12 +23,12 @@ function remultFastify(options) {
|
|
|
23
23
|
},
|
|
24
24
|
writeHead: function (status, headers) {
|
|
25
25
|
res.raw.writeHead(status, headers);
|
|
26
|
-
}
|
|
26
|
+
},
|
|
27
27
|
};
|
|
28
28
|
Object.assign(req, {
|
|
29
29
|
on: function (event, listener) {
|
|
30
30
|
req.raw.on(event, listener);
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
32
|
});
|
|
33
33
|
handler(req, myRes, function () { });
|
|
34
34
|
};
|
|
@@ -53,10 +53,12 @@ function remultFastify(options) {
|
|
|
53
53
|
get: function (handler) {
|
|
54
54
|
instance.get(path, fastifyHandler(handler));
|
|
55
55
|
return r;
|
|
56
|
-
},
|
|
56
|
+
},
|
|
57
|
+
post: function (handler) {
|
|
57
58
|
instance.post(path, fastifyHandler(handler));
|
|
58
59
|
return r;
|
|
59
|
-
},
|
|
60
|
+
},
|
|
61
|
+
put: function (handler) {
|
|
60
62
|
instance.put(path, fastifyHandler(handler));
|
|
61
63
|
return r;
|
|
62
64
|
},
|
|
@@ -71,9 +73,7 @@ function remultFastify(options) {
|
|
|
71
73
|
return Object.assign(pluginFunction, {
|
|
72
74
|
getRemult: function (x) { return api.getRemult(x); },
|
|
73
75
|
openApiDoc: function (x) { return api.openApiDoc(x); },
|
|
74
|
-
withRemult: function (req, what) {
|
|
75
|
-
return api.withRemultPromise(req, what);
|
|
76
|
-
},
|
|
76
|
+
withRemult: function (req, what) { return api.withRemultPromise(req, what); },
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
exports.remultFastify = remultFastify;
|
package/remult-fresh.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RemultServerOptions, RemultServerCore } from
|
|
1
|
+
import { RemultServerOptions, RemultServerCore } from './server/expressBridge';
|
|
2
2
|
export declare function remultFresh(options: RemultServerOptions<FreshRequest>, response: FreshResponse): RemultFresh;
|
|
3
3
|
export interface RemultFresh extends RemultServerCore<FreshRequest> {
|
|
4
4
|
handle(req: FreshRequest, ctx: FreshContext): Promise<any>;
|
package/remult-fresh.js
CHANGED
|
@@ -7,7 +7,7 @@ function remultFresh(options, response) {
|
|
|
7
7
|
var _this = this;
|
|
8
8
|
var server = expressBridge_1.createRemultServerCore(options, {
|
|
9
9
|
buildGenericRequestInfo: function (r) { return r; },
|
|
10
|
-
getRequestBody: function (req) { return req.json(); }
|
|
10
|
+
getRequestBody: function (req) { return req.json(); },
|
|
11
11
|
});
|
|
12
12
|
return {
|
|
13
13
|
getRemult: function (r) { return server.getRemult(r); },
|
|
@@ -32,7 +32,6 @@ function remultFresh(options, response) {
|
|
|
32
32
|
else {
|
|
33
33
|
return [2 /*return*/, ctx.next()];
|
|
34
34
|
}
|
|
35
|
-
;
|
|
36
35
|
return [2 /*return*/];
|
|
37
36
|
}
|
|
38
37
|
});
|
|
@@ -40,5 +39,3 @@ function remultFresh(options, response) {
|
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
41
|
exports.remultFresh = remultFresh;
|
|
43
|
-
;
|
|
44
|
-
;
|
package/remult-knex/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Knex } from 'knex';
|
|
2
|
-
import { Remult } from
|
|
3
|
-
import { EntityFilter, EntityMetadata, RepositoryOverloads } from
|
|
2
|
+
import { Remult } from '../src/context';
|
|
3
|
+
import { EntityFilter, EntityMetadata, RepositoryOverloads } from '../src/remult3';
|
|
4
4
|
import { DataProvider, EntityDataProvider } from '../src/data-interfaces';
|
|
5
5
|
import { FieldMetadata } from '../src/column-interfaces';
|
|
6
6
|
export declare class KnexDataProvider implements DataProvider {
|
|
@@ -11,7 +11,7 @@ export declare class KnexDataProvider implements DataProvider {
|
|
|
11
11
|
transaction(action: (dataProvider: DataProvider) => Promise<void>): Promise<void>;
|
|
12
12
|
static rawFilter(build: CustomKnexFilterBuilderFunction): EntityFilter<any>;
|
|
13
13
|
static filterToRaw<entityType>(entity: RepositoryOverloads<entityType>, condition: EntityFilter<entityType>): Promise<(knex: any) => void>;
|
|
14
|
-
|
|
14
|
+
isProxy?: boolean;
|
|
15
15
|
ensureSchema(entities: EntityMetadata<any>[]): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
export declare type CustomKnexFilterBuilderFunction = () => Promise<(builder: Knex.QueryBuilder) => void>;
|
|
@@ -20,7 +20,7 @@ export declare class KnexSchemaBuilder {
|
|
|
20
20
|
verifyStructureOfAllEntities(remult?: Remult): Promise<void>;
|
|
21
21
|
ensureSchema(entities: EntityMetadata<any>[]): Promise<void>;
|
|
22
22
|
createIfNotExist(entity: EntityMetadata): Promise<void>;
|
|
23
|
-
addColumnIfNotExist<T extends EntityMetadata>(entity: T, c: (
|
|
23
|
+
addColumnIfNotExist<T extends EntityMetadata>(entity: T, c: (e: T) => FieldMetadata): Promise<void>;
|
|
24
24
|
verifyAllColumns<T extends EntityMetadata>(entity: T): Promise<void>;
|
|
25
25
|
additionalWhere: string;
|
|
26
26
|
constructor(knex: Knex);
|
package/remult-knex/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
17
17
|
KnexDataProvider.getDb = function (remult) {
|
|
18
18
|
var r = (remult || remult_proxy_1.remult).dataProvider;
|
|
19
19
|
if (!r.knex)
|
|
20
|
-
throw
|
|
20
|
+
throw 'the data provider is not an KnexDataProvider';
|
|
21
21
|
return r.knex;
|
|
22
22
|
};
|
|
23
23
|
KnexDataProvider.prototype.getEntityDataProvider = function (entity) {
|
|
@@ -26,7 +26,7 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
26
26
|
try {
|
|
27
27
|
for (var _b = tslib_1.__values(entity.fields.toArray()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
28
28
|
var f = _c.value;
|
|
29
|
-
if (f.valueConverter.fieldTypeInDb ===
|
|
29
|
+
if (f.valueConverter.fieldTypeInDb === 'json') {
|
|
30
30
|
//@ts-ignore
|
|
31
31
|
f.valueConverter = tslib_1.__assign(tslib_1.__assign({}, f.valueConverter), { toDb: valueConverters_1.ValueConverters.JsonString.toDb, fromDb: valueConverters_1.ValueConverters.JsonString.fromDb });
|
|
32
32
|
}
|
|
@@ -74,7 +74,7 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
74
74
|
var _a;
|
|
75
75
|
return _a = {},
|
|
76
76
|
_a[filter_interfaces_1.customDatabaseFilterToken] = {
|
|
77
|
-
buildKnex: build
|
|
77
|
+
buildKnex: build,
|
|
78
78
|
},
|
|
79
79
|
_a;
|
|
80
80
|
};
|
|
@@ -90,7 +90,7 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
90
90
|
case 1:
|
|
91
91
|
b = new (_a.apply(FilterConsumerBridgeToKnexRequest, [void 0, _b.sent()]))();
|
|
92
92
|
b._addWhere = false;
|
|
93
|
-
return [4 /*yield*/,
|
|
93
|
+
return [4 /*yield*/, repo.translateWhereToFilter(condition)];
|
|
94
94
|
case 2: return [4 /*yield*/, (_b.sent()).__applyToConsumer(b)];
|
|
95
95
|
case 3:
|
|
96
96
|
_b.sent();
|
|
@@ -139,9 +139,10 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
139
139
|
case 2:
|
|
140
140
|
r = _a.sent();
|
|
141
141
|
return [4 /*yield*/, this.knex(e.$entityName)
|
|
142
|
-
.count()
|
|
142
|
+
.count()
|
|
143
|
+
.where(function (b) { return r.forEach(function (w) { return w(b); }); })];
|
|
143
144
|
case 3:
|
|
144
|
-
result =
|
|
145
|
+
result = _a.sent();
|
|
145
146
|
row = result[0];
|
|
146
147
|
for (key in row) {
|
|
147
148
|
if (Object.prototype.hasOwnProperty.call(row, key)) {
|
|
@@ -199,7 +200,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
199
200
|
if (options.orderBy) {
|
|
200
201
|
query = query.orderBy(options.orderBy.Segments.map(function (s) { return ({
|
|
201
202
|
column: e.$dbNameOf(s.field),
|
|
202
|
-
order: s.isDescending ?
|
|
203
|
+
order: s.isDescending ? 'desc' : 'asc',
|
|
203
204
|
}); }));
|
|
204
205
|
}
|
|
205
206
|
if (options.limit) {
|
|
@@ -219,7 +220,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
219
220
|
result[field.key] = field.valueConverter.fromDb(y[m]);
|
|
220
221
|
}
|
|
221
222
|
catch (err) {
|
|
222
|
-
throw new Error(
|
|
223
|
+
throw new Error('Failed to load from db:' + field.key + '\r\n' + err);
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
return result;
|
|
@@ -233,7 +234,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
233
234
|
return tslib_1.__generator(this, function (_a) {
|
|
234
235
|
switch (_a.label) {
|
|
235
236
|
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(this.entity)];
|
|
236
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
237
|
+
case 1: return [2 /*return*/, (_a.sent())];
|
|
237
238
|
}
|
|
238
239
|
});
|
|
239
240
|
});
|
|
@@ -289,10 +290,14 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
289
290
|
case 10: return [4 /*yield*/, f.resolveWhere()];
|
|
290
291
|
case 11:
|
|
291
292
|
where = _d.sent();
|
|
292
|
-
return [4 /*yield*/, this.knex(e.$entityName)
|
|
293
|
+
return [4 /*yield*/, this.knex(e.$entityName)
|
|
294
|
+
.update(updateObject)
|
|
295
|
+
.where(function (b) { return where.forEach(function (w) { return w(b); }); })];
|
|
293
296
|
case 12:
|
|
294
297
|
_d.sent();
|
|
295
|
-
return [2 /*return*/, this.find({
|
|
298
|
+
return [2 /*return*/, this.find({
|
|
299
|
+
where: filter_interfaces_1.Filter.fromEntityFilter(this.entity, resultFilter),
|
|
300
|
+
}).then(function (y) { return y[0]; })];
|
|
296
301
|
}
|
|
297
302
|
});
|
|
298
303
|
});
|
|
@@ -310,7 +315,9 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
310
315
|
return [4 /*yield*/, f.resolveWhere()];
|
|
311
316
|
case 2:
|
|
312
317
|
where = _a.sent();
|
|
313
|
-
return [4 /*yield*/, this.knex(e.$entityName)
|
|
318
|
+
return [4 /*yield*/, this.knex(e.$entityName)
|
|
319
|
+
.delete()
|
|
320
|
+
.where(function (b) { return where.forEach(function (w) { return w(b); }); })];
|
|
314
321
|
case 3:
|
|
315
322
|
_a.sent();
|
|
316
323
|
return [2 /*return*/];
|
|
@@ -380,7 +387,9 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
380
387
|
newId_1 = result[0].id;
|
|
381
388
|
_d.label = 14;
|
|
382
389
|
case 14:
|
|
383
|
-
resultFilter = new filter_interfaces_1.Filter(function (x) {
|
|
390
|
+
resultFilter = new filter_interfaces_1.Filter(function (x) {
|
|
391
|
+
return x.isEqualTo(_this.entity.idMetadata.field, newId_1);
|
|
392
|
+
});
|
|
384
393
|
return [3 /*break*/, 17];
|
|
385
394
|
case 15: return [4 /*yield*/, insert];
|
|
386
395
|
case 16:
|
|
@@ -445,7 +454,7 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
445
454
|
});
|
|
446
455
|
};
|
|
447
456
|
FilterConsumerBridgeToKnexRequest.prototype.custom = function (key, customItem) {
|
|
448
|
-
throw new Error(
|
|
457
|
+
throw new Error('Custom filter should be translated before it gets here');
|
|
449
458
|
};
|
|
450
459
|
FilterConsumerBridgeToKnexRequest.prototype.or = function (orElements) {
|
|
451
460
|
var _this = this;
|
|
@@ -533,35 +542,41 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
533
542
|
});
|
|
534
543
|
};
|
|
535
544
|
FilterConsumerBridgeToKnexRequest.prototype.isEqualTo = function (col, val) {
|
|
536
|
-
this.add(col, val,
|
|
545
|
+
this.add(col, val, '=');
|
|
537
546
|
};
|
|
538
547
|
FilterConsumerBridgeToKnexRequest.prototype.isDifferentFrom = function (col, val) {
|
|
539
|
-
this.add(col, val,
|
|
548
|
+
this.add(col, val, '<>');
|
|
540
549
|
};
|
|
541
550
|
FilterConsumerBridgeToKnexRequest.prototype.isGreaterOrEqualTo = function (col, val) {
|
|
542
|
-
this.add(col, val,
|
|
551
|
+
this.add(col, val, '>=');
|
|
543
552
|
};
|
|
544
553
|
FilterConsumerBridgeToKnexRequest.prototype.isGreaterThan = function (col, val) {
|
|
545
|
-
this.add(col, val,
|
|
554
|
+
this.add(col, val, '>');
|
|
546
555
|
};
|
|
547
556
|
FilterConsumerBridgeToKnexRequest.prototype.isLessOrEqualTo = function (col, val) {
|
|
548
|
-
this.add(col, val,
|
|
557
|
+
this.add(col, val, '<=');
|
|
549
558
|
};
|
|
550
559
|
FilterConsumerBridgeToKnexRequest.prototype.isLessThan = function (col, val) {
|
|
551
|
-
this.add(col, val,
|
|
560
|
+
this.add(col, val, '<');
|
|
552
561
|
};
|
|
553
562
|
FilterConsumerBridgeToKnexRequest.prototype.containsCaseInsensitive = function (col, val) {
|
|
554
563
|
var _this = this;
|
|
555
|
-
this.result.push(function (b) {
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
564
|
+
this.result.push(function (b) {
|
|
565
|
+
return b.whereRaw('lower (' +
|
|
566
|
+
b.client.ref(_this.nameProvider.$dbNameOf(col)) +
|
|
567
|
+
") like lower ('%" +
|
|
568
|
+
val.replace(/'/g, "''") +
|
|
569
|
+
"%')");
|
|
570
|
+
});
|
|
571
|
+
this.promises.push((function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
572
|
+
return [2 /*return*/];
|
|
573
|
+
}); }); })());
|
|
561
574
|
};
|
|
562
575
|
FilterConsumerBridgeToKnexRequest.prototype.add = function (col, val, operator) {
|
|
563
576
|
var _this = this;
|
|
564
|
-
this.result.push(function (b) {
|
|
577
|
+
this.result.push(function (b) {
|
|
578
|
+
return b.where(_this.nameProvider.$dbNameOf(col), operator, translateValueAndHandleArrayAndHandleArray(col, val));
|
|
579
|
+
});
|
|
565
580
|
};
|
|
566
581
|
FilterConsumerBridgeToKnexRequest.prototype.databaseCustom = function (databaseCustom) {
|
|
567
582
|
var _this = this;
|
|
@@ -593,7 +608,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
593
608
|
var entities;
|
|
594
609
|
return tslib_1.__generator(this, function (_a) {
|
|
595
610
|
if (!remult)
|
|
596
|
-
remult = remult_proxy_1.
|
|
611
|
+
remult = remult_proxy_1.remult;
|
|
597
612
|
entities = context_1.allEntities.map(function (x) { return remult.repo(x).metadata; });
|
|
598
613
|
this.ensureSchema(entities);
|
|
599
614
|
return [2 /*return*/];
|
|
@@ -631,7 +646,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
631
646
|
case 6: return [3 /*break*/, 8];
|
|
632
647
|
case 7:
|
|
633
648
|
err_2 = _b.sent();
|
|
634
|
-
console.error(
|
|
649
|
+
console.error('failed ensure schema of ' + e.$entityName + ' ', err_2);
|
|
635
650
|
return [3 /*break*/, 8];
|
|
636
651
|
case 8:
|
|
637
652
|
entities_1_1 = entities_1.next();
|
|
@@ -671,7 +686,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
671
686
|
f = _b.value;
|
|
672
687
|
cols_1.set(f, {
|
|
673
688
|
name: e.$dbNameOf(f),
|
|
674
|
-
readonly: filter_consumer_bridge_to_sql_request_1.isDbReadonly(f, e)
|
|
689
|
+
readonly: filter_consumer_bridge_to_sql_request_1.isDbReadonly(f, e),
|
|
675
690
|
});
|
|
676
691
|
}
|
|
677
692
|
}
|
|
@@ -810,7 +825,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
810
825
|
exports.KnexSchemaBuilder = KnexSchemaBuilder;
|
|
811
826
|
function supportsJson(knex) {
|
|
812
827
|
var client = knex.client.config.client;
|
|
813
|
-
if ((client === null || client === void 0 ? void 0 : client.includes(
|
|
828
|
+
if ((client === null || client === void 0 ? void 0 : client.includes('sqlite3')) || (client === null || client === void 0 ? void 0 : client.includes('mssql')))
|
|
814
829
|
return false;
|
|
815
830
|
return true;
|
|
816
831
|
}
|
|
@@ -823,7 +838,7 @@ function buildColumn(x, dbName, b, supportsJson) {
|
|
|
823
838
|
c.defaultTo(0).notNullable();
|
|
824
839
|
}
|
|
825
840
|
}
|
|
826
|
-
else if (x.valueConverter.fieldTypeInDb ==
|
|
841
|
+
else if (x.valueConverter.fieldTypeInDb == 'integer') {
|
|
827
842
|
var c = b.integer(dbName);
|
|
828
843
|
if (!x.allowNull) {
|
|
829
844
|
c.defaultTo(0).notNullable();
|
|
@@ -838,7 +853,7 @@ function buildColumn(x, dbName, b, supportsJson) {
|
|
|
838
853
|
b.date(dbName);
|
|
839
854
|
else
|
|
840
855
|
b.dateTime(dbName);
|
|
841
|
-
else if (x.valueConverter.fieldTypeInDb ==
|
|
856
|
+
else if (x.valueConverter.fieldTypeInDb == 'date')
|
|
842
857
|
b.date(dbName);
|
|
843
858
|
else
|
|
844
859
|
b.specificType(dbName, x.valueConverter.fieldTypeInDb);
|
|
@@ -849,13 +864,13 @@ function buildColumn(x, dbName, b, supportsJson) {
|
|
|
849
864
|
c.defaultTo(false).notNullable();
|
|
850
865
|
}
|
|
851
866
|
else if (x.valueConverter.fieldTypeInDb) {
|
|
852
|
-
if (x.valueConverter.fieldTypeInDb ==
|
|
867
|
+
if (x.valueConverter.fieldTypeInDb == 'integer') {
|
|
853
868
|
var c = b.integer(dbName);
|
|
854
869
|
if (!x.allowNull) {
|
|
855
870
|
c.defaultTo(0).notNullable();
|
|
856
871
|
}
|
|
857
872
|
}
|
|
858
|
-
else if (x.valueConverter.fieldTypeInDb ==
|
|
873
|
+
else if (x.valueConverter.fieldTypeInDb == 'json')
|
|
859
874
|
if (supportsJson)
|
|
860
875
|
b.json(dbName);
|
|
861
876
|
else
|