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
|
@@ -23,7 +23,8 @@ var models_1 = require("../tests/testModel/models");
|
|
|
23
23
|
var DecoratorReplacer_1 = require("../remult3/DecoratorReplacer");
|
|
24
24
|
var data_provider_live_query_storage_1 = require("../../live-query/data-provider-live-query-storage");
|
|
25
25
|
var uuid_1 = require("uuid");
|
|
26
|
-
|
|
26
|
+
var valueConverters_1 = require("../valueConverters");
|
|
27
|
+
db_tests_setup_1.testAll('what', function (_a) {
|
|
27
28
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
28
29
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
29
30
|
var _b;
|
|
@@ -42,27 +43,29 @@ db_tests_setup_1.testAll("what", function (_a) {
|
|
|
42
43
|
});
|
|
43
44
|
});
|
|
44
45
|
}, false);
|
|
45
|
-
db_tests_setup_1.testAll(
|
|
46
|
+
db_tests_setup_1.testAll('data types', function (_a) {
|
|
46
47
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
47
48
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
48
49
|
var r;
|
|
49
50
|
return tslib_1.__generator(this, function (_b) {
|
|
50
51
|
switch (_b.label) {
|
|
51
52
|
case 0: return [4 /*yield*/, createEntity(stam)];
|
|
52
|
-
case 1: return [4 /*yield*/, (_b.sent())
|
|
53
|
+
case 1: return [4 /*yield*/, (_b.sent())
|
|
54
|
+
.create({
|
|
53
55
|
id: 1,
|
|
54
56
|
//@ts-ignore
|
|
55
|
-
title: 42
|
|
56
|
-
})
|
|
57
|
+
title: 42,
|
|
58
|
+
})
|
|
59
|
+
.save()];
|
|
57
60
|
case 2:
|
|
58
61
|
r = _b.sent();
|
|
59
|
-
expect(r.title).toEqual(
|
|
62
|
+
expect(r.title).toEqual('42');
|
|
60
63
|
return [2 /*return*/];
|
|
61
64
|
}
|
|
62
65
|
});
|
|
63
66
|
});
|
|
64
67
|
}, false);
|
|
65
|
-
db_tests_setup_1.testAll(
|
|
68
|
+
db_tests_setup_1.testAll('filter works on all db', function (_a) {
|
|
66
69
|
var createEntity = _a.createEntity;
|
|
67
70
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
68
71
|
var s, _b;
|
|
@@ -80,7 +83,7 @@ db_tests_setup_1.testAll("filter works on all db", function (_a) {
|
|
|
80
83
|
});
|
|
81
84
|
});
|
|
82
85
|
}, false);
|
|
83
|
-
db_tests_setup_1.testAll(
|
|
86
|
+
db_tests_setup_1.testAll('test in statement and ', function (_a) {
|
|
84
87
|
var createEntity = _a.createEntity;
|
|
85
88
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
86
89
|
var repo, _b;
|
|
@@ -98,7 +101,7 @@ db_tests_setup_1.testAll("test in statement and ", function (_a) {
|
|
|
98
101
|
});
|
|
99
102
|
});
|
|
100
103
|
}, false);
|
|
101
|
-
db_tests_setup_1.testAll(
|
|
104
|
+
db_tests_setup_1.testAll('filter with and', function (_a) {
|
|
102
105
|
var createEntity = _a.createEntity;
|
|
103
106
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
104
107
|
var s, _b;
|
|
@@ -116,7 +119,7 @@ db_tests_setup_1.testAll("filter with and", function (_a) {
|
|
|
116
119
|
});
|
|
117
120
|
});
|
|
118
121
|
}, false);
|
|
119
|
-
db_tests_setup_1.testAll(
|
|
122
|
+
db_tests_setup_1.testAll('test empty in', function (_a) {
|
|
120
123
|
var createEntity = _a.createEntity;
|
|
121
124
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
122
125
|
var s, _b;
|
|
@@ -134,7 +137,7 @@ db_tests_setup_1.testAll("test empty in", function (_a) {
|
|
|
134
137
|
});
|
|
135
138
|
});
|
|
136
139
|
}, false);
|
|
137
|
-
db_tests_setup_1.testAll(
|
|
140
|
+
db_tests_setup_1.testAll('filter works on all db or', function (_a) {
|
|
138
141
|
var createEntity = _a.createEntity;
|
|
139
142
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
140
143
|
var s, _b;
|
|
@@ -152,7 +155,7 @@ db_tests_setup_1.testAll("filter works on all db or", function (_a) {
|
|
|
152
155
|
});
|
|
153
156
|
});
|
|
154
157
|
}, false);
|
|
155
|
-
db_tests_setup_1.testAll(
|
|
158
|
+
db_tests_setup_1.testAll('filter works on all db or_1', function (_a) {
|
|
156
159
|
var createEntity = _a.createEntity;
|
|
157
160
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
158
161
|
var s, _b;
|
|
@@ -170,7 +173,7 @@ db_tests_setup_1.testAll("filter works on all db or_1", function (_a) {
|
|
|
170
173
|
});
|
|
171
174
|
});
|
|
172
175
|
}, false);
|
|
173
|
-
db_tests_setup_1.testAll(
|
|
176
|
+
db_tests_setup_1.testAll('filter works on all db or_2', function (_a) {
|
|
174
177
|
var createEntity = _a.createEntity;
|
|
175
178
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
176
179
|
var s, _b;
|
|
@@ -188,7 +191,7 @@ db_tests_setup_1.testAll("filter works on all db or_2", function (_a) {
|
|
|
188
191
|
});
|
|
189
192
|
});
|
|
190
193
|
}, false);
|
|
191
|
-
db_tests_setup_1.testAll(
|
|
194
|
+
db_tests_setup_1.testAll('entity with different id column still works well', function (_a) {
|
|
192
195
|
var createEntity = _a.createEntity;
|
|
193
196
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
194
197
|
var s, c, _b;
|
|
@@ -217,7 +220,7 @@ db_tests_setup_1.testAll("entity with different id column still works well", fun
|
|
|
217
220
|
});
|
|
218
221
|
});
|
|
219
222
|
}, false);
|
|
220
|
-
db_tests_setup_1.testAll(
|
|
223
|
+
db_tests_setup_1.testAll('empty find works', function (_a) {
|
|
221
224
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
222
225
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
223
226
|
var c, l;
|
|
@@ -241,7 +244,7 @@ db_tests_setup_1.testAll("empty find works", function (_a) {
|
|
|
241
244
|
});
|
|
242
245
|
});
|
|
243
246
|
}, false);
|
|
244
|
-
db_tests_setup_1.testAll(
|
|
247
|
+
db_tests_setup_1.testAll('test descending', function (_a) {
|
|
245
248
|
var createEntity = _a.createEntity;
|
|
246
249
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
247
250
|
var repo, rows;
|
|
@@ -258,7 +261,7 @@ db_tests_setup_1.testAll("test descending", function (_a) {
|
|
|
258
261
|
_b.sent();
|
|
259
262
|
return [4 /*yield*/, repo.find({
|
|
260
263
|
orderBy: { categoryName: 'desc' },
|
|
261
|
-
page: -1
|
|
264
|
+
page: -1,
|
|
262
265
|
})];
|
|
263
266
|
case 4:
|
|
264
267
|
rows = _b.sent();
|
|
@@ -268,7 +271,7 @@ db_tests_setup_1.testAll("test descending", function (_a) {
|
|
|
268
271
|
});
|
|
269
272
|
});
|
|
270
273
|
}, false);
|
|
271
|
-
db_tests_setup_1.testAll(
|
|
274
|
+
db_tests_setup_1.testAll('test descending 2', function (_a) {
|
|
272
275
|
var createEntity = _a.createEntity;
|
|
273
276
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
274
277
|
var repo, rows;
|
|
@@ -277,12 +280,15 @@ db_tests_setup_1.testAll("test descending 2", function (_a) {
|
|
|
277
280
|
case 0: return [4 /*yield*/, createEntity(remult_3_entities_1.Categories)];
|
|
278
281
|
case 1:
|
|
279
282
|
repo = _b.sent();
|
|
280
|
-
return [4 /*yield*/, repo.insert([
|
|
283
|
+
return [4 /*yield*/, repo.insert([
|
|
284
|
+
{ id: 1, categoryName: 'a' },
|
|
285
|
+
{ id: 2, categoryName: 'b' },
|
|
286
|
+
])];
|
|
281
287
|
case 2:
|
|
282
288
|
_b.sent();
|
|
283
289
|
return [4 /*yield*/, repo.find({
|
|
284
290
|
orderBy: { categoryName: 'desc' },
|
|
285
|
-
page: -1
|
|
291
|
+
page: -1,
|
|
286
292
|
})];
|
|
287
293
|
case 3:
|
|
288
294
|
rows = _b.sent();
|
|
@@ -292,7 +298,7 @@ db_tests_setup_1.testAll("test descending 2", function (_a) {
|
|
|
292
298
|
});
|
|
293
299
|
});
|
|
294
300
|
}, false);
|
|
295
|
-
db_tests_setup_1.testAll(
|
|
301
|
+
db_tests_setup_1.testAll('partial updates', function (_a) {
|
|
296
302
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
297
303
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
298
304
|
var c, l;
|
|
@@ -301,7 +307,9 @@ db_tests_setup_1.testAll("partial updates", function (_a) {
|
|
|
301
307
|
case 0: return [4 /*yield*/, createEntity(remult_3_entities_1.Categories)];
|
|
302
308
|
case 1:
|
|
303
309
|
c = (_b.sent()).create({
|
|
304
|
-
id: 5,
|
|
310
|
+
id: 5,
|
|
311
|
+
categoryName: 'test',
|
|
312
|
+
description: 'desc',
|
|
305
313
|
});
|
|
306
314
|
return [4 /*yield*/, c._.save()];
|
|
307
315
|
case 2:
|
|
@@ -324,7 +332,7 @@ db_tests_setup_1.testAll("partial updates", function (_a) {
|
|
|
324
332
|
});
|
|
325
333
|
});
|
|
326
334
|
}, false);
|
|
327
|
-
db_tests_setup_1.testAll(
|
|
335
|
+
db_tests_setup_1.testAll('put with validations on entity fails', function (_a) {
|
|
328
336
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
329
337
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
330
338
|
var s, c, api, t, d, x;
|
|
@@ -350,7 +358,7 @@ db_tests_setup_1.testAll("put with validations on entity fails", function (_a) {
|
|
|
350
358
|
});
|
|
351
359
|
}); };
|
|
352
360
|
return [4 /*yield*/, api.put(t, 1, {
|
|
353
|
-
name: '1'
|
|
361
|
+
name: '1',
|
|
354
362
|
})];
|
|
355
363
|
case 3:
|
|
356
364
|
_b.sent();
|
|
@@ -368,7 +376,7 @@ db_tests_setup_1.testAll("put with validations on entity fails", function (_a) {
|
|
|
368
376
|
});
|
|
369
377
|
});
|
|
370
378
|
});
|
|
371
|
-
db_tests_setup_1.testAll(
|
|
379
|
+
db_tests_setup_1.testAll('test date only with null works', function (_a) {
|
|
372
380
|
var createEntity = _a.createEntity;
|
|
373
381
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
374
382
|
var repo, r, _b;
|
|
@@ -408,7 +416,7 @@ db_tests_setup_1.testAll("test date only with null works", function (_a) {
|
|
|
408
416
|
});
|
|
409
417
|
});
|
|
410
418
|
}, false);
|
|
411
|
-
db_tests_setup_1.testAll(
|
|
419
|
+
db_tests_setup_1.testAll('test date with null works', function (_a) {
|
|
412
420
|
var createEntity = _a.createEntity;
|
|
413
421
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
414
422
|
var repo, r, _b;
|
|
@@ -424,7 +432,7 @@ db_tests_setup_1.testAll("test date with null works", function (_a) {
|
|
|
424
432
|
return [4 /*yield*/, repo.findFirst()];
|
|
425
433
|
case 3:
|
|
426
434
|
r = _c.sent();
|
|
427
|
-
expect(r.fullDate).toBeNull(
|
|
435
|
+
expect(r.fullDate).toBeNull('expected null after');
|
|
428
436
|
_b = expect;
|
|
429
437
|
return [4 /*yield*/, repo.count({ fullDate: null })];
|
|
430
438
|
case 4:
|
|
@@ -448,14 +456,16 @@ db_tests_setup_1.testAll("test date with null works", function (_a) {
|
|
|
448
456
|
});
|
|
449
457
|
});
|
|
450
458
|
}, false);
|
|
451
|
-
db_tests_setup_1.testAll(
|
|
459
|
+
db_tests_setup_1.testAll('test original value of date', function (_a) {
|
|
452
460
|
var createEntity = _a.createEntity;
|
|
453
461
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
454
462
|
var r;
|
|
455
463
|
return tslib_1.__generator(this, function (_b) {
|
|
456
464
|
switch (_b.label) {
|
|
457
465
|
case 0: return [4 /*yield*/, createEntity(testDateWithNull)];
|
|
458
|
-
case 1: return [4 /*yield*/, (_b.sent())
|
|
466
|
+
case 1: return [4 /*yield*/, (_b.sent())
|
|
467
|
+
.create({ id: 1, d: new Date(1976, 6, 16) })
|
|
468
|
+
.save()];
|
|
459
469
|
case 2:
|
|
460
470
|
r = _b.sent();
|
|
461
471
|
expect(r.$.d.originalValue.getFullYear()).toBe(1976);
|
|
@@ -489,7 +499,7 @@ var testDateWithNull = /** @class */ (function (_super) {
|
|
|
489
499
|
], testDateWithNull);
|
|
490
500
|
return testDateWithNull;
|
|
491
501
|
}(remult3_1.EntityBase));
|
|
492
|
-
db_tests_setup_1.testAll(
|
|
502
|
+
db_tests_setup_1.testAll('test string with null works', function (_a) {
|
|
493
503
|
var createEntity = _a.createEntity;
|
|
494
504
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
495
505
|
var repo, r;
|
|
@@ -511,7 +521,7 @@ db_tests_setup_1.testAll("test string with null works", function (_a) {
|
|
|
511
521
|
});
|
|
512
522
|
});
|
|
513
523
|
});
|
|
514
|
-
db_tests_setup_1.testAll(
|
|
524
|
+
db_tests_setup_1.testAll('test tasks', function (_a) {
|
|
515
525
|
var createEntity = _a.createEntity;
|
|
516
526
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
517
527
|
var c, t, _b, _c, _d;
|
|
@@ -580,7 +590,7 @@ db_tests_setup_1.testAll("test filtering of null/''", function (_a) {
|
|
|
580
590
|
case 5:
|
|
581
591
|
_b.apply(void 0, [_d.sent()]).toBe(2);
|
|
582
592
|
_c = expect;
|
|
583
|
-
return [4 /*yield*/, repo.count({ refH: {
|
|
593
|
+
return [4 /*yield*/, repo.count({ refH: { '!=': null } })];
|
|
584
594
|
case 6:
|
|
585
595
|
_c.apply(void 0, [_d.sent()]).toBe(1);
|
|
586
596
|
return [2 /*return*/];
|
|
@@ -588,7 +598,7 @@ db_tests_setup_1.testAll("test filtering of null/''", function (_a) {
|
|
|
588
598
|
});
|
|
589
599
|
});
|
|
590
600
|
}, false);
|
|
591
|
-
db_tests_setup_1.testAll(
|
|
601
|
+
db_tests_setup_1.testAll('test paging with complex object', function (_a) {
|
|
592
602
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
593
603
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
594
604
|
var c1, c2, c3, i, _b, _c, x, e_1_1;
|
|
@@ -630,7 +640,7 @@ db_tests_setup_1.testAll("test paging with complex object", function (_a) {
|
|
|
630
640
|
case 11:
|
|
631
641
|
_e.trys.push([11, 16, 17, 22]);
|
|
632
642
|
_b = tslib_1.__asyncValues(remult.repo(p).query({
|
|
633
|
-
orderBy: { c:
|
|
643
|
+
orderBy: { c: 'asc', id: 'asc' },
|
|
634
644
|
}));
|
|
635
645
|
_e.label = 12;
|
|
636
646
|
case 12: return [4 /*yield*/, _b.next()];
|
|
@@ -664,7 +674,7 @@ db_tests_setup_1.testAll("test paging with complex object", function (_a) {
|
|
|
664
674
|
});
|
|
665
675
|
});
|
|
666
676
|
}, false);
|
|
667
|
-
db_tests_setup_1.testAll(
|
|
677
|
+
db_tests_setup_1.testAll('test paging with complex object_2', function (_a) {
|
|
668
678
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
669
679
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
670
680
|
var c1, _b;
|
|
@@ -771,7 +781,7 @@ db_tests_setup_1.testAll("test filter doesn't collapse", function (_a) {
|
|
|
771
781
|
});
|
|
772
782
|
});
|
|
773
783
|
});
|
|
774
|
-
db_tests_setup_1.testAll(
|
|
784
|
+
db_tests_setup_1.testAll('test that it works with inheritance', function (_a) {
|
|
775
785
|
var createEntity = _a.createEntity;
|
|
776
786
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
777
787
|
var c, id, _b, _c, _d;
|
|
@@ -793,15 +803,15 @@ db_tests_setup_1.testAll("test that it works with inheritance", function (_a) {
|
|
|
793
803
|
return [3 /*break*/, 2];
|
|
794
804
|
case 5:
|
|
795
805
|
_b = expect;
|
|
796
|
-
return [4 /*yield*/,
|
|
806
|
+
return [4 /*yield*/, c.count(entityForCustomFilter_1.entityForrawFilter1.oneAndThree())];
|
|
797
807
|
case 6:
|
|
798
808
|
_b.apply(void 0, [_e.sent()]).toBe(2);
|
|
799
809
|
_c = expect;
|
|
800
|
-
return [4 /*yield*/,
|
|
810
|
+
return [4 /*yield*/, c.findFirst(entityForCustomFilter_1.entityForrawFilter1.testNumericValue(2))];
|
|
801
811
|
case 7:
|
|
802
812
|
_c.apply(void 0, [(_e.sent()).id]).toBe(2);
|
|
803
813
|
_d = expect;
|
|
804
|
-
return [4 /*yield*/,
|
|
814
|
+
return [4 /*yield*/, c.findFirst(entityForCustomFilter_1.entityForrawFilter1.testObjectValue({ val: 2 }))];
|
|
805
815
|
case 8:
|
|
806
816
|
_d.apply(void 0, [(_e.sent()).id]).toBe(2);
|
|
807
817
|
return [2 /*return*/];
|
|
@@ -809,7 +819,7 @@ db_tests_setup_1.testAll("test that it works with inheritance", function (_a) {
|
|
|
809
819
|
});
|
|
810
820
|
});
|
|
811
821
|
});
|
|
812
|
-
db_tests_setup_1.testAll(
|
|
822
|
+
db_tests_setup_1.testAll('put with validations on column fails', function (_a) {
|
|
813
823
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
814
824
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
815
825
|
var s, c, api, t, d, x;
|
|
@@ -835,7 +845,7 @@ db_tests_setup_1.testAll("put with validations on column fails", function (_a) {
|
|
|
835
845
|
});
|
|
836
846
|
}); };
|
|
837
847
|
return [4 /*yield*/, api.put(t, 1, {
|
|
838
|
-
name: '1'
|
|
848
|
+
name: '1',
|
|
839
849
|
})];
|
|
840
850
|
case 3:
|
|
841
851
|
_b.sent();
|
|
@@ -849,7 +859,7 @@ db_tests_setup_1.testAll("put with validations on column fails", function (_a) {
|
|
|
849
859
|
});
|
|
850
860
|
});
|
|
851
861
|
});
|
|
852
|
-
db_tests_setup_1.testAllDbs(
|
|
862
|
+
db_tests_setup_1.testAllDbs('Insert', function (_a) {
|
|
853
863
|
var createData = _a.createData;
|
|
854
864
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
855
865
|
var forCat, rows, c;
|
|
@@ -881,7 +891,7 @@ db_tests_setup_1.testAllDbs("Insert", function (_a) {
|
|
|
881
891
|
});
|
|
882
892
|
});
|
|
883
893
|
}, false);
|
|
884
|
-
db_tests_setup_1.testAllDbs(
|
|
894
|
+
db_tests_setup_1.testAllDbs('test delete', function (_a) {
|
|
885
895
|
var createData = _a.createData;
|
|
886
896
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
887
897
|
var c, rows;
|
|
@@ -912,7 +922,7 @@ db_tests_setup_1.testAllDbs("test delete", function (_a) {
|
|
|
912
922
|
});
|
|
913
923
|
});
|
|
914
924
|
}, false);
|
|
915
|
-
db_tests_setup_1.testAllDbs(
|
|
925
|
+
db_tests_setup_1.testAllDbs('test filter packer', function (_a) {
|
|
916
926
|
var insertFourRows = _a.insertFourRows;
|
|
917
927
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
918
928
|
var r, rows;
|
|
@@ -926,22 +936,31 @@ db_tests_setup_1.testAllDbs("test filter packer", function (_a) {
|
|
|
926
936
|
rows = _b.sent();
|
|
927
937
|
expect(rows.length).toBe(4);
|
|
928
938
|
return [4 /*yield*/, r.find({
|
|
929
|
-
where: filter_interfaces_1.Filter.entityFilterFromJson(r.metadata, filter_interfaces_1.entityFilterToJson(r.metadata, { description: 'x' }))
|
|
939
|
+
where: filter_interfaces_1.Filter.entityFilterFromJson(r.metadata, filter_interfaces_1.entityFilterToJson(r.metadata, { description: 'x' })),
|
|
930
940
|
})];
|
|
931
941
|
case 3:
|
|
932
942
|
rows = _b.sent();
|
|
933
943
|
expect(rows.length).toBe(2);
|
|
934
|
-
return [4 /*yield*/, r.find({
|
|
944
|
+
return [4 /*yield*/, r.find({
|
|
945
|
+
where: filter_interfaces_1.Filter.entityFilterFromJson(r.metadata, filter_interfaces_1.entityFilterToJson(r.metadata, { id: 4 })),
|
|
946
|
+
})];
|
|
935
947
|
case 4:
|
|
936
948
|
rows = _b.sent();
|
|
937
949
|
expect(rows.length).toBe(1);
|
|
938
950
|
expect(rows[0].categoryName).toBe('yael');
|
|
939
|
-
return [4 /*yield*/, r.find({
|
|
951
|
+
return [4 /*yield*/, r.find({
|
|
952
|
+
where: filter_interfaces_1.Filter.entityFilterFromJson(r.metadata, filter_interfaces_1.entityFilterToJson(r.metadata, {
|
|
953
|
+
description: 'y',
|
|
954
|
+
categoryName: 'yoni',
|
|
955
|
+
})),
|
|
956
|
+
})];
|
|
940
957
|
case 5:
|
|
941
958
|
rows = _b.sent();
|
|
942
959
|
expect(rows.length).toBe(1);
|
|
943
960
|
expect(rows[0].id).toBe(2);
|
|
944
|
-
return [4 /*yield*/, r.find({
|
|
961
|
+
return [4 /*yield*/, r.find({
|
|
962
|
+
where: filter_interfaces_1.Filter.entityFilterFromJson(r.metadata, filter_interfaces_1.entityFilterToJson(r.metadata, { id: { $ne: [2, 4] } })),
|
|
963
|
+
})];
|
|
945
964
|
case 6:
|
|
946
965
|
rows = _b.sent();
|
|
947
966
|
expect(rows.length).toBe(2);
|
|
@@ -950,7 +969,7 @@ db_tests_setup_1.testAllDbs("test filter packer", function (_a) {
|
|
|
950
969
|
});
|
|
951
970
|
});
|
|
952
971
|
}, false);
|
|
953
|
-
db_tests_setup_1.testAll(
|
|
972
|
+
db_tests_setup_1.testAll('Test unique Validation,', function (_a) {
|
|
954
973
|
var createEntity = _a.createEntity;
|
|
955
974
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
956
975
|
var type, c, cat, saved, err_1;
|
|
@@ -979,8 +998,8 @@ db_tests_setup_1.testAll("Test unique Validation,", function (_a) {
|
|
|
979
998
|
case 2: return [2 /*return*/];
|
|
980
999
|
}
|
|
981
1000
|
});
|
|
982
|
-
}); }
|
|
983
|
-
})(type.prototype,
|
|
1001
|
+
}); },
|
|
1002
|
+
})(type.prototype, 'a');
|
|
984
1003
|
return [4 /*yield*/, createEntity(type)];
|
|
985
1004
|
case 1:
|
|
986
1005
|
c = _b.sent();
|
|
@@ -1003,7 +1022,7 @@ db_tests_setup_1.testAll("Test unique Validation,", function (_a) {
|
|
|
1003
1022
|
return [3 /*break*/, 6];
|
|
1004
1023
|
case 5:
|
|
1005
1024
|
err_1 = _b.sent();
|
|
1006
|
-
expect(cat._.fields.a.error).toEqual(
|
|
1025
|
+
expect(cat._.fields.a.error).toEqual('already exists');
|
|
1007
1026
|
return [3 /*break*/, 6];
|
|
1008
1027
|
case 6:
|
|
1009
1028
|
expect(saved).toBe(false);
|
|
@@ -1012,7 +1031,7 @@ db_tests_setup_1.testAll("Test unique Validation,", function (_a) {
|
|
|
1012
1031
|
});
|
|
1013
1032
|
});
|
|
1014
1033
|
});
|
|
1015
|
-
db_tests_setup_1.testAll(
|
|
1034
|
+
db_tests_setup_1.testAll('Test unique Validation 2', function (_a) {
|
|
1016
1035
|
var createEntity = _a.createEntity;
|
|
1017
1036
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1018
1037
|
var type, c, cat, saved, err_2;
|
|
@@ -1028,8 +1047,8 @@ db_tests_setup_1.testAll("Test unique Validation 2", function (_a) {
|
|
|
1028
1047
|
}(remult_3_entities_1.Categories));
|
|
1029
1048
|
remult3_1.Entity('sdfgds')(type);
|
|
1030
1049
|
remult3_1.Fields.string({
|
|
1031
|
-
validate: validators_1.Validators.unique
|
|
1032
|
-
})(type.prototype,
|
|
1050
|
+
validate: validators_1.Validators.unique,
|
|
1051
|
+
})(type.prototype, 'a');
|
|
1033
1052
|
return [4 /*yield*/, createEntity(type)];
|
|
1034
1053
|
case 1:
|
|
1035
1054
|
c = _b.sent();
|
|
@@ -1051,7 +1070,7 @@ db_tests_setup_1.testAll("Test unique Validation 2", function (_a) {
|
|
|
1051
1070
|
return [3 /*break*/, 6];
|
|
1052
1071
|
case 5:
|
|
1053
1072
|
err_2 = _b.sent();
|
|
1054
|
-
expect(cat._.fields.a.error).toEqual(
|
|
1073
|
+
expect(cat._.fields.a.error).toEqual('already exists');
|
|
1055
1074
|
return [3 /*break*/, 6];
|
|
1056
1075
|
case 6:
|
|
1057
1076
|
expect(saved).toBe(false);
|
|
@@ -1078,17 +1097,19 @@ var testNumbers = /** @class */ (function (_super) {
|
|
|
1078
1097
|
], testNumbers);
|
|
1079
1098
|
return testNumbers;
|
|
1080
1099
|
}(remult3_1.EntityBase));
|
|
1081
|
-
db_tests_setup_1.testAll(
|
|
1100
|
+
db_tests_setup_1.testAll('test that integer and int work', function (_a) {
|
|
1082
1101
|
var createEntity = _a.createEntity;
|
|
1083
1102
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1084
1103
|
var e;
|
|
1085
1104
|
return tslib_1.__generator(this, function (_b) {
|
|
1086
1105
|
switch (_b.label) {
|
|
1087
1106
|
case 0: return [4 /*yield*/, createEntity(testNumbers)];
|
|
1088
|
-
case 1: return [4 /*yield*/, (_b.sent())
|
|
1107
|
+
case 1: return [4 /*yield*/, (_b.sent())
|
|
1108
|
+
.create({
|
|
1089
1109
|
id: 1.5,
|
|
1090
|
-
a: 1.5
|
|
1091
|
-
})
|
|
1110
|
+
a: 1.5,
|
|
1111
|
+
})
|
|
1112
|
+
.save()];
|
|
1092
1113
|
case 2:
|
|
1093
1114
|
e = _b.sent();
|
|
1094
1115
|
expect(e.id).toBe(2);
|
|
@@ -1098,7 +1119,7 @@ db_tests_setup_1.testAll("test that integer and int work", function (_a) {
|
|
|
1098
1119
|
});
|
|
1099
1120
|
});
|
|
1100
1121
|
});
|
|
1101
|
-
db_tests_setup_1.testAll(
|
|
1122
|
+
db_tests_setup_1.testAll('post with logic works and max in entity', function (_a) {
|
|
1102
1123
|
var remult = _a.remult, createEntity = _a.createEntity;
|
|
1103
1124
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1104
1125
|
var c, api, t, d;
|
|
@@ -1129,7 +1150,7 @@ db_tests_setup_1.testAll("post with logic works and max in entity", function (_a
|
|
|
1129
1150
|
});
|
|
1130
1151
|
});
|
|
1131
1152
|
});
|
|
1132
|
-
db_tests_setup_1.testAllDbs(
|
|
1153
|
+
db_tests_setup_1.testAllDbs('get array works with filter in body', function (_a) {
|
|
1133
1154
|
var createData = _a.createData, remult = _a.remult;
|
|
1134
1155
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1135
1156
|
var c, api, t, d;
|
|
@@ -1165,9 +1186,9 @@ db_tests_setup_1.testAllDbs("get array works with filter in body", function (_a)
|
|
|
1165
1186
|
return [4 /*yield*/, api.getArray(t, {
|
|
1166
1187
|
get: function (x) {
|
|
1167
1188
|
return undefined;
|
|
1168
|
-
}
|
|
1189
|
+
},
|
|
1169
1190
|
}, {
|
|
1170
|
-
|
|
1191
|
+
'status.in': '[1, 2]',
|
|
1171
1192
|
})];
|
|
1172
1193
|
case 2:
|
|
1173
1194
|
_b.sent();
|
|
@@ -1177,7 +1198,7 @@ db_tests_setup_1.testAllDbs("get array works with filter in body", function (_a)
|
|
|
1177
1198
|
});
|
|
1178
1199
|
});
|
|
1179
1200
|
}, false);
|
|
1180
|
-
db_tests_setup_1.testAllDbs(
|
|
1201
|
+
db_tests_setup_1.testAllDbs('entity order by works', function (_a) {
|
|
1181
1202
|
var createData = _a.createData;
|
|
1182
1203
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1183
1204
|
var type, c, x, x, x;
|
|
@@ -1192,7 +1213,7 @@ db_tests_setup_1.testAllDbs("entity order by works", function (_a) {
|
|
|
1192
1213
|
return type;
|
|
1193
1214
|
}(remult_3_entities_1.Categories));
|
|
1194
1215
|
remult3_1.Entity('', {
|
|
1195
|
-
defaultOrderBy: { categoryName:
|
|
1216
|
+
defaultOrderBy: { categoryName: 'asc' },
|
|
1196
1217
|
})(type);
|
|
1197
1218
|
return [4 /*yield*/, createData(function (insert) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1198
1219
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -1200,10 +1221,10 @@ db_tests_setup_1.testAllDbs("entity order by works", function (_a) {
|
|
|
1200
1221
|
case 0: return [4 /*yield*/, insert(1, 'noam')];
|
|
1201
1222
|
case 1:
|
|
1202
1223
|
_a.sent();
|
|
1203
|
-
return [4 /*yield*/, insert(2,
|
|
1224
|
+
return [4 /*yield*/, insert(2, 'yoni')];
|
|
1204
1225
|
case 2:
|
|
1205
1226
|
_a.sent();
|
|
1206
|
-
return [4 /*yield*/, insert(3,
|
|
1227
|
+
return [4 /*yield*/, insert(3, 'yael')];
|
|
1207
1228
|
case 3:
|
|
1208
1229
|
_a.sent();
|
|
1209
1230
|
return [2 /*return*/];
|
|
@@ -1235,7 +1256,7 @@ db_tests_setup_1.testAllDbs("entity order by works", function (_a) {
|
|
|
1235
1256
|
});
|
|
1236
1257
|
});
|
|
1237
1258
|
}, false);
|
|
1238
|
-
db_tests_setup_1.testAllDbs(
|
|
1259
|
+
db_tests_setup_1.testAllDbs('put with validation works', function (_a) {
|
|
1239
1260
|
var createData = _a.createData, remult = _a.remult;
|
|
1240
1261
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1241
1262
|
var count, type, c, api, t, d, x;
|
|
@@ -1255,7 +1276,7 @@ db_tests_setup_1.testAllDbs("put with validation works", function (_a) {
|
|
|
1255
1276
|
saving: function () {
|
|
1256
1277
|
if (!entityWithValidations_1.testConfiguration.restDbRunningOnServer)
|
|
1257
1278
|
count++;
|
|
1258
|
-
}
|
|
1279
|
+
},
|
|
1259
1280
|
})(type);
|
|
1260
1281
|
return [4 /*yield*/, createData(function (insert) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
1261
1282
|
switch (_a.label) {
|
|
@@ -1276,13 +1297,13 @@ db_tests_setup_1.testAllDbs("put with validation works", function (_a) {
|
|
|
1276
1297
|
}); };
|
|
1277
1298
|
count = 0;
|
|
1278
1299
|
return [4 /*yield*/, api.put(t, 1, {
|
|
1279
|
-
categoryName: 'noam 1'
|
|
1300
|
+
categoryName: 'noam 1',
|
|
1280
1301
|
})];
|
|
1281
1302
|
case 2:
|
|
1282
1303
|
_b.sent();
|
|
1283
1304
|
d.test();
|
|
1284
1305
|
return [4 /*yield*/, c.find({
|
|
1285
|
-
where: { id: 1 }
|
|
1306
|
+
where: { id: 1 },
|
|
1286
1307
|
})];
|
|
1287
1308
|
case 3:
|
|
1288
1309
|
x = _b.sent();
|
|
@@ -1293,7 +1314,7 @@ db_tests_setup_1.testAllDbs("put with validation works", function (_a) {
|
|
|
1293
1314
|
});
|
|
1294
1315
|
});
|
|
1295
1316
|
});
|
|
1296
|
-
db_tests_setup_1.testAll(
|
|
1317
|
+
db_tests_setup_1.testAll('saves correctly to db', function (_a) {
|
|
1297
1318
|
var createEntity = _a.createEntity;
|
|
1298
1319
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1299
1320
|
var type, r;
|
|
@@ -1311,7 +1332,7 @@ db_tests_setup_1.testAll("saves correctly to db", function (_a) {
|
|
|
1311
1332
|
}(remult3_1.EntityBase));
|
|
1312
1333
|
remult3_1.Entity('asdf', { allowApiCrud: true })(type);
|
|
1313
1334
|
remult3_1.Fields.number()(type.prototype, 'id');
|
|
1314
|
-
remult3_1.Fields.boolean()(type.prototype,
|
|
1335
|
+
remult3_1.Fields.boolean()(type.prototype, 'ok');
|
|
1315
1336
|
return [4 /*yield*/, createEntity(type)];
|
|
1316
1337
|
case 1:
|
|
1317
1338
|
r = (_b.sent()).create();
|
|
@@ -1345,7 +1366,7 @@ var autoIncrement = /** @class */ (function (_super) {
|
|
|
1345
1366
|
tslib_1.__metadata("design:type", Number)
|
|
1346
1367
|
], autoIncrement.prototype, "stam", void 0);
|
|
1347
1368
|
autoIncrement = tslib_1.__decorate([
|
|
1348
|
-
remult3_1.Entity(
|
|
1369
|
+
remult3_1.Entity('autoi', { allowApiCrud: true })
|
|
1349
1370
|
], autoIncrement);
|
|
1350
1371
|
return autoIncrement;
|
|
1351
1372
|
}(remult3_1.EntityBase));
|
|
@@ -1373,7 +1394,7 @@ db_tests_setup_1.testAll("auto increment can't be affected by insert or update",
|
|
|
1373
1394
|
});
|
|
1374
1395
|
});
|
|
1375
1396
|
}, false);
|
|
1376
|
-
db_tests_setup_1.testAll(
|
|
1397
|
+
db_tests_setup_1.testAll('Paging', function (_a) {
|
|
1377
1398
|
var createEntity = _a.createEntity;
|
|
1378
1399
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1379
1400
|
var s, _b, _c;
|
|
@@ -1383,11 +1404,11 @@ db_tests_setup_1.testAll("Paging", function (_a) {
|
|
|
1383
1404
|
case 1:
|
|
1384
1405
|
s = _d.sent();
|
|
1385
1406
|
_b = expect;
|
|
1386
|
-
return [4 /*yield*/, s.find({ limit: 3, orderBy: { myId:
|
|
1407
|
+
return [4 /*yield*/, s.find({ limit: 3, orderBy: { myId: 'asc' } })];
|
|
1387
1408
|
case 2:
|
|
1388
1409
|
_b.apply(void 0, [(_d.sent()).length]).toBe(3);
|
|
1389
1410
|
_c = expect;
|
|
1390
|
-
return [4 /*yield*/, s.find({ limit: 3, orderBy: { myId:
|
|
1411
|
+
return [4 /*yield*/, s.find({ limit: 3, orderBy: { myId: 'asc' }, page: 2 })];
|
|
1391
1412
|
case 3:
|
|
1392
1413
|
_c.apply(void 0, [(_d.sent()).length]).toBe(1);
|
|
1393
1414
|
return [2 /*return*/];
|
|
@@ -1395,7 +1416,7 @@ db_tests_setup_1.testAll("Paging", function (_a) {
|
|
|
1395
1416
|
});
|
|
1396
1417
|
});
|
|
1397
1418
|
}, false);
|
|
1398
|
-
db_tests_setup_1.testAll(
|
|
1419
|
+
db_tests_setup_1.testAll('filter', function (_a) {
|
|
1399
1420
|
var createEntity = _a.createEntity;
|
|
1400
1421
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1401
1422
|
var s, _b;
|
|
@@ -1410,7 +1431,7 @@ db_tests_setup_1.testAll("filter", function (_a) {
|
|
|
1410
1431
|
_b = expect;
|
|
1411
1432
|
return [4 /*yield*/, s.count({
|
|
1412
1433
|
a: 'z',
|
|
1413
|
-
$and: [testFilter.search('')]
|
|
1434
|
+
$and: [testFilter.search('')],
|
|
1414
1435
|
})];
|
|
1415
1436
|
case 3:
|
|
1416
1437
|
_b.apply(void 0, [_c.sent()]).toBe(0);
|
|
@@ -1419,7 +1440,105 @@ db_tests_setup_1.testAll("filter", function (_a) {
|
|
|
1419
1440
|
});
|
|
1420
1441
|
});
|
|
1421
1442
|
}, false);
|
|
1422
|
-
db_tests_setup_1.testAll(
|
|
1443
|
+
db_tests_setup_1.testAll('filter 2_1', function (_a) {
|
|
1444
|
+
var createEntity = _a.createEntity;
|
|
1445
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1446
|
+
var s, _b;
|
|
1447
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1448
|
+
switch (_c.label) {
|
|
1449
|
+
case 0: return [4 /*yield*/, createEntity(testFilter)];
|
|
1450
|
+
case 1:
|
|
1451
|
+
s = _c.sent();
|
|
1452
|
+
return [4 /*yield*/, s.insert({ id: 1, a: 'a', b: 'b', c: 'c' })];
|
|
1453
|
+
case 2:
|
|
1454
|
+
_c.sent();
|
|
1455
|
+
_b = expect;
|
|
1456
|
+
return [4 /*yield*/, s.count({
|
|
1457
|
+
$and: [{ a: { '!=': 'b' } }, { a: { '!=': 'c' } }],
|
|
1458
|
+
})];
|
|
1459
|
+
case 3:
|
|
1460
|
+
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
1461
|
+
return [2 /*return*/];
|
|
1462
|
+
}
|
|
1463
|
+
});
|
|
1464
|
+
});
|
|
1465
|
+
}, false);
|
|
1466
|
+
db_tests_setup_1.testAll('filter 2', function (_a) {
|
|
1467
|
+
var createEntity = _a.createEntity;
|
|
1468
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1469
|
+
var s, _b;
|
|
1470
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1471
|
+
switch (_c.label) {
|
|
1472
|
+
case 0: return [4 /*yield*/, createEntity(testFilter)];
|
|
1473
|
+
case 1:
|
|
1474
|
+
s = _c.sent();
|
|
1475
|
+
return [4 /*yield*/, s.insert({ id: 1, a: 'a', b: 'b', c: 'c' })];
|
|
1476
|
+
case 2:
|
|
1477
|
+
_c.sent();
|
|
1478
|
+
_b = expect;
|
|
1479
|
+
return [4 /*yield*/, s.count({
|
|
1480
|
+
$and: [testFilter.differentFrom('b'), testFilter.differentFrom('c')],
|
|
1481
|
+
})];
|
|
1482
|
+
case 3:
|
|
1483
|
+
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
1484
|
+
return [2 /*return*/];
|
|
1485
|
+
}
|
|
1486
|
+
});
|
|
1487
|
+
});
|
|
1488
|
+
}, false);
|
|
1489
|
+
db_tests_setup_1.testAll('filter 3', function (_a) {
|
|
1490
|
+
var createEntity = _a.createEntity;
|
|
1491
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1492
|
+
var s, _b;
|
|
1493
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1494
|
+
switch (_c.label) {
|
|
1495
|
+
case 0: return [4 /*yield*/, createEntity(testFilter)];
|
|
1496
|
+
case 1:
|
|
1497
|
+
s = _c.sent();
|
|
1498
|
+
return [4 /*yield*/, s.insert({ id: 1, a: 'a', b: 'b', c: 'c' })];
|
|
1499
|
+
case 2:
|
|
1500
|
+
_c.sent();
|
|
1501
|
+
_b = expect;
|
|
1502
|
+
return [4 /*yield*/, s.count({
|
|
1503
|
+
$and: [
|
|
1504
|
+
testFilter.differentFromArray(['x', 'b']),
|
|
1505
|
+
testFilter.differentFromArray(['y', 'c']),
|
|
1506
|
+
],
|
|
1507
|
+
})];
|
|
1508
|
+
case 3:
|
|
1509
|
+
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
1510
|
+
return [2 /*return*/];
|
|
1511
|
+
}
|
|
1512
|
+
});
|
|
1513
|
+
});
|
|
1514
|
+
}, false);
|
|
1515
|
+
db_tests_setup_1.testAll('filter 4', function (_a) {
|
|
1516
|
+
var createEntity = _a.createEntity;
|
|
1517
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1518
|
+
var s, _b;
|
|
1519
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1520
|
+
switch (_c.label) {
|
|
1521
|
+
case 0: return [4 /*yield*/, createEntity(testFilter)];
|
|
1522
|
+
case 1:
|
|
1523
|
+
s = _c.sent();
|
|
1524
|
+
return [4 /*yield*/, s.insert({ id: 1, a: 'a', b: 'b', c: 'c' })];
|
|
1525
|
+
case 2:
|
|
1526
|
+
_c.sent();
|
|
1527
|
+
_b = expect;
|
|
1528
|
+
return [4 /*yield*/, s.count({
|
|
1529
|
+
$and: [
|
|
1530
|
+
testFilter.differentFromObj({ str: 'b' }),
|
|
1531
|
+
testFilter.differentFromObj({ str: 'c' }),
|
|
1532
|
+
],
|
|
1533
|
+
})];
|
|
1534
|
+
case 3:
|
|
1535
|
+
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
1536
|
+
return [2 /*return*/];
|
|
1537
|
+
}
|
|
1538
|
+
});
|
|
1539
|
+
});
|
|
1540
|
+
}, false);
|
|
1541
|
+
db_tests_setup_1.testAll('large string field', function (_a) {
|
|
1423
1542
|
var createEntity = _a.createEntity;
|
|
1424
1543
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1425
1544
|
var s, r;
|
|
@@ -1428,13 +1547,13 @@ db_tests_setup_1.testAll("large string field", function (_a) {
|
|
|
1428
1547
|
case 0: return [4 /*yield*/, createEntity(stam)];
|
|
1429
1548
|
case 1:
|
|
1430
1549
|
s = _b.sent();
|
|
1431
|
-
return [4 /*yield*/, s.insert({ title:
|
|
1550
|
+
return [4 /*yield*/, s.insert({ title: '1234567890'.repeat(100) })];
|
|
1432
1551
|
case 2:
|
|
1433
1552
|
_b.sent();
|
|
1434
1553
|
return [4 /*yield*/, s.findFirst()];
|
|
1435
1554
|
case 3:
|
|
1436
1555
|
r = _b.sent();
|
|
1437
|
-
expect(r.title).toBe(
|
|
1556
|
+
expect(r.title).toBe('1234567890'.repeat(100));
|
|
1438
1557
|
return [2 /*return*/];
|
|
1439
1558
|
}
|
|
1440
1559
|
});
|
|
@@ -1448,14 +1567,28 @@ var testFilter = /** @class */ (function () {
|
|
|
1448
1567
|
this.c = '';
|
|
1449
1568
|
}
|
|
1450
1569
|
testFilter.search = filter_interfaces_1.Filter.createCustom(function (str, remult) { return ({
|
|
1451
|
-
$and: [
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
]
|
|
1457
|
-
}]
|
|
1570
|
+
$and: [
|
|
1571
|
+
{
|
|
1572
|
+
$or: [{ a: 'a' }, { b: 'a' }, { c: 'a' }],
|
|
1573
|
+
},
|
|
1574
|
+
],
|
|
1458
1575
|
}); });
|
|
1576
|
+
testFilter.differentFrom = filter_interfaces_1.Filter.createCustom(function (str) {
|
|
1577
|
+
return {
|
|
1578
|
+
a: { '!=': str },
|
|
1579
|
+
};
|
|
1580
|
+
});
|
|
1581
|
+
testFilter.differentFromObj = filter_interfaces_1.Filter.createCustom(function (_a) {
|
|
1582
|
+
var str = _a.str;
|
|
1583
|
+
return {
|
|
1584
|
+
a: { '!=': str },
|
|
1585
|
+
};
|
|
1586
|
+
});
|
|
1587
|
+
testFilter.differentFromArray = filter_interfaces_1.Filter.createCustom(function (str) {
|
|
1588
|
+
return {
|
|
1589
|
+
a: { '!=': str },
|
|
1590
|
+
};
|
|
1591
|
+
});
|
|
1459
1592
|
tslib_1.__decorate([
|
|
1460
1593
|
remult3_1.Fields.integer(),
|
|
1461
1594
|
tslib_1.__metadata("design:type", Number)
|
|
@@ -1473,7 +1606,7 @@ var testFilter = /** @class */ (function () {
|
|
|
1473
1606
|
tslib_1.__metadata("design:type", String)
|
|
1474
1607
|
], testFilter.prototype, "c", void 0);
|
|
1475
1608
|
testFilter = tslib_1.__decorate([
|
|
1476
|
-
remult3_1.Entity(
|
|
1609
|
+
remult3_1.Entity('testfilter', { allowApiCrud: true })
|
|
1477
1610
|
], testFilter);
|
|
1478
1611
|
return testFilter;
|
|
1479
1612
|
}());
|
|
@@ -1514,7 +1647,7 @@ var stam = /** @class */ (function (_super) {
|
|
|
1514
1647
|
tslib_1.__metadata("design:type", String)
|
|
1515
1648
|
], stam.prototype, "title", void 0);
|
|
1516
1649
|
stam = tslib_1.__decorate([
|
|
1517
|
-
remult3_1.Entity(
|
|
1650
|
+
remult3_1.Entity('a', { allowApiCrud: true })
|
|
1518
1651
|
], stam);
|
|
1519
1652
|
return stam;
|
|
1520
1653
|
}(remult3_1.EntityBase));
|
|
@@ -1567,7 +1700,7 @@ var tasksWithEnum = /** @class */ (function (_super) {
|
|
|
1567
1700
|
], tasksWithEnum.prototype, "priority", void 0);
|
|
1568
1701
|
tasksWithEnum = tslib_1.__decorate([
|
|
1569
1702
|
remult3_1.Entity('tasksWithEnum', {
|
|
1570
|
-
allowApiCrud: true
|
|
1703
|
+
allowApiCrud: true,
|
|
1571
1704
|
})
|
|
1572
1705
|
], tasksWithEnum);
|
|
1573
1706
|
return tasksWithEnum;
|
|
@@ -1579,7 +1712,7 @@ var Priority;
|
|
|
1579
1712
|
Priority[Priority["High"] = 1] = "High";
|
|
1580
1713
|
Priority[Priority["Critical"] = 2] = "Critical";
|
|
1581
1714
|
})(Priority = exports.Priority || (exports.Priority = {}));
|
|
1582
|
-
db_tests_setup_1.testAll(
|
|
1715
|
+
db_tests_setup_1.testAll('task with enum', function (_a) {
|
|
1583
1716
|
var createEntity = _a.createEntity;
|
|
1584
1717
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1585
1718
|
var r, item, _b, _c;
|
|
@@ -1590,7 +1723,7 @@ db_tests_setup_1.testAll("task with enum", function (_a) {
|
|
|
1590
1723
|
r = _d.sent();
|
|
1591
1724
|
return [4 /*yield*/, r.insert({
|
|
1592
1725
|
title: 'a',
|
|
1593
|
-
priority: Priority.Critical
|
|
1726
|
+
priority: Priority.Critical,
|
|
1594
1727
|
})];
|
|
1595
1728
|
case 2:
|
|
1596
1729
|
_d.sent();
|
|
@@ -1634,7 +1767,7 @@ var tasksWithStringEnum = /** @class */ (function (_super) {
|
|
|
1634
1767
|
], tasksWithStringEnum.prototype, "priority", void 0);
|
|
1635
1768
|
tasksWithStringEnum = tslib_1.__decorate([
|
|
1636
1769
|
remult3_1.Entity('tasksWithStringEnum', {
|
|
1637
|
-
allowApiCrud: true
|
|
1770
|
+
allowApiCrud: true,
|
|
1638
1771
|
})
|
|
1639
1772
|
], tasksWithStringEnum);
|
|
1640
1773
|
return tasksWithStringEnum;
|
|
@@ -1646,7 +1779,7 @@ var PriorityWithString;
|
|
|
1646
1779
|
PriorityWithString["High"] = "High";
|
|
1647
1780
|
PriorityWithString["Critical"] = "Critical";
|
|
1648
1781
|
})(PriorityWithString = exports.PriorityWithString || (exports.PriorityWithString = {}));
|
|
1649
|
-
db_tests_setup_1.testAll(
|
|
1782
|
+
db_tests_setup_1.testAll('task with enum string', function (_a) {
|
|
1650
1783
|
var createEntity = _a.createEntity;
|
|
1651
1784
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1652
1785
|
var r, item, _b, _c;
|
|
@@ -1657,7 +1790,7 @@ db_tests_setup_1.testAll("task with enum string", function (_a) {
|
|
|
1657
1790
|
r = _d.sent();
|
|
1658
1791
|
return [4 /*yield*/, r.insert({
|
|
1659
1792
|
title: 'a',
|
|
1660
|
-
priority: PriorityWithString.Critical
|
|
1793
|
+
priority: PriorityWithString.Critical,
|
|
1661
1794
|
})];
|
|
1662
1795
|
case 2:
|
|
1663
1796
|
_d.sent();
|
|
@@ -1678,59 +1811,152 @@ db_tests_setup_1.testAll("task with enum string", function (_a) {
|
|
|
1678
1811
|
});
|
|
1679
1812
|
});
|
|
1680
1813
|
});
|
|
1681
|
-
db_tests_setup_1.testAll(
|
|
1814
|
+
db_tests_setup_1.testAll('test transaction rollback', function (_a) {
|
|
1682
1815
|
var db = _a.db, createEntity = _a.createEntity;
|
|
1683
1816
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1684
|
-
var fail, r,
|
|
1685
|
-
return tslib_1.__generator(this, function (
|
|
1686
|
-
switch (
|
|
1817
|
+
var fail, r, err_3, _b;
|
|
1818
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1819
|
+
switch (_c.label) {
|
|
1687
1820
|
case 0:
|
|
1688
1821
|
fail = true;
|
|
1689
1822
|
return [4 /*yield*/, createEntity(stam)];
|
|
1690
1823
|
case 1:
|
|
1691
|
-
r =
|
|
1692
|
-
return [4 /*yield*/, r.insert({ title:
|
|
1824
|
+
r = _c.sent();
|
|
1825
|
+
return [4 /*yield*/, r.insert({ title: 'task b', id: 1 })];
|
|
1693
1826
|
case 2:
|
|
1694
|
-
|
|
1695
|
-
|
|
1827
|
+
_c.sent();
|
|
1828
|
+
_c.label = 3;
|
|
1696
1829
|
case 3:
|
|
1697
|
-
|
|
1830
|
+
_c.trys.push([3, 5, , 6]);
|
|
1698
1831
|
return [4 /*yield*/, db.transaction(function (db) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1699
1832
|
var remultWithTransaction, _a;
|
|
1700
1833
|
return tslib_1.__generator(this, function (_b) {
|
|
1701
1834
|
switch (_b.label) {
|
|
1702
1835
|
case 0:
|
|
1703
1836
|
remultWithTransaction = new context_1.Remult(db).repo(stam);
|
|
1704
|
-
return [4 /*yield*/, remultWithTransaction.insert({ title:
|
|
1837
|
+
return [4 /*yield*/, remultWithTransaction.insert({ title: 'task a', id: 2 })];
|
|
1705
1838
|
case 1:
|
|
1706
1839
|
_b.sent();
|
|
1707
1840
|
_a = expect;
|
|
1708
1841
|
return [4 /*yield*/, remultWithTransaction.count()];
|
|
1709
1842
|
case 2:
|
|
1710
1843
|
_a.apply(void 0, [_b.sent()]).toBe(2);
|
|
1711
|
-
throw
|
|
1844
|
+
throw 'error';
|
|
1712
1845
|
}
|
|
1713
1846
|
});
|
|
1714
1847
|
}); })];
|
|
1715
1848
|
case 4:
|
|
1716
|
-
|
|
1849
|
+
_c.sent();
|
|
1717
1850
|
fail = false;
|
|
1718
1851
|
return [3 /*break*/, 6];
|
|
1719
1852
|
case 5:
|
|
1720
|
-
|
|
1853
|
+
err_3 = _c.sent();
|
|
1854
|
+
expect(err_3).toBe('error');
|
|
1721
1855
|
return [3 /*break*/, 6];
|
|
1722
1856
|
case 6:
|
|
1723
|
-
|
|
1857
|
+
_b = expect;
|
|
1724
1858
|
return [4 /*yield*/, r.count()];
|
|
1725
1859
|
case 7:
|
|
1726
|
-
|
|
1860
|
+
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
1727
1861
|
expect(fail).toBe(true);
|
|
1728
1862
|
return [2 /*return*/];
|
|
1729
1863
|
}
|
|
1730
1864
|
});
|
|
1731
1865
|
});
|
|
1732
|
-
}, false, {
|
|
1733
|
-
|
|
1866
|
+
}, false, {
|
|
1867
|
+
exclude: [
|
|
1868
|
+
db_tests_setup_1.TestDbs.inMemory,
|
|
1869
|
+
db_tests_setup_1.TestDbs.mongoNoTrans,
|
|
1870
|
+
db_tests_setup_1.TestDbs.restDataProvider,
|
|
1871
|
+
db_tests_setup_1.TestDbs.webSql,
|
|
1872
|
+
],
|
|
1873
|
+
});
|
|
1874
|
+
db_tests_setup_1.testAll('transactions', function (_a) {
|
|
1875
|
+
var db = _a.db, createEntity = _a.createEntity;
|
|
1876
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1877
|
+
var x;
|
|
1878
|
+
return tslib_1.__generator(this, function (_b) {
|
|
1879
|
+
switch (_b.label) {
|
|
1880
|
+
case 0: return [4 /*yield*/, createEntity(remult_3_entities_1.Categories)];
|
|
1881
|
+
case 1:
|
|
1882
|
+
x = _b.sent();
|
|
1883
|
+
return [4 /*yield*/, db.transaction(function (db) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1884
|
+
var remult, _a;
|
|
1885
|
+
return tslib_1.__generator(this, function (_b) {
|
|
1886
|
+
switch (_b.label) {
|
|
1887
|
+
case 0:
|
|
1888
|
+
remult = new context_1.Remult(db);
|
|
1889
|
+
_a = expect;
|
|
1890
|
+
return [4 /*yield*/, remult.repo(remult_3_entities_1.Categories).count()];
|
|
1891
|
+
case 1:
|
|
1892
|
+
_a.apply(void 0, [_b.sent()]).toBe(0);
|
|
1893
|
+
return [2 /*return*/];
|
|
1894
|
+
}
|
|
1895
|
+
});
|
|
1896
|
+
}); })];
|
|
1897
|
+
case 2:
|
|
1898
|
+
_b.sent();
|
|
1899
|
+
return [2 /*return*/];
|
|
1900
|
+
}
|
|
1901
|
+
});
|
|
1902
|
+
});
|
|
1903
|
+
}, false, {
|
|
1904
|
+
exclude: [db_tests_setup_1.TestDbs.mongoNoTrans, db_tests_setup_1.TestDbs.restDataProvider, db_tests_setup_1.TestDbs.webSql],
|
|
1905
|
+
});
|
|
1906
|
+
db_tests_setup_1.testAll('transactions 1', function (_a) {
|
|
1907
|
+
var db = _a.db, createEntity = _a.createEntity;
|
|
1908
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1909
|
+
var x, err_4, _b;
|
|
1910
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1911
|
+
switch (_c.label) {
|
|
1912
|
+
case 0: return [4 /*yield*/, createEntity(remult_3_entities_1.Categories)];
|
|
1913
|
+
case 1:
|
|
1914
|
+
x = _c.sent();
|
|
1915
|
+
_c.label = 2;
|
|
1916
|
+
case 2:
|
|
1917
|
+
_c.trys.push([2, 4, , 5]);
|
|
1918
|
+
return [4 /*yield*/, db.transaction(function (db) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1919
|
+
var remult, _a;
|
|
1920
|
+
return tslib_1.__generator(this, function (_b) {
|
|
1921
|
+
switch (_b.label) {
|
|
1922
|
+
case 0:
|
|
1923
|
+
remult = new context_1.Remult(db);
|
|
1924
|
+
return [4 /*yield*/, remult.repo(remult_3_entities_1.Categories).insert({ categoryName: 'testing' })];
|
|
1925
|
+
case 1:
|
|
1926
|
+
_b.sent();
|
|
1927
|
+
_a = expect;
|
|
1928
|
+
return [4 /*yield*/, remult.repo(remult_3_entities_1.Categories).count()];
|
|
1929
|
+
case 2:
|
|
1930
|
+
_a.apply(void 0, [_b.sent()]).toBe(1);
|
|
1931
|
+
throw 'Fail';
|
|
1932
|
+
}
|
|
1933
|
+
});
|
|
1934
|
+
}); })];
|
|
1935
|
+
case 3:
|
|
1936
|
+
_c.sent();
|
|
1937
|
+
return [3 /*break*/, 5];
|
|
1938
|
+
case 4:
|
|
1939
|
+
err_4 = _c.sent();
|
|
1940
|
+
expect(err_4).toBe('Fail');
|
|
1941
|
+
return [3 /*break*/, 5];
|
|
1942
|
+
case 5:
|
|
1943
|
+
_b = expect;
|
|
1944
|
+
return [4 /*yield*/, x.count()];
|
|
1945
|
+
case 6:
|
|
1946
|
+
_b.apply(void 0, [_c.sent()]).toBe(0);
|
|
1947
|
+
return [2 /*return*/];
|
|
1948
|
+
}
|
|
1949
|
+
});
|
|
1950
|
+
});
|
|
1951
|
+
}, false, {
|
|
1952
|
+
exclude: [
|
|
1953
|
+
db_tests_setup_1.TestDbs.inMemory,
|
|
1954
|
+
db_tests_setup_1.TestDbs.mongoNoTrans,
|
|
1955
|
+
db_tests_setup_1.TestDbs.restDataProvider,
|
|
1956
|
+
db_tests_setup_1.TestDbs.webSql,
|
|
1957
|
+
],
|
|
1958
|
+
});
|
|
1959
|
+
db_tests_setup_1.testAll('test date', function (_a) {
|
|
1734
1960
|
var createEntity = _a.createEntity;
|
|
1735
1961
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1736
1962
|
var e, r, item;
|
|
@@ -1744,9 +1970,9 @@ db_tests_setup_1.testAll("test date", function (_a) {
|
|
|
1744
1970
|
}
|
|
1745
1971
|
return class_4;
|
|
1746
1972
|
}());
|
|
1747
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
1973
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('tdate', { allowApiCrud: true }), {
|
|
1748
1974
|
a: remult3_1.Fields.number(),
|
|
1749
|
-
d: remult3_1.Fields.date()
|
|
1975
|
+
d: remult3_1.Fields.date(),
|
|
1750
1976
|
});
|
|
1751
1977
|
return [4 /*yield*/, createEntity(e)];
|
|
1752
1978
|
case 1:
|
|
@@ -1763,7 +1989,7 @@ db_tests_setup_1.testAll("test date", function (_a) {
|
|
|
1763
1989
|
});
|
|
1764
1990
|
});
|
|
1765
1991
|
}, false);
|
|
1766
|
-
db_tests_setup_1.testAll(
|
|
1992
|
+
db_tests_setup_1.testAll('test live query storage', function (_a) {
|
|
1767
1993
|
var db = _a.db, remult = _a.remult, createEntity = _a.createEntity;
|
|
1768
1994
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1769
1995
|
var x, id, _b;
|
|
@@ -1780,12 +2006,12 @@ db_tests_setup_1.testAll("test live query storage", function (_a) {
|
|
|
1780
2006
|
_c.label = 3;
|
|
1781
2007
|
case 3:
|
|
1782
2008
|
id = uuid_1.v4();
|
|
1783
|
-
return [4 /*yield*/, x.add({ id: id, entityKey: 'x', data:
|
|
2009
|
+
return [4 /*yield*/, x.add({ id: id, entityKey: 'x', data: 'noam' })];
|
|
1784
2010
|
case 4:
|
|
1785
2011
|
_c.sent();
|
|
1786
|
-
return [4 /*yield*/, x.forEach(
|
|
2012
|
+
return [4 /*yield*/, x.forEach('x', function (args) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1787
2013
|
return tslib_1.__generator(this, function (_a) {
|
|
1788
|
-
expect(args.query.data).toBe(
|
|
2014
|
+
expect(args.query.data).toBe('noam');
|
|
1789
2015
|
return [2 /*return*/];
|
|
1790
2016
|
});
|
|
1791
2017
|
}); })];
|
|
@@ -1794,15 +2020,15 @@ db_tests_setup_1.testAll("test live query storage", function (_a) {
|
|
|
1794
2020
|
_b = expect;
|
|
1795
2021
|
return [4 /*yield*/, x.keepAliveAndReturnUnknownQueryIds([id])];
|
|
1796
2022
|
case 6:
|
|
1797
|
-
_b.apply(void 0, [
|
|
2023
|
+
_b.apply(void 0, [_c.sent()]).toEqual([]);
|
|
1798
2024
|
return [2 /*return*/];
|
|
1799
2025
|
}
|
|
1800
2026
|
});
|
|
1801
2027
|
});
|
|
1802
2028
|
}, false, {
|
|
1803
|
-
exclude: [db_tests_setup_1.TestDbs.restDataProvider]
|
|
2029
|
+
exclude: [db_tests_setup_1.TestDbs.restDataProvider],
|
|
1804
2030
|
});
|
|
1805
|
-
db_tests_setup_1.testAll(
|
|
2031
|
+
db_tests_setup_1.testAll('test contains with names with casing', function (_a) {
|
|
1806
2032
|
var createEntity = _a.createEntity;
|
|
1807
2033
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1808
2034
|
var e, r, item;
|
|
@@ -1816,28 +2042,28 @@ db_tests_setup_1.testAll("test contains with names with casing", function (_a) {
|
|
|
1816
2042
|
}
|
|
1817
2043
|
return class_5;
|
|
1818
2044
|
}());
|
|
1819
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2045
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testNameContains', { allowApiCrud: true }), {
|
|
1820
2046
|
a: remult3_1.Fields.number(),
|
|
1821
|
-
firstName: remult3_1.Fields.string()
|
|
2047
|
+
firstName: remult3_1.Fields.string(),
|
|
1822
2048
|
});
|
|
1823
2049
|
return [4 /*yield*/, createEntity(e)];
|
|
1824
2050
|
case 1:
|
|
1825
2051
|
r = _b.sent();
|
|
1826
|
-
return [4 /*yield*/, r.insert({ a: 1, firstName:
|
|
2052
|
+
return [4 /*yield*/, r.insert({ a: 1, firstName: 'noam' })];
|
|
1827
2053
|
case 2:
|
|
1828
2054
|
_b.sent();
|
|
1829
|
-
return [4 /*yield*/, r.findFirst({ firstName: { $contains:
|
|
2055
|
+
return [4 /*yield*/, r.findFirst({ firstName: { $contains: 'oa' } })];
|
|
1830
2056
|
case 3:
|
|
1831
2057
|
item = _b.sent();
|
|
1832
|
-
expect(item.firstName).toBe(
|
|
2058
|
+
expect(item.firstName).toBe('noam');
|
|
1833
2059
|
return [2 /*return*/];
|
|
1834
2060
|
}
|
|
1835
2061
|
});
|
|
1836
2062
|
});
|
|
1837
2063
|
}, false, {
|
|
1838
|
-
exclude: [db_tests_setup_1.TestDbs.mongo]
|
|
2064
|
+
exclude: [db_tests_setup_1.TestDbs.mongo, db_tests_setup_1.TestDbs.mongoNoTrans],
|
|
1839
2065
|
});
|
|
1840
|
-
db_tests_setup_1.testAll(
|
|
2066
|
+
db_tests_setup_1.testAll('test live query storage', function (x) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1841
2067
|
var s, entityKey, id;
|
|
1842
2068
|
return tslib_1.__generator(this, function (_a) {
|
|
1843
2069
|
switch (_a.label) {
|
|
@@ -1848,7 +2074,7 @@ db_tests_setup_1.testAll("test live query storage", function (x) { return tslib_
|
|
|
1848
2074
|
return [4 /*yield*/, s.ensureSchema()];
|
|
1849
2075
|
case 2:
|
|
1850
2076
|
_a.sent();
|
|
1851
|
-
entityKey =
|
|
2077
|
+
entityKey = 'ek';
|
|
1852
2078
|
id = 'id';
|
|
1853
2079
|
return [4 /*yield*/, s.add({ id: id, entityKey: entityKey, data: {} })];
|
|
1854
2080
|
case 3:
|
|
@@ -1873,7 +2099,7 @@ db_tests_setup_1.testAll("test live query storage", function (x) { return tslib_
|
|
|
1873
2099
|
}
|
|
1874
2100
|
});
|
|
1875
2101
|
}); }, false, { exclude: [db_tests_setup_1.TestDbs.restDataProvider] });
|
|
1876
|
-
db_tests_setup_1.testAll(
|
|
2102
|
+
db_tests_setup_1.testAll('test json structure using object', function (_a) {
|
|
1877
2103
|
var createEntity = _a.createEntity;
|
|
1878
2104
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1879
2105
|
var e, r, item;
|
|
@@ -1886,20 +2112,20 @@ db_tests_setup_1.testAll("test json structure using object", function (_a) {
|
|
|
1886
2112
|
}
|
|
1887
2113
|
return class_6;
|
|
1888
2114
|
}());
|
|
1889
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2115
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonStructure', { allowApiCrud: true }), {
|
|
1890
2116
|
a: remult3_1.Fields.number(),
|
|
1891
|
-
person: remult3_1.Fields.object()
|
|
2117
|
+
person: remult3_1.Fields.object(),
|
|
1892
2118
|
});
|
|
1893
2119
|
return [4 /*yield*/, createEntity(e)];
|
|
1894
2120
|
case 1:
|
|
1895
2121
|
r = _b.sent();
|
|
1896
|
-
return [4 /*yield*/, r.insert({ a: 1, person: { firstName:
|
|
2122
|
+
return [4 /*yield*/, r.insert({ a: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1897
2123
|
case 2:
|
|
1898
2124
|
_b.sent();
|
|
1899
2125
|
return [4 /*yield*/, r.findFirst()];
|
|
1900
2126
|
case 3:
|
|
1901
2127
|
item = _b.sent();
|
|
1902
|
-
expect(item.person).toEqual({ firstName:
|
|
2128
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1903
2129
|
return [2 /*return*/];
|
|
1904
2130
|
}
|
|
1905
2131
|
});
|
|
@@ -1908,7 +2134,7 @@ db_tests_setup_1.testAll("test json structure using object", function (_a) {
|
|
|
1908
2134
|
var testObject = /** @class */ (function () {
|
|
1909
2135
|
function testObject() {
|
|
1910
2136
|
this.id = 0;
|
|
1911
|
-
this.person = { firstName:
|
|
2137
|
+
this.person = { firstName: 'noam', lastName: 'honig' };
|
|
1912
2138
|
}
|
|
1913
2139
|
tslib_1.__decorate([
|
|
1914
2140
|
remult3_1.Fields.integer(),
|
|
@@ -1919,11 +2145,11 @@ var testObject = /** @class */ (function () {
|
|
|
1919
2145
|
tslib_1.__metadata("design:type", Object)
|
|
1920
2146
|
], testObject.prototype, "person", void 0);
|
|
1921
2147
|
testObject = tslib_1.__decorate([
|
|
1922
|
-
remult3_1.Entity(
|
|
2148
|
+
remult3_1.Entity('testObject', { allowApiCrud: true })
|
|
1923
2149
|
], testObject);
|
|
1924
2150
|
return testObject;
|
|
1925
2151
|
}());
|
|
1926
|
-
db_tests_setup_1.testAll(
|
|
2152
|
+
db_tests_setup_1.testAll('test object entity', function (_a) {
|
|
1927
2153
|
var createEntity = _a.createEntity;
|
|
1928
2154
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1929
2155
|
var r, item;
|
|
@@ -1932,13 +2158,13 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1932
2158
|
case 0: return [4 /*yield*/, createEntity(testObject)];
|
|
1933
2159
|
case 1:
|
|
1934
2160
|
r = _b.sent();
|
|
1935
|
-
return [4 /*yield*/, r.insert({ id: 1, person: { firstName:
|
|
2161
|
+
return [4 /*yield*/, r.insert({ id: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1936
2162
|
case 2:
|
|
1937
2163
|
_b.sent();
|
|
1938
2164
|
return [4 /*yield*/, r.findFirst()];
|
|
1939
2165
|
case 3:
|
|
1940
2166
|
item = _b.sent();
|
|
1941
|
-
expect(item.person).toEqual({ firstName:
|
|
2167
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1942
2168
|
return [2 /*return*/];
|
|
1943
2169
|
}
|
|
1944
2170
|
});
|
|
@@ -1947,7 +2173,7 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1947
2173
|
var testObjectJson = /** @class */ (function () {
|
|
1948
2174
|
function testObjectJson() {
|
|
1949
2175
|
this.id = 0;
|
|
1950
|
-
this.person = { firstName:
|
|
2176
|
+
this.person = { firstName: 'noam', lastName: 'honig' };
|
|
1951
2177
|
}
|
|
1952
2178
|
tslib_1.__decorate([
|
|
1953
2179
|
remult3_1.Fields.integer(),
|
|
@@ -1958,11 +2184,11 @@ var testObjectJson = /** @class */ (function () {
|
|
|
1958
2184
|
tslib_1.__metadata("design:type", Object)
|
|
1959
2185
|
], testObjectJson.prototype, "person", void 0);
|
|
1960
2186
|
testObjectJson = tslib_1.__decorate([
|
|
1961
|
-
remult3_1.Entity(
|
|
2187
|
+
remult3_1.Entity('testObjectJson', { allowApiCrud: true })
|
|
1962
2188
|
], testObjectJson);
|
|
1963
2189
|
return testObjectJson;
|
|
1964
2190
|
}());
|
|
1965
|
-
db_tests_setup_1.testAll(
|
|
2191
|
+
db_tests_setup_1.testAll('test object entity', function (_a) {
|
|
1966
2192
|
var createEntity = _a.createEntity;
|
|
1967
2193
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1968
2194
|
var r, item;
|
|
@@ -1971,19 +2197,19 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1971
2197
|
case 0: return [4 /*yield*/, createEntity(testObjectJson)];
|
|
1972
2198
|
case 1:
|
|
1973
2199
|
r = _b.sent();
|
|
1974
|
-
return [4 /*yield*/, r.insert({ id: 1, person: { firstName:
|
|
2200
|
+
return [4 /*yield*/, r.insert({ id: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1975
2201
|
case 2:
|
|
1976
2202
|
_b.sent();
|
|
1977
2203
|
return [4 /*yield*/, r.findFirst()];
|
|
1978
2204
|
case 3:
|
|
1979
2205
|
item = _b.sent();
|
|
1980
|
-
expect(item.person).toEqual({ firstName:
|
|
2206
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1981
2207
|
return [2 /*return*/];
|
|
1982
2208
|
}
|
|
1983
2209
|
});
|
|
1984
2210
|
});
|
|
1985
2211
|
}, false);
|
|
1986
|
-
db_tests_setup_1.testAll(
|
|
2212
|
+
db_tests_setup_1.testAll('test json structure', function (_a) {
|
|
1987
2213
|
var createEntity = _a.createEntity;
|
|
1988
2214
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1989
2215
|
var e, r, item;
|
|
@@ -1996,26 +2222,26 @@ db_tests_setup_1.testAll("test json structure", function (_a) {
|
|
|
1996
2222
|
}
|
|
1997
2223
|
return class_7;
|
|
1998
2224
|
}());
|
|
1999
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2225
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType', { allowApiCrud: true }), {
|
|
2000
2226
|
a: remult3_1.Fields.number(),
|
|
2001
|
-
person: remult3_1.Fields.json()
|
|
2227
|
+
person: remult3_1.Fields.json(),
|
|
2002
2228
|
});
|
|
2003
2229
|
return [4 /*yield*/, createEntity(e)];
|
|
2004
2230
|
case 1:
|
|
2005
2231
|
r = _b.sent();
|
|
2006
|
-
return [4 /*yield*/, r.insert({ a: 1, person: { firstName:
|
|
2232
|
+
return [4 /*yield*/, r.insert({ a: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
2007
2233
|
case 2:
|
|
2008
2234
|
_b.sent();
|
|
2009
2235
|
return [4 /*yield*/, r.findFirst()];
|
|
2010
2236
|
case 3:
|
|
2011
2237
|
item = _b.sent();
|
|
2012
|
-
expect(item.person).toEqual({ firstName:
|
|
2238
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
2013
2239
|
return [2 /*return*/];
|
|
2014
2240
|
}
|
|
2015
2241
|
});
|
|
2016
2242
|
});
|
|
2017
2243
|
}, false);
|
|
2018
|
-
db_tests_setup_1.testAll(
|
|
2244
|
+
db_tests_setup_1.testAll('test json structure 2', function (_a) {
|
|
2019
2245
|
var createEntity = _a.createEntity;
|
|
2020
2246
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2021
2247
|
var e, r, item;
|
|
@@ -2029,26 +2255,26 @@ db_tests_setup_1.testAll("test json structure 2", function (_a) {
|
|
|
2029
2255
|
}
|
|
2030
2256
|
return class_8;
|
|
2031
2257
|
}());
|
|
2032
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2258
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType2', { allowApiCrud: true }), {
|
|
2033
2259
|
a: remult3_1.Fields.number(),
|
|
2034
|
-
items: remult3_1.Fields.json()
|
|
2260
|
+
items: remult3_1.Fields.json(),
|
|
2035
2261
|
});
|
|
2036
2262
|
return [4 /*yield*/, createEntity(e)];
|
|
2037
2263
|
case 1:
|
|
2038
2264
|
r = _b.sent();
|
|
2039
|
-
return [4 /*yield*/, r.insert({ a: 1, items: [
|
|
2265
|
+
return [4 /*yield*/, r.insert({ a: 1, items: ['a', 'b'] })];
|
|
2040
2266
|
case 2:
|
|
2041
2267
|
_b.sent();
|
|
2042
2268
|
return [4 /*yield*/, r.findFirst()];
|
|
2043
2269
|
case 3:
|
|
2044
2270
|
item = _b.sent();
|
|
2045
|
-
expect(item.items).toEqual([
|
|
2271
|
+
expect(item.items).toEqual(['a', 'b']);
|
|
2046
2272
|
return [2 /*return*/];
|
|
2047
2273
|
}
|
|
2048
2274
|
});
|
|
2049
2275
|
});
|
|
2050
|
-
}, false
|
|
2051
|
-
db_tests_setup_1.testAll(
|
|
2276
|
+
}, false);
|
|
2277
|
+
db_tests_setup_1.testAll('test json structure 3', function (_a) {
|
|
2052
2278
|
var createEntity = _a.createEntity;
|
|
2053
2279
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2054
2280
|
var e, r, item, _b;
|
|
@@ -2062,22 +2288,22 @@ db_tests_setup_1.testAll("test json structure 3", function (_a) {
|
|
|
2062
2288
|
}
|
|
2063
2289
|
return class_9;
|
|
2064
2290
|
}());
|
|
2065
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2291
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType3', { allowApiCrud: true }), {
|
|
2066
2292
|
a: remult3_1.Fields.number(),
|
|
2067
|
-
items: remult3_1.Fields.object()
|
|
2293
|
+
items: remult3_1.Fields.object(),
|
|
2068
2294
|
});
|
|
2069
2295
|
return [4 /*yield*/, createEntity(e)];
|
|
2070
2296
|
case 1:
|
|
2071
2297
|
r = _c.sent();
|
|
2072
|
-
return [4 /*yield*/, r.insert({ a: 1, items: [
|
|
2298
|
+
return [4 /*yield*/, r.insert({ a: 1, items: ['a', 'b'] })];
|
|
2073
2299
|
case 2:
|
|
2074
2300
|
_c.sent();
|
|
2075
2301
|
return [4 /*yield*/, r.findFirst()];
|
|
2076
2302
|
case 3:
|
|
2077
2303
|
item = _c.sent();
|
|
2078
|
-
expect(item.items).toEqual([
|
|
2304
|
+
expect(item.items).toEqual(['a', 'b']);
|
|
2079
2305
|
_b = expect;
|
|
2080
|
-
return [4 /*yield*/, r.count({ items: { $contains:
|
|
2306
|
+
return [4 /*yield*/, r.count({ items: { $contains: 'b' } })];
|
|
2081
2307
|
case 4:
|
|
2082
2308
|
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
2083
2309
|
return [2 /*return*/];
|
|
@@ -2085,5 +2311,69 @@ db_tests_setup_1.testAll("test json structure 3", function (_a) {
|
|
|
2085
2311
|
});
|
|
2086
2312
|
});
|
|
2087
2313
|
}, false, {
|
|
2088
|
-
exclude: [db_tests_setup_1.TestDbs.mongo]
|
|
2314
|
+
exclude: [db_tests_setup_1.TestDbs.mongo, db_tests_setup_1.TestDbs.mongoNoTrans],
|
|
2089
2315
|
});
|
|
2316
|
+
db_tests_setup_1.testAll('test relation to number id', function (_a) {
|
|
2317
|
+
var createEntity = _a.createEntity;
|
|
2318
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2319
|
+
var category, task, catRepo, taskRepo, cat, _b, _c, _d;
|
|
2320
|
+
return tslib_1.__generator(this, function (_e) {
|
|
2321
|
+
switch (_e.label) {
|
|
2322
|
+
case 0:
|
|
2323
|
+
category = /** @class */ (function () {
|
|
2324
|
+
function class_10() {
|
|
2325
|
+
this.id = 0;
|
|
2326
|
+
this.name = '';
|
|
2327
|
+
}
|
|
2328
|
+
return class_10;
|
|
2329
|
+
}());
|
|
2330
|
+
DecoratorReplacer_1.describeClass(category, remult3_1.Entity('rel_ID_categories', { allowApiCrud: true }), {
|
|
2331
|
+
id: remult3_1.Fields.autoIncrement(),
|
|
2332
|
+
name: remult3_1.Fields.string(),
|
|
2333
|
+
});
|
|
2334
|
+
task = /** @class */ (function () {
|
|
2335
|
+
function class_11() {
|
|
2336
|
+
this.id = 0;
|
|
2337
|
+
this.title = '';
|
|
2338
|
+
}
|
|
2339
|
+
return class_11;
|
|
2340
|
+
}());
|
|
2341
|
+
DecoratorReplacer_1.describeClass(task, remult3_1.Entity('rel_ID_task', { allowApiCrud: true }), {
|
|
2342
|
+
id: remult3_1.Fields.autoIncrement(),
|
|
2343
|
+
title: remult3_1.Fields.string(),
|
|
2344
|
+
category: remult3_1.Field(function () { return category; }),
|
|
2345
|
+
});
|
|
2346
|
+
return [4 /*yield*/, createEntity(category)];
|
|
2347
|
+
case 1:
|
|
2348
|
+
catRepo = _e.sent();
|
|
2349
|
+
return [4 /*yield*/, createEntity(task)];
|
|
2350
|
+
case 2:
|
|
2351
|
+
taskRepo = _e.sent();
|
|
2352
|
+
return [4 /*yield*/, catRepo.insert([{ name: 'cat0' }, { name: 'cat1' }])];
|
|
2353
|
+
case 3:
|
|
2354
|
+
cat = _e.sent();
|
|
2355
|
+
return [4 /*yield*/, taskRepo.insert([
|
|
2356
|
+
{ title: 't1', category: cat[0] },
|
|
2357
|
+
{ title: 't2', category: cat[0] },
|
|
2358
|
+
{ title: 't3', category: cat[1] },
|
|
2359
|
+
])];
|
|
2360
|
+
case 4:
|
|
2361
|
+
_e.sent();
|
|
2362
|
+
expect(taskRepo.fields.category.valueConverter.fieldTypeInDb).toBe(valueConverters_1.ValueConverters.Integer.fieldTypeInDb);
|
|
2363
|
+
_b = expect;
|
|
2364
|
+
return [4 /*yield*/, taskRepo.count({ category: cat[0] })];
|
|
2365
|
+
case 5:
|
|
2366
|
+
_b.apply(void 0, [_e.sent()]).toBe(2);
|
|
2367
|
+
_c = expect;
|
|
2368
|
+
return [4 /*yield*/, taskRepo.count({ category: cat[1] })];
|
|
2369
|
+
case 6:
|
|
2370
|
+
_c.apply(void 0, [_e.sent()]).toBe(1);
|
|
2371
|
+
_d = expect;
|
|
2372
|
+
return [4 /*yield*/, taskRepo.count({ category: { $id: cat[0].id } })];
|
|
2373
|
+
case 7:
|
|
2374
|
+
_d.apply(void 0, [_e.sent()]).toBe(2);
|
|
2375
|
+
return [2 /*return*/];
|
|
2376
|
+
}
|
|
2377
|
+
});
|
|
2378
|
+
});
|
|
2379
|
+
}, false, { exclude: [db_tests_setup_1.TestDbs.mongo, db_tests_setup_1.TestDbs.mongoNoTrans] });
|