remult 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +36 -27
- 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 +1 -1
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +47 -38
- 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 +8 -8
- package/esm/src/shared-tests/db-tests-setup.js +10 -10
- package/esm/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/esm/src/shared-tests/db-tests.db-tests.js +279 -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 +14 -14
- 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 +33 -23
- 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 +1 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +40 -31
- 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 +8 -8
- package/src/shared-tests/db-tests-setup.js +6 -6
- package/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/src/shared-tests/db-tests.db-tests.js +350 -153
- 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 +8 -8
- 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,7 +1811,7 @@ 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
1817
|
var fail, r, _b, _c;
|
|
@@ -1689,7 +1822,7 @@ db_tests_setup_1.testAll("test transaction rollback", function (_a) {
|
|
|
1689
1822
|
return [4 /*yield*/, createEntity(stam)];
|
|
1690
1823
|
case 1:
|
|
1691
1824
|
r = _d.sent();
|
|
1692
|
-
return [4 /*yield*/, r.insert({ title:
|
|
1825
|
+
return [4 /*yield*/, r.insert({ title: 'task b', id: 1 })];
|
|
1693
1826
|
case 2:
|
|
1694
1827
|
_d.sent();
|
|
1695
1828
|
_d.label = 3;
|
|
@@ -1701,14 +1834,14 @@ db_tests_setup_1.testAll("test transaction rollback", function (_a) {
|
|
|
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
|
}); })];
|
|
@@ -1730,7 +1863,7 @@ db_tests_setup_1.testAll("test transaction rollback", function (_a) {
|
|
|
1730
1863
|
});
|
|
1731
1864
|
});
|
|
1732
1865
|
}, false, { exclude: [db_tests_setup_1.TestDbs.inMemory] });
|
|
1733
|
-
db_tests_setup_1.testAll(
|
|
1866
|
+
db_tests_setup_1.testAll('test date', function (_a) {
|
|
1734
1867
|
var createEntity = _a.createEntity;
|
|
1735
1868
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1736
1869
|
var e, r, item;
|
|
@@ -1744,9 +1877,9 @@ db_tests_setup_1.testAll("test date", function (_a) {
|
|
|
1744
1877
|
}
|
|
1745
1878
|
return class_4;
|
|
1746
1879
|
}());
|
|
1747
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
1880
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('tdate', { allowApiCrud: true }), {
|
|
1748
1881
|
a: remult3_1.Fields.number(),
|
|
1749
|
-
d: remult3_1.Fields.date()
|
|
1882
|
+
d: remult3_1.Fields.date(),
|
|
1750
1883
|
});
|
|
1751
1884
|
return [4 /*yield*/, createEntity(e)];
|
|
1752
1885
|
case 1:
|
|
@@ -1763,7 +1896,7 @@ db_tests_setup_1.testAll("test date", function (_a) {
|
|
|
1763
1896
|
});
|
|
1764
1897
|
});
|
|
1765
1898
|
}, false);
|
|
1766
|
-
db_tests_setup_1.testAll(
|
|
1899
|
+
db_tests_setup_1.testAll('test live query storage', function (_a) {
|
|
1767
1900
|
var db = _a.db, remult = _a.remult, createEntity = _a.createEntity;
|
|
1768
1901
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1769
1902
|
var x, id, _b;
|
|
@@ -1780,12 +1913,12 @@ db_tests_setup_1.testAll("test live query storage", function (_a) {
|
|
|
1780
1913
|
_c.label = 3;
|
|
1781
1914
|
case 3:
|
|
1782
1915
|
id = uuid_1.v4();
|
|
1783
|
-
return [4 /*yield*/, x.add({ id: id, entityKey: 'x', data:
|
|
1916
|
+
return [4 /*yield*/, x.add({ id: id, entityKey: 'x', data: 'noam' })];
|
|
1784
1917
|
case 4:
|
|
1785
1918
|
_c.sent();
|
|
1786
|
-
return [4 /*yield*/, x.forEach(
|
|
1919
|
+
return [4 /*yield*/, x.forEach('x', function (args) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1787
1920
|
return tslib_1.__generator(this, function (_a) {
|
|
1788
|
-
expect(args.query.data).toBe(
|
|
1921
|
+
expect(args.query.data).toBe('noam');
|
|
1789
1922
|
return [2 /*return*/];
|
|
1790
1923
|
});
|
|
1791
1924
|
}); })];
|
|
@@ -1794,15 +1927,15 @@ db_tests_setup_1.testAll("test live query storage", function (_a) {
|
|
|
1794
1927
|
_b = expect;
|
|
1795
1928
|
return [4 /*yield*/, x.keepAliveAndReturnUnknownQueryIds([id])];
|
|
1796
1929
|
case 6:
|
|
1797
|
-
_b.apply(void 0, [
|
|
1930
|
+
_b.apply(void 0, [_c.sent()]).toEqual([]);
|
|
1798
1931
|
return [2 /*return*/];
|
|
1799
1932
|
}
|
|
1800
1933
|
});
|
|
1801
1934
|
});
|
|
1802
1935
|
}, false, {
|
|
1803
|
-
exclude: [db_tests_setup_1.TestDbs.restDataProvider]
|
|
1936
|
+
exclude: [db_tests_setup_1.TestDbs.restDataProvider],
|
|
1804
1937
|
});
|
|
1805
|
-
db_tests_setup_1.testAll(
|
|
1938
|
+
db_tests_setup_1.testAll('test contains with names with casing', function (_a) {
|
|
1806
1939
|
var createEntity = _a.createEntity;
|
|
1807
1940
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1808
1941
|
var e, r, item;
|
|
@@ -1816,28 +1949,28 @@ db_tests_setup_1.testAll("test contains with names with casing", function (_a) {
|
|
|
1816
1949
|
}
|
|
1817
1950
|
return class_5;
|
|
1818
1951
|
}());
|
|
1819
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
1952
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testNameContains', { allowApiCrud: true }), {
|
|
1820
1953
|
a: remult3_1.Fields.number(),
|
|
1821
|
-
firstName: remult3_1.Fields.string()
|
|
1954
|
+
firstName: remult3_1.Fields.string(),
|
|
1822
1955
|
});
|
|
1823
1956
|
return [4 /*yield*/, createEntity(e)];
|
|
1824
1957
|
case 1:
|
|
1825
1958
|
r = _b.sent();
|
|
1826
|
-
return [4 /*yield*/, r.insert({ a: 1, firstName:
|
|
1959
|
+
return [4 /*yield*/, r.insert({ a: 1, firstName: 'noam' })];
|
|
1827
1960
|
case 2:
|
|
1828
1961
|
_b.sent();
|
|
1829
|
-
return [4 /*yield*/, r.findFirst({ firstName: { $contains:
|
|
1962
|
+
return [4 /*yield*/, r.findFirst({ firstName: { $contains: 'oa' } })];
|
|
1830
1963
|
case 3:
|
|
1831
1964
|
item = _b.sent();
|
|
1832
|
-
expect(item.firstName).toBe(
|
|
1965
|
+
expect(item.firstName).toBe('noam');
|
|
1833
1966
|
return [2 /*return*/];
|
|
1834
1967
|
}
|
|
1835
1968
|
});
|
|
1836
1969
|
});
|
|
1837
1970
|
}, false, {
|
|
1838
|
-
exclude: [db_tests_setup_1.TestDbs.mongo]
|
|
1971
|
+
exclude: [db_tests_setup_1.TestDbs.mongo],
|
|
1839
1972
|
});
|
|
1840
|
-
db_tests_setup_1.testAll(
|
|
1973
|
+
db_tests_setup_1.testAll('test live query storage', function (x) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1841
1974
|
var s, entityKey, id;
|
|
1842
1975
|
return tslib_1.__generator(this, function (_a) {
|
|
1843
1976
|
switch (_a.label) {
|
|
@@ -1848,7 +1981,7 @@ db_tests_setup_1.testAll("test live query storage", function (x) { return tslib_
|
|
|
1848
1981
|
return [4 /*yield*/, s.ensureSchema()];
|
|
1849
1982
|
case 2:
|
|
1850
1983
|
_a.sent();
|
|
1851
|
-
entityKey =
|
|
1984
|
+
entityKey = 'ek';
|
|
1852
1985
|
id = 'id';
|
|
1853
1986
|
return [4 /*yield*/, s.add({ id: id, entityKey: entityKey, data: {} })];
|
|
1854
1987
|
case 3:
|
|
@@ -1873,7 +2006,7 @@ db_tests_setup_1.testAll("test live query storage", function (x) { return tslib_
|
|
|
1873
2006
|
}
|
|
1874
2007
|
});
|
|
1875
2008
|
}); }, false, { exclude: [db_tests_setup_1.TestDbs.restDataProvider] });
|
|
1876
|
-
db_tests_setup_1.testAll(
|
|
2009
|
+
db_tests_setup_1.testAll('test json structure using object', function (_a) {
|
|
1877
2010
|
var createEntity = _a.createEntity;
|
|
1878
2011
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1879
2012
|
var e, r, item;
|
|
@@ -1886,20 +2019,20 @@ db_tests_setup_1.testAll("test json structure using object", function (_a) {
|
|
|
1886
2019
|
}
|
|
1887
2020
|
return class_6;
|
|
1888
2021
|
}());
|
|
1889
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2022
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonStructure', { allowApiCrud: true }), {
|
|
1890
2023
|
a: remult3_1.Fields.number(),
|
|
1891
|
-
person: remult3_1.Fields.object()
|
|
2024
|
+
person: remult3_1.Fields.object(),
|
|
1892
2025
|
});
|
|
1893
2026
|
return [4 /*yield*/, createEntity(e)];
|
|
1894
2027
|
case 1:
|
|
1895
2028
|
r = _b.sent();
|
|
1896
|
-
return [4 /*yield*/, r.insert({ a: 1, person: { firstName:
|
|
2029
|
+
return [4 /*yield*/, r.insert({ a: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1897
2030
|
case 2:
|
|
1898
2031
|
_b.sent();
|
|
1899
2032
|
return [4 /*yield*/, r.findFirst()];
|
|
1900
2033
|
case 3:
|
|
1901
2034
|
item = _b.sent();
|
|
1902
|
-
expect(item.person).toEqual({ firstName:
|
|
2035
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1903
2036
|
return [2 /*return*/];
|
|
1904
2037
|
}
|
|
1905
2038
|
});
|
|
@@ -1908,7 +2041,7 @@ db_tests_setup_1.testAll("test json structure using object", function (_a) {
|
|
|
1908
2041
|
var testObject = /** @class */ (function () {
|
|
1909
2042
|
function testObject() {
|
|
1910
2043
|
this.id = 0;
|
|
1911
|
-
this.person = { firstName:
|
|
2044
|
+
this.person = { firstName: 'noam', lastName: 'honig' };
|
|
1912
2045
|
}
|
|
1913
2046
|
tslib_1.__decorate([
|
|
1914
2047
|
remult3_1.Fields.integer(),
|
|
@@ -1919,11 +2052,11 @@ var testObject = /** @class */ (function () {
|
|
|
1919
2052
|
tslib_1.__metadata("design:type", Object)
|
|
1920
2053
|
], testObject.prototype, "person", void 0);
|
|
1921
2054
|
testObject = tslib_1.__decorate([
|
|
1922
|
-
remult3_1.Entity(
|
|
2055
|
+
remult3_1.Entity('testObject', { allowApiCrud: true })
|
|
1923
2056
|
], testObject);
|
|
1924
2057
|
return testObject;
|
|
1925
2058
|
}());
|
|
1926
|
-
db_tests_setup_1.testAll(
|
|
2059
|
+
db_tests_setup_1.testAll('test object entity', function (_a) {
|
|
1927
2060
|
var createEntity = _a.createEntity;
|
|
1928
2061
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1929
2062
|
var r, item;
|
|
@@ -1932,13 +2065,13 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1932
2065
|
case 0: return [4 /*yield*/, createEntity(testObject)];
|
|
1933
2066
|
case 1:
|
|
1934
2067
|
r = _b.sent();
|
|
1935
|
-
return [4 /*yield*/, r.insert({ id: 1, person: { firstName:
|
|
2068
|
+
return [4 /*yield*/, r.insert({ id: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1936
2069
|
case 2:
|
|
1937
2070
|
_b.sent();
|
|
1938
2071
|
return [4 /*yield*/, r.findFirst()];
|
|
1939
2072
|
case 3:
|
|
1940
2073
|
item = _b.sent();
|
|
1941
|
-
expect(item.person).toEqual({ firstName:
|
|
2074
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1942
2075
|
return [2 /*return*/];
|
|
1943
2076
|
}
|
|
1944
2077
|
});
|
|
@@ -1947,7 +2080,7 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1947
2080
|
var testObjectJson = /** @class */ (function () {
|
|
1948
2081
|
function testObjectJson() {
|
|
1949
2082
|
this.id = 0;
|
|
1950
|
-
this.person = { firstName:
|
|
2083
|
+
this.person = { firstName: 'noam', lastName: 'honig' };
|
|
1951
2084
|
}
|
|
1952
2085
|
tslib_1.__decorate([
|
|
1953
2086
|
remult3_1.Fields.integer(),
|
|
@@ -1958,11 +2091,11 @@ var testObjectJson = /** @class */ (function () {
|
|
|
1958
2091
|
tslib_1.__metadata("design:type", Object)
|
|
1959
2092
|
], testObjectJson.prototype, "person", void 0);
|
|
1960
2093
|
testObjectJson = tslib_1.__decorate([
|
|
1961
|
-
remult3_1.Entity(
|
|
2094
|
+
remult3_1.Entity('testObjectJson', { allowApiCrud: true })
|
|
1962
2095
|
], testObjectJson);
|
|
1963
2096
|
return testObjectJson;
|
|
1964
2097
|
}());
|
|
1965
|
-
db_tests_setup_1.testAll(
|
|
2098
|
+
db_tests_setup_1.testAll('test object entity', function (_a) {
|
|
1966
2099
|
var createEntity = _a.createEntity;
|
|
1967
2100
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1968
2101
|
var r, item;
|
|
@@ -1971,19 +2104,19 @@ db_tests_setup_1.testAll("test object entity", function (_a) {
|
|
|
1971
2104
|
case 0: return [4 /*yield*/, createEntity(testObjectJson)];
|
|
1972
2105
|
case 1:
|
|
1973
2106
|
r = _b.sent();
|
|
1974
|
-
return [4 /*yield*/, r.insert({ id: 1, person: { firstName:
|
|
2107
|
+
return [4 /*yield*/, r.insert({ id: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
1975
2108
|
case 2:
|
|
1976
2109
|
_b.sent();
|
|
1977
2110
|
return [4 /*yield*/, r.findFirst()];
|
|
1978
2111
|
case 3:
|
|
1979
2112
|
item = _b.sent();
|
|
1980
|
-
expect(item.person).toEqual({ firstName:
|
|
2113
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
1981
2114
|
return [2 /*return*/];
|
|
1982
2115
|
}
|
|
1983
2116
|
});
|
|
1984
2117
|
});
|
|
1985
2118
|
}, false);
|
|
1986
|
-
db_tests_setup_1.testAll(
|
|
2119
|
+
db_tests_setup_1.testAll('test json structure', function (_a) {
|
|
1987
2120
|
var createEntity = _a.createEntity;
|
|
1988
2121
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1989
2122
|
var e, r, item;
|
|
@@ -1996,26 +2129,26 @@ db_tests_setup_1.testAll("test json structure", function (_a) {
|
|
|
1996
2129
|
}
|
|
1997
2130
|
return class_7;
|
|
1998
2131
|
}());
|
|
1999
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2132
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType', { allowApiCrud: true }), {
|
|
2000
2133
|
a: remult3_1.Fields.number(),
|
|
2001
|
-
person: remult3_1.Fields.json()
|
|
2134
|
+
person: remult3_1.Fields.json(),
|
|
2002
2135
|
});
|
|
2003
2136
|
return [4 /*yield*/, createEntity(e)];
|
|
2004
2137
|
case 1:
|
|
2005
2138
|
r = _b.sent();
|
|
2006
|
-
return [4 /*yield*/, r.insert({ a: 1, person: { firstName:
|
|
2139
|
+
return [4 /*yield*/, r.insert({ a: 1, person: { firstName: 'noam', lastName: 'honig' } })];
|
|
2007
2140
|
case 2:
|
|
2008
2141
|
_b.sent();
|
|
2009
2142
|
return [4 /*yield*/, r.findFirst()];
|
|
2010
2143
|
case 3:
|
|
2011
2144
|
item = _b.sent();
|
|
2012
|
-
expect(item.person).toEqual({ firstName:
|
|
2145
|
+
expect(item.person).toEqual({ firstName: 'noam', lastName: 'honig' });
|
|
2013
2146
|
return [2 /*return*/];
|
|
2014
2147
|
}
|
|
2015
2148
|
});
|
|
2016
2149
|
});
|
|
2017
2150
|
}, false);
|
|
2018
|
-
db_tests_setup_1.testAll(
|
|
2151
|
+
db_tests_setup_1.testAll('test json structure 2', function (_a) {
|
|
2019
2152
|
var createEntity = _a.createEntity;
|
|
2020
2153
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2021
2154
|
var e, r, item;
|
|
@@ -2029,26 +2162,26 @@ db_tests_setup_1.testAll("test json structure 2", function (_a) {
|
|
|
2029
2162
|
}
|
|
2030
2163
|
return class_8;
|
|
2031
2164
|
}());
|
|
2032
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2165
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType2', { allowApiCrud: true }), {
|
|
2033
2166
|
a: remult3_1.Fields.number(),
|
|
2034
|
-
items: remult3_1.Fields.json()
|
|
2167
|
+
items: remult3_1.Fields.json(),
|
|
2035
2168
|
});
|
|
2036
2169
|
return [4 /*yield*/, createEntity(e)];
|
|
2037
2170
|
case 1:
|
|
2038
2171
|
r = _b.sent();
|
|
2039
|
-
return [4 /*yield*/, r.insert({ a: 1, items: [
|
|
2172
|
+
return [4 /*yield*/, r.insert({ a: 1, items: ['a', 'b'] })];
|
|
2040
2173
|
case 2:
|
|
2041
2174
|
_b.sent();
|
|
2042
2175
|
return [4 /*yield*/, r.findFirst()];
|
|
2043
2176
|
case 3:
|
|
2044
2177
|
item = _b.sent();
|
|
2045
|
-
expect(item.items).toEqual([
|
|
2178
|
+
expect(item.items).toEqual(['a', 'b']);
|
|
2046
2179
|
return [2 /*return*/];
|
|
2047
2180
|
}
|
|
2048
2181
|
});
|
|
2049
2182
|
});
|
|
2050
|
-
}, false
|
|
2051
|
-
db_tests_setup_1.testAll(
|
|
2183
|
+
}, false);
|
|
2184
|
+
db_tests_setup_1.testAll('test json structure 3', function (_a) {
|
|
2052
2185
|
var createEntity = _a.createEntity;
|
|
2053
2186
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2054
2187
|
var e, r, item, _b;
|
|
@@ -2062,22 +2195,22 @@ db_tests_setup_1.testAll("test json structure 3", function (_a) {
|
|
|
2062
2195
|
}
|
|
2063
2196
|
return class_9;
|
|
2064
2197
|
}());
|
|
2065
|
-
DecoratorReplacer_1.describeClass(e, remult3_1.Entity(
|
|
2198
|
+
DecoratorReplacer_1.describeClass(e, remult3_1.Entity('testJsonFieldType3', { allowApiCrud: true }), {
|
|
2066
2199
|
a: remult3_1.Fields.number(),
|
|
2067
|
-
items: remult3_1.Fields.object()
|
|
2200
|
+
items: remult3_1.Fields.object(),
|
|
2068
2201
|
});
|
|
2069
2202
|
return [4 /*yield*/, createEntity(e)];
|
|
2070
2203
|
case 1:
|
|
2071
2204
|
r = _c.sent();
|
|
2072
|
-
return [4 /*yield*/, r.insert({ a: 1, items: [
|
|
2205
|
+
return [4 /*yield*/, r.insert({ a: 1, items: ['a', 'b'] })];
|
|
2073
2206
|
case 2:
|
|
2074
2207
|
_c.sent();
|
|
2075
2208
|
return [4 /*yield*/, r.findFirst()];
|
|
2076
2209
|
case 3:
|
|
2077
2210
|
item = _c.sent();
|
|
2078
|
-
expect(item.items).toEqual([
|
|
2211
|
+
expect(item.items).toEqual(['a', 'b']);
|
|
2079
2212
|
_b = expect;
|
|
2080
|
-
return [4 /*yield*/, r.count({ items: { $contains:
|
|
2213
|
+
return [4 /*yield*/, r.count({ items: { $contains: 'b' } })];
|
|
2081
2214
|
case 4:
|
|
2082
2215
|
_b.apply(void 0, [_c.sent()]).toBe(1);
|
|
2083
2216
|
return [2 /*return*/];
|
|
@@ -2085,5 +2218,69 @@ db_tests_setup_1.testAll("test json structure 3", function (_a) {
|
|
|
2085
2218
|
});
|
|
2086
2219
|
});
|
|
2087
2220
|
}, false, {
|
|
2088
|
-
exclude: [db_tests_setup_1.TestDbs.mongo]
|
|
2221
|
+
exclude: [db_tests_setup_1.TestDbs.mongo],
|
|
2089
2222
|
});
|
|
2223
|
+
db_tests_setup_1.testAll('test relation to number id', function (_a) {
|
|
2224
|
+
var createEntity = _a.createEntity;
|
|
2225
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
2226
|
+
var category, task, catRepo, taskRepo, cat, _b, _c, _d;
|
|
2227
|
+
return tslib_1.__generator(this, function (_e) {
|
|
2228
|
+
switch (_e.label) {
|
|
2229
|
+
case 0:
|
|
2230
|
+
category = /** @class */ (function () {
|
|
2231
|
+
function class_10() {
|
|
2232
|
+
this.id = 0;
|
|
2233
|
+
this.name = '';
|
|
2234
|
+
}
|
|
2235
|
+
return class_10;
|
|
2236
|
+
}());
|
|
2237
|
+
DecoratorReplacer_1.describeClass(category, remult3_1.Entity('rel_ID_categories', { allowApiCrud: true }), {
|
|
2238
|
+
id: remult3_1.Fields.autoIncrement(),
|
|
2239
|
+
name: remult3_1.Fields.string(),
|
|
2240
|
+
});
|
|
2241
|
+
task = /** @class */ (function () {
|
|
2242
|
+
function class_11() {
|
|
2243
|
+
this.id = 0;
|
|
2244
|
+
this.title = '';
|
|
2245
|
+
}
|
|
2246
|
+
return class_11;
|
|
2247
|
+
}());
|
|
2248
|
+
DecoratorReplacer_1.describeClass(task, remult3_1.Entity('rel_ID_task', { allowApiCrud: true }), {
|
|
2249
|
+
id: remult3_1.Fields.autoIncrement(),
|
|
2250
|
+
title: remult3_1.Fields.string(),
|
|
2251
|
+
category: remult3_1.Field(function () { return category; }),
|
|
2252
|
+
});
|
|
2253
|
+
return [4 /*yield*/, createEntity(category)];
|
|
2254
|
+
case 1:
|
|
2255
|
+
catRepo = _e.sent();
|
|
2256
|
+
return [4 /*yield*/, createEntity(task)];
|
|
2257
|
+
case 2:
|
|
2258
|
+
taskRepo = _e.sent();
|
|
2259
|
+
return [4 /*yield*/, catRepo.insert([{ name: 'cat0' }, { name: 'cat1' }])];
|
|
2260
|
+
case 3:
|
|
2261
|
+
cat = _e.sent();
|
|
2262
|
+
return [4 /*yield*/, taskRepo.insert([
|
|
2263
|
+
{ title: 't1', category: cat[0] },
|
|
2264
|
+
{ title: 't2', category: cat[0] },
|
|
2265
|
+
{ title: 't3', category: cat[1] },
|
|
2266
|
+
])];
|
|
2267
|
+
case 4:
|
|
2268
|
+
_e.sent();
|
|
2269
|
+
expect(taskRepo.fields.category.valueConverter.fieldTypeInDb).toBe(valueConverters_1.ValueConverters.Integer.fieldTypeInDb);
|
|
2270
|
+
_b = expect;
|
|
2271
|
+
return [4 /*yield*/, taskRepo.count({ category: cat[0] })];
|
|
2272
|
+
case 5:
|
|
2273
|
+
_b.apply(void 0, [_e.sent()]).toBe(2);
|
|
2274
|
+
_c = expect;
|
|
2275
|
+
return [4 /*yield*/, taskRepo.count({ category: cat[1] })];
|
|
2276
|
+
case 6:
|
|
2277
|
+
_c.apply(void 0, [_e.sent()]).toBe(1);
|
|
2278
|
+
_d = expect;
|
|
2279
|
+
return [4 /*yield*/, taskRepo.count({ category: { $id: cat[0].id } })];
|
|
2280
|
+
case 7:
|
|
2281
|
+
_d.apply(void 0, [_e.sent()]).toBe(2);
|
|
2282
|
+
return [2 /*return*/];
|
|
2283
|
+
}
|
|
2284
|
+
});
|
|
2285
|
+
});
|
|
2286
|
+
}, false, { exclude: [db_tests_setup_1.TestDbs.mongo] });
|