remult 0.16.0-exp.13 → 0.16.0-exp.16
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/esm/graphql.d.ts +1 -1
- package/esm/graphql.js +4 -4
- package/esm/index.d.ts +23 -23
- package/esm/index.js +19 -20
- package/esm/inputTypes.js +7 -7
- package/esm/package.json +3 -0
- package/esm/postgres/index.d.ts +2 -2
- package/esm/postgres/index.js +2 -2
- package/esm/postgres/postgres-data-provider.d.ts +4 -4
- package/esm/postgres/postgres-data-provider.js +18 -13
- package/esm/postgres/schema-builder.d.ts +4 -4
- package/esm/postgres/schema-builder.js +12 -11
- package/esm/remult-express.d.ts +1 -1
- package/esm/remult-express.js +1 -1
- package/esm/remult-fastify.d.ts +1 -1
- package/esm/remult-fastify.js +3 -2
- package/esm/remult-fresh.d.ts +2 -2
- package/esm/remult-fresh.js +1 -1
- package/esm/remult-knex/index.d.ts +6 -6
- package/esm/remult-knex/index.js +23 -17
- package/esm/remult-mongo.d.ts +1 -1
- package/esm/remult-mongo.js +13 -8
- package/esm/server/JsonEntityFileStorage.d.ts +1 -1
- package/esm/server/JsonEntityFileStorage.js +5 -4
- package/esm/server/expressBridge.d.ts +6 -6
- package/esm/server/expressBridge.js +41 -31
- package/esm/server/index.d.ts +2 -2
- package/esm/server/index.js +2 -2
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +3 -1
- package/esm/src/backend-tests/test-http-server.backend-spec.js +9 -10
- package/esm/src/column-interfaces.d.ts +3 -3
- package/esm/src/column.d.ts +4 -4
- package/esm/src/column.js +25 -7
- package/esm/src/context.d.ts +4 -4
- package/esm/src/context.js +49 -51
- package/esm/src/data-api.d.ts +3 -3
- package/esm/src/data-api.js +5 -3
- package/esm/src/data-interfaces.d.ts +3 -3
- package/esm/src/data-interfaces.js +1 -1
- package/esm/src/data-providers/array-entity-data-provider.d.ts +3 -3
- package/esm/src/data-providers/array-entity-data-provider.js +13 -10
- package/esm/src/data-providers/in-memory-database.d.ts +3 -3
- package/esm/src/data-providers/in-memory-database.js +2 -4
- package/esm/src/data-providers/json-data-provider.d.ts +2 -2
- package/esm/src/data-providers/json-data-provider.js +5 -2
- package/esm/src/data-providers/rest-data-provider.d.ts +5 -5
- package/esm/src/data-providers/rest-data-provider.js +9 -4
- package/esm/src/data-providers/sql-database.d.ts +4 -4
- package/esm/src/data-providers/sql-database.js +19 -12
- package/esm/src/data-providers/web-sql-data-provider.d.ts +3 -3
- package/esm/src/data-providers/web-sql-data-provider.js +20 -12
- package/esm/src/entity.d.ts +3 -3
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +13 -11
- package/esm/src/filter/filter-interfaces.d.ts +3 -3
- package/esm/src/filter/filter-interfaces.js +13 -8
- package/esm/src/id-entity.d.ts +1 -1
- package/esm/src/id-entity.js +2 -1
- package/esm/src/remult-proxy.d.ts +1 -1
- package/esm/src/remult-proxy.js +5 -7
- package/esm/src/remult3/RepositoryImplementation.d.ts +13 -17
- package/esm/src/remult3/RepositoryImplementation.js +136 -79
- package/esm/src/remult3/index.d.ts +2 -2
- package/esm/src/remult3/index.js +2 -2
- package/esm/src/remult3/remult3.d.ts +6 -6
- package/esm/src/server-action.d.ts +3 -3
- package/esm/src/server-action.js +15 -5
- package/esm/src/shared-tests/db-tests.db-tests.js +37 -44
- package/esm/src/shared-tests/entityWithValidations.js +4 -1
- package/esm/src/shared-tests/test-custom-id-column.spec.js +4 -0
- package/esm/src/shared-tests/test-special-value.spec.js +6 -7
- package/esm/src/shared-tests/test-update-with-null.spec.js +3 -5
- package/esm/src/sort.d.ts +2 -2
- package/esm/src/sort.js +5 -4
- package/esm/src/sql-command.d.ts +1 -1
- package/esm/src/tests/Done.js +1 -3
- package/esm/src/tests/c.js +3 -0
- package/esm/src/tests/d.js +3 -1
- package/esm/src/tests/dWithPrefilter.js +3 -1
- package/esm/src/tests/entityForCustomFilter.js +22 -21
- package/esm/src/tests/entityWithValidationsOnColumn.js +2 -0
- package/esm/src/tests/h.js +3 -0
- package/esm/src/tests/remult-3-entities.js +11 -4
- package/esm/src/tests/tasks.js +3 -4
- package/esm/src/tests/testHelper.spec.js +2 -1
- package/esm/src/tests/testModel/models.js +10 -6
- package/esm/src/validators.d.ts +1 -1
- package/esm/src/validators.js +31 -31
- package/esm/src/valueConverters.d.ts +1 -1
- package/esm/src/valueConverters.js +164 -164
- package/esm/urlBuilder.js +1 -0
- package/graphql.d.ts +1 -1
- package/graphql.js +23 -23
- package/index.d.ts +23 -23
- package/index.js +56 -57
- package/package.json +1 -1
- package/postgres/index.d.ts +2 -2
- package/postgres/index.js +2 -2
- package/postgres/postgres-data-provider.d.ts +4 -4
- package/postgres/postgres-data-provider.js +13 -12
- package/postgres/schema-builder.d.ts +4 -4
- package/postgres/schema-builder.js +16 -16
- package/remult-express.d.ts +1 -1
- package/remult-express.js +3 -3
- package/remult-fastify.d.ts +1 -1
- package/remult-fastify.js +8 -5
- package/remult-fresh.d.ts +2 -2
- package/remult-fresh.js +2 -2
- package/remult-knex/index.d.ts +6 -6
- package/remult-knex/index.js +33 -33
- package/remult-mongo.d.ts +1 -1
- package/remult-mongo.js +7 -7
- package/server/JsonEntityFileStorage.d.ts +1 -1
- package/server/JsonEntityFileStorage.js +2 -2
- package/server/expressBridge.d.ts +6 -6
- package/server/expressBridge.js +43 -44
- package/server/index.d.ts +2 -2
- package/server/index.js +5 -5
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +24 -19
- package/src/backend-tests/my-test.backend-spec.js +7 -7
- package/src/backend-tests/test-http-server.backend-spec.js +12 -14
- package/src/column-interfaces.d.ts +3 -3
- package/src/column.d.ts +4 -4
- package/src/column.js +8 -8
- package/src/context.d.ts +4 -4
- package/src/context.js +13 -10
- package/src/data-api.d.ts +3 -3
- package/src/data-api.js +6 -6
- package/src/data-interfaces.d.ts +3 -3
- package/src/data-interfaces.js +3 -3
- package/src/data-providers/array-entity-data-provider.d.ts +3 -3
- package/src/data-providers/array-entity-data-provider.js +5 -5
- package/src/data-providers/in-memory-database.d.ts +3 -3
- package/src/data-providers/in-memory-database.js +2 -2
- package/src/data-providers/json-data-provider.d.ts +2 -2
- package/src/data-providers/json-data-provider.js +2 -2
- package/src/data-providers/rest-data-provider.d.ts +5 -5
- package/src/data-providers/rest-data-provider.js +9 -9
- package/src/data-providers/sql-database.d.ts +4 -4
- package/src/data-providers/sql-database.js +18 -18
- package/src/data-providers/web-sql-data-provider.d.ts +3 -3
- package/src/data-providers/web-sql-data-provider.js +9 -9
- package/src/entity.d.ts +3 -3
- package/src/filter/filter-interfaces.d.ts +3 -3
- package/src/filter/filter-interfaces.js +7 -7
- package/src/id-entity.d.ts +1 -1
- package/src/id-entity.js +3 -3
- package/src/remult-proxy.d.ts +1 -1
- package/src/remult-proxy.js +5 -5
- package/src/remult3/RepositoryImplementation.d.ts +13 -17
- package/src/remult3/RepositoryImplementation.js +81 -82
- package/src/remult3/index.d.ts +2 -2
- package/src/remult3/index.js +2 -2
- package/src/remult3/remult3.d.ts +6 -6
- package/src/server-action.d.ts +3 -3
- package/src/server-action.js +25 -25
- package/src/shared-tests/db-tests.db-tests.js +62 -62
- 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 +5 -5
- package/src/shared-tests/test-update-with-null.spec.js +4 -4
- package/src/sort.d.ts +2 -2
- package/src/sort.js +3 -3
- package/src/sql-command.d.ts +1 -1
- package/src/tests/c.js +1 -1
- package/src/tests/createData.js +1 -1
- package/src/tests/d.js +1 -1
- package/src/tests/dWithPrefilter.js +2 -2
- package/src/tests/entityForCustomFilter.js +4 -4
- package/src/tests/entityWithValidationsOnColumn.js +1 -1
- package/src/tests/frontend-database-tests-setup.spec.js +4 -4
- package/src/tests/h.js +3 -3
- package/src/tests/remult-3-entities.js +3 -3
- package/src/tests/tasks.js +1 -1
- package/src/tests/testHelper.spec.js +1 -1
- package/src/tests/testModel/models.js +2 -2
- package/src/validators.d.ts +1 -1
- package/src/validators.js +11 -9
- package/src/valueConverters.d.ts +1 -1
- package/src/valueConverters.js +4 -4
package/esm/graphql.d.ts
CHANGED
package/esm/graphql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Remult } from ".";
|
|
2
|
-
import { allEntities } from "./src/context";
|
|
3
|
-
import { getEntityKey } from "./src/remult3";
|
|
4
|
-
import { DataApi } from "./src/data-api";
|
|
1
|
+
import { Remult } from "./index.js";
|
|
2
|
+
import { allEntities } from "./src/context.js";
|
|
3
|
+
import { getEntityKey } from "./src/remult3/index.js";
|
|
4
|
+
import { DataApi } from "./src/data-api.js";
|
|
5
5
|
export function remultGraphql(api) {
|
|
6
6
|
let r = new Remult();
|
|
7
7
|
let types = '';
|
package/esm/index.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export { Field, Fields, StringFieldOptions, FieldsMetadata, Entity, BuildEntity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
|
|
2
|
-
export { EntityOptions } from './src/entity';
|
|
3
|
-
export { DataProvider, EntityDataProvider, EntityDataProviderFindOptions, ErrorInfo, RestDataProviderHttpProvider } from './src/data-interfaces';
|
|
4
|
-
export { SqlCommand, SqlImplementation, SqlResult } from './src/sql-command';
|
|
1
|
+
export { Field, Fields, StringFieldOptions, FieldsMetadata, Entity, BuildEntity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3/index.js';
|
|
2
|
+
export { EntityOptions } from './src/entity.js';
|
|
3
|
+
export { DataProvider, EntityDataProvider, EntityDataProviderFindOptions, ErrorInfo, RestDataProviderHttpProvider } from './src/data-interfaces.js';
|
|
4
|
+
export { SqlCommand, SqlImplementation, SqlResult } from './src/sql-command.js';
|
|
5
5
|
export { FieldMetadata, FieldOptions, FieldValidator, ValueConverter, ValueListItem, // reconsider, maybe it should go to remult angular as the abstraction ?
|
|
6
|
-
ValueOrExpression } from './src/column-interfaces';
|
|
7
|
-
export { RestDataProvider } from './src/data-providers/rest-data-provider';
|
|
8
|
-
export { InMemoryDataProvider } from './src/data-providers/in-memory-database';
|
|
9
|
-
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider';
|
|
10
|
-
export { WebSqlDataProvider } from './src/data-providers/web-sql-data-provider';
|
|
11
|
-
export { SqlDatabase, } from './src/data-providers/sql-database';
|
|
12
|
-
export { CustomSqlFilterObject, CustomSqlFilterBuilder } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
13
|
-
export { JsonDataProvider, JsonEntityStorage } from './src/data-providers/json-data-provider';
|
|
14
|
-
export { Controller, BackendMethodOptions, BackendMethod, ProgressListener } from './src/server-action';
|
|
15
|
-
export { Allowed, Allow, Remult, RemultContext, ApiClient, isBackend, AllowedForInstance, EventDispatcher, EventSource, ExternalHttpProvider, Unobserve, UserInfo } from './src/context';
|
|
16
|
-
export { IdEntity } from './src/id-entity';
|
|
17
|
-
export { SortSegment, Sort } from './src/sort';
|
|
18
|
-
export { OneToMany, CompoundIdField } from './src/column';
|
|
19
|
-
export { Filter } from './src/filter/filter-interfaces';
|
|
20
|
-
export { FilterConsumerBridgeToSqlRequest } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
21
|
-
export { UrlBuilder } from './urlBuilder';
|
|
22
|
-
export { Validators } from './src/validators';
|
|
23
|
-
export { ValueConverters } from './src/valueConverters';
|
|
24
|
-
export { remult } from './src/remult-proxy';
|
|
6
|
+
ValueOrExpression } from './src/column-interfaces.js';
|
|
7
|
+
export { RestDataProvider } from './src/data-providers/rest-data-provider.js';
|
|
8
|
+
export { InMemoryDataProvider } from './src/data-providers/in-memory-database.js';
|
|
9
|
+
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider.js';
|
|
10
|
+
export { WebSqlDataProvider } from './src/data-providers/web-sql-data-provider.js';
|
|
11
|
+
export { SqlDatabase, } from './src/data-providers/sql-database.js';
|
|
12
|
+
export { CustomSqlFilterObject, CustomSqlFilterBuilder } from './src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
13
|
+
export { JsonDataProvider, JsonEntityStorage } from './src/data-providers/json-data-provider.js';
|
|
14
|
+
export { Controller, BackendMethodOptions, BackendMethod, ProgressListener } from './src/server-action.js';
|
|
15
|
+
export { Allowed, Allow, Remult, RemultContext, ApiClient, isBackend, AllowedForInstance, EventDispatcher, EventSource, ExternalHttpProvider, Unobserve, UserInfo } from './src/context.js';
|
|
16
|
+
export { IdEntity } from './src/id-entity.js';
|
|
17
|
+
export { SortSegment, Sort } from './src/sort.js';
|
|
18
|
+
export { OneToMany, CompoundIdField } from './src/column.js';
|
|
19
|
+
export { Filter } from './src/filter/filter-interfaces.js';
|
|
20
|
+
export { FilterConsumerBridgeToSqlRequest } from './src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
21
|
+
export { UrlBuilder } from './urlBuilder.js';
|
|
22
|
+
export { Validators } from './src/validators.js';
|
|
23
|
+
export { ValueConverters } from './src/valueConverters.js';
|
|
24
|
+
export { remult } from './src/remult-proxy.js';
|
package/esm/index.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Public API Surface of remult
|
|
3
3
|
*/
|
|
4
|
-
export { Field, Fields, Entity, BuildEntity, EntityBase, ControllerBase, FieldType, getFields, getEntityRef, ValueListFieldType, getValueList, ValueListInfo, CaptionTransformer } from './src/remult3';
|
|
5
|
-
export { RestDataProvider } from './src/data-providers/rest-data-provider';
|
|
6
|
-
export { InMemoryDataProvider } from './src/data-providers/in-memory-database';
|
|
7
|
-
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider';
|
|
8
|
-
export { WebSqlDataProvider } from './src/data-providers/web-sql-data-provider';
|
|
9
|
-
export { SqlDatabase, } from './src/data-providers/sql-database';
|
|
10
|
-
export { CustomSqlFilterBuilder } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
11
|
-
export { JsonDataProvider } from './src/data-providers/json-data-provider';
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export { remult } from './src/remult-proxy';
|
|
4
|
+
export { Field, Fields, Entity, BuildEntity, EntityBase, ControllerBase, FieldType, getFields, getEntityRef, ValueListFieldType, getValueList, ValueListInfo, CaptionTransformer } from './src/remult3/index.js';
|
|
5
|
+
export { RestDataProvider } from './src/data-providers/rest-data-provider.js';
|
|
6
|
+
export { InMemoryDataProvider } from './src/data-providers/in-memory-database.js';
|
|
7
|
+
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider.js';
|
|
8
|
+
export { WebSqlDataProvider } from './src/data-providers/web-sql-data-provider.js';
|
|
9
|
+
export { SqlDatabase, } from './src/data-providers/sql-database.js';
|
|
10
|
+
export { CustomSqlFilterBuilder } from './src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
11
|
+
export { JsonDataProvider } from './src/data-providers/json-data-provider.js';
|
|
12
|
+
export { Controller, BackendMethod, ProgressListener } from './src/server-action.js';
|
|
13
|
+
export { Allow, Remult, isBackend, EventSource } from './src/context.js';
|
|
14
|
+
export { IdEntity } from './src/id-entity.js';
|
|
15
|
+
export { Sort } from './src/sort.js';
|
|
16
|
+
export { OneToMany, CompoundIdField } from './src/column.js';
|
|
17
|
+
export { Filter } from './src/filter/filter-interfaces.js';
|
|
18
|
+
export { FilterConsumerBridgeToSqlRequest } from './src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
19
|
+
export { UrlBuilder } from './urlBuilder.js';
|
|
20
|
+
export { Validators } from './src/validators.js';
|
|
21
|
+
export { ValueConverters } from './src/valueConverters.js';
|
|
22
|
+
export { remult } from './src/remult-proxy.js';
|
package/esm/inputTypes.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export class InputTypes {
|
|
2
|
+
static number = 'number';
|
|
3
|
+
static date = 'date';
|
|
4
|
+
static checkbox = 'checkbox';
|
|
5
|
+
static password = 'password';
|
|
6
|
+
static email = 'email';
|
|
7
|
+
static tel = 'tel';
|
|
8
|
+
static time = "time";
|
|
2
9
|
}
|
|
3
|
-
InputTypes.number = 'number';
|
|
4
|
-
InputTypes.date = 'date';
|
|
5
|
-
InputTypes.checkbox = 'checkbox';
|
|
6
|
-
InputTypes.password = 'password';
|
|
7
|
-
InputTypes.email = 'email';
|
|
8
|
-
InputTypes.tel = 'tel';
|
|
9
|
-
InputTypes.time = "time";
|
package/esm/package.json
ADDED
package/esm/postgres/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './postgres-data-provider';
|
|
2
|
-
export * from './schema-builder';
|
|
1
|
+
export * from './postgres-data-provider.js';
|
|
2
|
+
export * from './schema-builder.js';
|
package/esm/postgres/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './postgres-data-provider';
|
|
2
|
-
export * from './schema-builder';
|
|
1
|
+
export * from './postgres-data-provider.js';
|
|
2
|
+
export * from './schema-builder.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PoolConfig, QueryResult } from 'pg';
|
|
2
|
-
import { EntityMetadata } from '../src/remult3';
|
|
3
|
-
import { SqlCommand, SqlImplementation } from '../src/sql-command';
|
|
4
|
-
import { SqlDatabase } from '../src/data-providers/sql-database';
|
|
2
|
+
import { EntityMetadata } from '../src/remult3/index.js';
|
|
3
|
+
import { SqlCommand, SqlImplementation } from '../src/sql-command.js';
|
|
4
|
+
import { SqlDatabase } from '../src/data-providers/sql-database.js';
|
|
5
5
|
export interface PostgresPool extends PostgresCommandSource {
|
|
6
6
|
connect(): Promise<PostgresClient>;
|
|
7
7
|
}
|
|
@@ -25,4 +25,4 @@ export declare function createPostgresConnection(options?: {
|
|
|
25
25
|
configuration?: "heroku" | PoolConfig;
|
|
26
26
|
autoCreateTables?: boolean;
|
|
27
27
|
}): Promise<SqlDatabase>;
|
|
28
|
-
export declare function preparePostgresQueueStorage(sql: SqlDatabase): Promise<import("../server/expressBridge").EntityQueueStorage>;
|
|
28
|
+
export declare function preparePostgresQueueStorage(sql: SqlDatabase): Promise<import("../server/expressBridge.js").EntityQueueStorage>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Remult } from '../src/context';
|
|
3
|
-
import { PostgresSchemaBuilder, verifyStructureOfAllEntities } from './schema-builder';
|
|
4
|
-
import { SqlDatabase } from '../src/data-providers/sql-database';
|
|
1
|
+
import * as pg from 'pg';
|
|
2
|
+
import { Remult } from '../src/context.js';
|
|
3
|
+
import { PostgresSchemaBuilder, verifyStructureOfAllEntities } from './schema-builder.js';
|
|
4
|
+
import { SqlDatabase } from '../src/data-providers/sql-database.js';
|
|
5
|
+
const { Pool } = pg;
|
|
5
6
|
export class PostgresDataProvider {
|
|
6
|
-
|
|
7
|
-
this.pool = pool;
|
|
8
|
-
}
|
|
7
|
+
pool;
|
|
9
8
|
async entityIsUsedForTheFirstTime(entity) {
|
|
10
9
|
}
|
|
11
10
|
getLimitSqlSyntax(limit, offset) {
|
|
@@ -14,6 +13,9 @@ export class PostgresDataProvider {
|
|
|
14
13
|
createCommand() {
|
|
15
14
|
return new PostgresBridgeToSQLCommand(this.pool);
|
|
16
15
|
}
|
|
16
|
+
constructor(pool) {
|
|
17
|
+
this.pool = pool;
|
|
18
|
+
}
|
|
17
19
|
async transaction(action) {
|
|
18
20
|
let client = await this.pool.connect();
|
|
19
21
|
try {
|
|
@@ -36,10 +38,11 @@ export class PostgresDataProvider {
|
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
class PostgresBridgeToSQLCommand {
|
|
41
|
+
source;
|
|
39
42
|
constructor(source) {
|
|
40
43
|
this.source = source;
|
|
41
|
-
this.values = [];
|
|
42
44
|
}
|
|
45
|
+
values = [];
|
|
43
46
|
addParameterAndReturnSqlToken(val) {
|
|
44
47
|
this.values.push(val);
|
|
45
48
|
return '$' + this.values.length;
|
|
@@ -49,13 +52,15 @@ class PostgresBridgeToSQLCommand {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
class PostgresBridgeToSQLQueryResult {
|
|
55
|
+
r;
|
|
56
|
+
getColumnKeyInResultForIndexInSelect(index) {
|
|
57
|
+
return this.r.fields[index].name;
|
|
58
|
+
}
|
|
52
59
|
constructor(r) {
|
|
53
60
|
this.r = r;
|
|
54
61
|
this.rows = r.rows;
|
|
55
62
|
}
|
|
56
|
-
|
|
57
|
-
return this.r.fields[index].name;
|
|
58
|
-
}
|
|
63
|
+
rows;
|
|
59
64
|
}
|
|
60
65
|
export async function createPostgresConnection(options) {
|
|
61
66
|
if (!options)
|
|
@@ -89,9 +94,9 @@ export async function createPostgresConnection(options) {
|
|
|
89
94
|
export async function preparePostgresQueueStorage(sql) {
|
|
90
95
|
let c = new Remult();
|
|
91
96
|
c.dataProvider = (sql);
|
|
92
|
-
let JobsInQueueEntity = (await import('../server/expressBridge')).JobsInQueueEntity;
|
|
97
|
+
let JobsInQueueEntity = (await import('../server/expressBridge.js')).JobsInQueueEntity;
|
|
93
98
|
let e = c.repo(JobsInQueueEntity);
|
|
94
99
|
await new PostgresSchemaBuilder(sql).createIfNotExist(e.metadata);
|
|
95
100
|
await new PostgresSchemaBuilder(sql).verifyAllColumns(e.metadata);
|
|
96
|
-
return new (await import('../server/expressBridge')).EntityQueueStorage(c.repo(JobsInQueueEntity));
|
|
101
|
+
return new (await import('../server/expressBridge.js')).EntityQueueStorage(c.repo(JobsInQueueEntity));
|
|
97
102
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FieldMetadata } from '../src/column-interfaces';
|
|
2
|
-
import { Remult } from '../src/context';
|
|
3
|
-
import { SqlDatabase } from '../src/data-providers/sql-database';
|
|
4
|
-
import { EntityMetadata } from '../src/remult3';
|
|
1
|
+
import { FieldMetadata } from '../src/column-interfaces.js';
|
|
2
|
+
import { Remult } from '../src/context.js';
|
|
3
|
+
import { SqlDatabase } from '../src/data-providers/sql-database.js';
|
|
4
|
+
import { EntityMetadata } from '../src/remult3/index.js';
|
|
5
5
|
export declare function postgresColumnSyntax(x: FieldMetadata, dbName: string): string;
|
|
6
6
|
export declare function verifyStructureOfAllEntities(db: SqlDatabase, remult: Remult): Promise<void>;
|
|
7
7
|
export declare class PostgresSchemaBuilder {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { allEntities } from '../src/context';
|
|
2
|
-
import { getDbNameProvider } from '../src/filter/filter-consumer-bridge-to-sql-request';
|
|
3
|
-
import { isAutoIncrement } from '../src/remult3';
|
|
4
|
-
import { ValueConverters } from '../src/valueConverters';
|
|
1
|
+
import { allEntities } from '../src/context.js';
|
|
2
|
+
import { getDbNameProvider } from '../src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
3
|
+
import { isAutoIncrement } from '../src/remult3/index.js';
|
|
4
|
+
import { ValueConverters } from '../src/valueConverters.js';
|
|
5
5
|
export function postgresColumnSyntax(x, dbName) {
|
|
6
6
|
let result = dbName;
|
|
7
7
|
if (x.valueType == Number) {
|
|
@@ -35,13 +35,7 @@ export async function verifyStructureOfAllEntities(db, remult) {
|
|
|
35
35
|
return await new PostgresSchemaBuilder(db).verifyStructureOfAllEntities(remult);
|
|
36
36
|
}
|
|
37
37
|
export class PostgresSchemaBuilder {
|
|
38
|
-
|
|
39
|
-
this.pool = pool;
|
|
40
|
-
this.additionalWhere = '';
|
|
41
|
-
if (schema) {
|
|
42
|
-
this.additionalWhere = ' and table_schema=\'' + schema + '\'';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
38
|
+
pool;
|
|
45
39
|
async verifyStructureOfAllEntities(remult) {
|
|
46
40
|
console.log("start verify structure");
|
|
47
41
|
for (const entityClass of allEntities) {
|
|
@@ -125,4 +119,11 @@ export class PostgresSchemaBuilder {
|
|
|
125
119
|
console.log(err);
|
|
126
120
|
}
|
|
127
121
|
}
|
|
122
|
+
additionalWhere = '';
|
|
123
|
+
constructor(pool, schema) {
|
|
124
|
+
this.pool = pool;
|
|
125
|
+
if (schema) {
|
|
126
|
+
this.additionalWhere = ' and table_schema=\'' + schema + '\'';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
128
129
|
}
|
package/esm/remult-express.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as express from 'express';
|
|
2
|
-
import { RemultServer, RemultServerOptions } from './server/expressBridge';
|
|
2
|
+
import { RemultServer, RemultServerOptions } from './server/expressBridge.js';
|
|
3
3
|
export declare function remultExpress(options?: RemultServerOptions<express.Request> & {
|
|
4
4
|
bodyParser?: boolean;
|
|
5
5
|
bodySizeLimit?: string;
|
package/esm/remult-express.js
CHANGED
package/esm/remult-fastify.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FastifyPluginCallback, FastifyRequest } from 'fastify';
|
|
2
|
-
import { RemultServer, RemultServerOptions } from './server/expressBridge';
|
|
2
|
+
import { RemultServer, RemultServerOptions } from './server/expressBridge.js';
|
|
3
3
|
export declare function remultFastify(options: RemultServerOptions<FastifyRequest>): FastifyPluginCallback & RemultServer;
|
package/esm/remult-fastify.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createRemultServer } from './server/expressBridge';
|
|
1
|
+
import { createRemultServer } from './server/expressBridge.js';
|
|
2
2
|
export function remultFastify(options) {
|
|
3
3
|
function fastifyHandler(handler) {
|
|
4
4
|
const response = (req, res) => {
|
|
@@ -47,6 +47,7 @@ export function remultFastify(options) {
|
|
|
47
47
|
return Object.assign(pluginFunction, {
|
|
48
48
|
getRemult: x => api.getRemult(x),
|
|
49
49
|
openApiDoc: x => api.openApiDoc(x),
|
|
50
|
-
handle: (req, res) => api.handle(req, res)
|
|
50
|
+
handle: (req, res) => api.handle(req, res),
|
|
51
|
+
withRemult: (req, res, next) => api.withRemult(req, res, next)
|
|
51
52
|
});
|
|
52
53
|
}
|
package/esm/remult-fresh.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RemultServerOptions, GenericRequest } from "./server/expressBridge";
|
|
2
|
-
import { Remult } from "./src/context";
|
|
1
|
+
import { RemultServerOptions, GenericRequest } from "./server/expressBridge.js";
|
|
2
|
+
import { Remult } from "./src/context.js";
|
|
3
3
|
export declare function remultFresh<RequestType extends GenericRequest>(options: RemultServerOptions<RequestType>, response: FreshResponse): RemultFresh;
|
|
4
4
|
export interface RemultFresh {
|
|
5
5
|
getRemult(req: GenericRequest): Promise<Remult>;
|
package/esm/remult-fresh.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Knex } from 'knex';
|
|
2
|
-
import { Filter, FilterConsumer } from "../src/filter/filter-interfaces";
|
|
3
|
-
import { dbNameProvider } from "../src/filter/filter-consumer-bridge-to-sql-request";
|
|
4
|
-
import { Remult } from "../src/context";
|
|
5
|
-
import { EntityFilter, EntityMetadata } from "../src/remult3";
|
|
6
|
-
import { DataProvider, EntityDataProvider } from '../src/data-interfaces';
|
|
7
|
-
import { FieldMetadata } from '../src/column-interfaces';
|
|
2
|
+
import { Filter, FilterConsumer } from "../src/filter/filter-interfaces.js";
|
|
3
|
+
import { dbNameProvider } from "../src/filter/filter-consumer-bridge-to-sql-request.js";
|
|
4
|
+
import { Remult } from "../src/context.js";
|
|
5
|
+
import { EntityFilter, EntityMetadata } from "../src/remult3/index.js";
|
|
6
|
+
import { DataProvider, EntityDataProvider } from '../src/data-interfaces.js';
|
|
7
|
+
import { FieldMetadata } from '../src/column-interfaces.js';
|
|
8
8
|
export declare class KnexDataProvider implements DataProvider {
|
|
9
9
|
knex: Knex;
|
|
10
10
|
constructor(knex: Knex);
|
package/esm/remult-knex/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import knex from 'knex';
|
|
2
|
-
import { customDatabaseFilterToken, Filter } from "../src/filter/filter-interfaces";
|
|
3
|
-
import { getDbNameProvider } from "../src/filter/filter-consumer-bridge-to-sql-request";
|
|
4
|
-
import { allEntities, Remult } from "../src/context";
|
|
5
|
-
import { isAutoIncrement } from "../src/remult3";
|
|
6
|
-
import { ValueConverters } from "../src/valueConverters";
|
|
7
|
-
import { CompoundIdField } from '../src/column';
|
|
8
|
-
import { Sort } from '../src/sort';
|
|
2
|
+
import { customDatabaseFilterToken, Filter } from "../src/filter/filter-interfaces.js";
|
|
3
|
+
import { getDbNameProvider } from "../src/filter/filter-consumer-bridge-to-sql-request.js";
|
|
4
|
+
import { allEntities, Remult } from "../src/context.js";
|
|
5
|
+
import { isAutoIncrement } from "../src/remult3/index.js";
|
|
6
|
+
import { ValueConverters } from "../src/valueConverters.js";
|
|
7
|
+
import { CompoundIdField } from '../src/column.js';
|
|
8
|
+
import { Sort } from '../src/sort.js';
|
|
9
9
|
export class KnexDataProvider {
|
|
10
|
+
knex;
|
|
10
11
|
constructor(knex) {
|
|
11
12
|
this.knex = knex;
|
|
12
13
|
}
|
|
@@ -31,8 +32,11 @@ export class KnexDataProvider {
|
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
supportsCustomFilter;
|
|
34
36
|
}
|
|
35
37
|
class KnexEntityDataProvider {
|
|
38
|
+
entity;
|
|
39
|
+
knex;
|
|
36
40
|
constructor(entity, knex) {
|
|
37
41
|
this.entity = entity;
|
|
38
42
|
this.knex = knex;
|
|
@@ -165,12 +169,10 @@ class KnexEntityDataProvider {
|
|
|
165
169
|
}
|
|
166
170
|
}
|
|
167
171
|
export class FilterConsumerBridgeToKnexRequest {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
this.result = [];
|
|
173
|
-
}
|
|
172
|
+
nameProvider;
|
|
173
|
+
_addWhere = true;
|
|
174
|
+
promises = [];
|
|
175
|
+
result = [];
|
|
174
176
|
async resolveWhere() {
|
|
175
177
|
while (this.promises.length > 0) {
|
|
176
178
|
let p = this.promises;
|
|
@@ -181,6 +183,9 @@ export class FilterConsumerBridgeToKnexRequest {
|
|
|
181
183
|
}
|
|
182
184
|
return this.result;
|
|
183
185
|
}
|
|
186
|
+
constructor(nameProvider) {
|
|
187
|
+
this.nameProvider = nameProvider;
|
|
188
|
+
}
|
|
184
189
|
custom(key, customItem) {
|
|
185
190
|
throw new Error("Custom filter should be translated before it gets here");
|
|
186
191
|
}
|
|
@@ -251,10 +256,7 @@ export class FilterConsumerBridgeToKnexRequest {
|
|
|
251
256
|
}
|
|
252
257
|
}
|
|
253
258
|
export class KnexSchemaBuilder {
|
|
254
|
-
|
|
255
|
-
this.knex = knex;
|
|
256
|
-
this.additionalWhere = '';
|
|
257
|
-
}
|
|
259
|
+
knex;
|
|
258
260
|
async verifyStructureOfAllEntities(remult) {
|
|
259
261
|
console.log("start verify structure");
|
|
260
262
|
for (const entity of allEntities) {
|
|
@@ -322,6 +324,10 @@ export class KnexSchemaBuilder {
|
|
|
322
324
|
console.log(err);
|
|
323
325
|
}
|
|
324
326
|
}
|
|
327
|
+
additionalWhere = '';
|
|
328
|
+
constructor(knex) {
|
|
329
|
+
this.knex = knex;
|
|
330
|
+
}
|
|
325
331
|
}
|
|
326
332
|
export function buildColumn(x, dbName, b) {
|
|
327
333
|
if (x.valueType == Number) {
|
package/esm/remult-mongo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MongoClient, Db } from 'mongodb';
|
|
2
|
-
import { DataProvider, EntityDataProvider, EntityMetadata } from '.';
|
|
2
|
+
import { DataProvider, EntityDataProvider, EntityMetadata } from './index.js';
|
|
3
3
|
export declare class MongoDataProvider implements DataProvider {
|
|
4
4
|
private db;
|
|
5
5
|
private client;
|
package/esm/remult-mongo.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { CompoundIdField, Filter } from '.';
|
|
2
|
-
import { getDbNameProvider } from './src/filter/filter-consumer-bridge-to-sql-request';
|
|
1
|
+
import { CompoundIdField, Filter } from './index.js';
|
|
2
|
+
import { getDbNameProvider } from './src/filter/filter-consumer-bridge-to-sql-request.js';
|
|
3
3
|
export class MongoDataProvider {
|
|
4
|
+
db;
|
|
5
|
+
client;
|
|
4
6
|
constructor(db, client) {
|
|
5
7
|
this.db = db;
|
|
6
8
|
this.client = client;
|
|
@@ -26,6 +28,8 @@ function isNull(x) {
|
|
|
26
28
|
return x?.$null === NULL.$null;
|
|
27
29
|
}
|
|
28
30
|
class MongoEntityDataProvider {
|
|
31
|
+
db;
|
|
32
|
+
entity;
|
|
29
33
|
constructor(db, entity) {
|
|
30
34
|
this.db = db;
|
|
31
35
|
this.entity = entity;
|
|
@@ -122,12 +126,10 @@ class MongoEntityDataProvider {
|
|
|
122
126
|
}
|
|
123
127
|
}
|
|
124
128
|
class FilterConsumerBridgeToMongo {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
this.result = [];
|
|
130
|
-
}
|
|
129
|
+
nameProvider;
|
|
130
|
+
_addWhere = true;
|
|
131
|
+
promises = [];
|
|
132
|
+
result = [];
|
|
131
133
|
async resolveWhere() {
|
|
132
134
|
while (this.promises.length > 0) {
|
|
133
135
|
let p = this.promises;
|
|
@@ -141,6 +143,9 @@ class FilterConsumerBridgeToMongo {
|
|
|
141
143
|
else
|
|
142
144
|
return {};
|
|
143
145
|
}
|
|
146
|
+
constructor(nameProvider) {
|
|
147
|
+
this.nameProvider = nameProvider;
|
|
148
|
+
}
|
|
144
149
|
custom(key, customItem) {
|
|
145
150
|
throw new Error("Custom filter should be translated before it gets here");
|
|
146
151
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
|
-
import { JsonDataProvider } from '../index';
|
|
3
|
+
import { JsonDataProvider } from '../index.js';
|
|
4
4
|
export class JsonEntityFileStorage {
|
|
5
|
-
|
|
6
|
-
this.folderPath = folderPath;
|
|
7
|
-
}
|
|
5
|
+
folderPath;
|
|
8
6
|
getItem(entityDbName) {
|
|
9
7
|
let fn = path.join(this.folderPath, entityDbName) + '.json';
|
|
10
8
|
if (fs.existsSync(fn)) {
|
|
@@ -18,6 +16,9 @@ export class JsonEntityFileStorage {
|
|
|
18
16
|
}
|
|
19
17
|
return fs.writeFileSync(path.join(this.folderPath, entityDbName) + '.json', json);
|
|
20
18
|
}
|
|
19
|
+
constructor(folderPath) {
|
|
20
|
+
this.folderPath = folderPath;
|
|
21
|
+
}
|
|
21
22
|
}
|
|
22
23
|
export class JsonFileDataProvider extends JsonDataProvider {
|
|
23
24
|
constructor(folderPath) { super(new JsonEntityFileStorage(folderPath)); }
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { queuedJobInfoResponse } from '../src/server-action';
|
|
2
|
-
import { DataProvider } from '../src/data-interfaces';
|
|
3
|
-
import { Remult, UserInfo } from '../src/context';
|
|
4
|
-
import { ClassType } from '../classType';
|
|
5
|
-
import { Repository } from '../src/remult3';
|
|
6
|
-
import { IdEntity } from '../src/id-entity';
|
|
1
|
+
import { queuedJobInfoResponse } from '../src/server-action.js';
|
|
2
|
+
import { DataProvider } from '../src/data-interfaces.js';
|
|
3
|
+
import { Remult, UserInfo } from '../src/context.js';
|
|
4
|
+
import { ClassType } from '../classType.js';
|
|
5
|
+
import { Repository } from '../src/remult3/index.js';
|
|
6
|
+
import { IdEntity } from '../src/id-entity.js';
|
|
7
7
|
export interface RemultServerOptions<RequestType extends GenericRequest> {
|
|
8
8
|
/** Sets a database connection for Remult.
|
|
9
9
|
*
|