@contember/client 1.2.6 → 1.3.0-alpha.3
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/dist/development/content/formatContentApiRelativeUrl.cjs +5 -0
- package/dist/development/content/formatContentApiRelativeUrl.cjs.map +1 -0
- package/dist/development/content/params/whereToFilter.cjs +17 -0
- package/dist/development/content/params/whereToFilter.cjs.map +1 -0
- package/dist/development/content/replaceGraphQlLiteral.cjs +15 -0
- package/dist/development/content/replaceGraphQlLiteral.cjs.map +1 -0
- package/dist/development/content/replaceGraphQlLiteral.js +15 -0
- package/dist/development/content/replaceGraphQlLiteral.js.map +1 -0
- package/dist/development/content/upload/FileUploadError.cjs +10 -0
- package/dist/development/content/upload/FileUploadError.cjs.map +1 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.cjs +64 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.cjs.map +1 -0
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js +48 -19
- package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
- package/dist/development/content/upload/S3FileUploader.cjs +107 -0
- package/dist/development/content/upload/S3FileUploader.cjs.map +1 -0
- package/dist/development/content/upload/S3FileUploader.js +1 -2
- package/dist/development/content/upload/S3FileUploader.js.map +1 -1
- package/dist/development/graphQlBuilder/GraphQlLiteral.cjs +15 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.cjs.map +1 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.js +3 -0
- package/dist/development/graphQlBuilder/GraphQlLiteral.js.map +1 -1
- package/dist/development/graphQlClient/GraphQlClient.cjs +26 -0
- package/dist/development/graphQlClient/GraphQlClient.cjs.map +1 -0
- package/dist/development/graphQlClient/GraphQlClient.js +9 -16
- package/dist/development/graphQlClient/GraphQlClient.js.map +1 -1
- package/dist/development/index.cjs +46 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +5 -26
- package/dist/development/index.js.map +1 -1
- package/dist/development/system/formatSystemApiRelativeUrl.cjs +5 -0
- package/dist/development/system/formatSystemApiRelativeUrl.cjs.map +1 -0
- package/dist/development/tenant/loginMutation.cjs +34 -0
- package/dist/development/tenant/loginMutation.cjs.map +1 -0
- package/dist/development/tenant/tenantApiRelativeUrl.cjs +5 -0
- package/dist/development/tenant/tenantApiRelativeUrl.cjs.map +1 -0
- package/dist/development/tenant/tenantErrorMessages.cjs +18 -0
- package/dist/development/tenant/tenantErrorMessages.cjs.map +1 -0
- package/dist/development/utils/readFileAsArrayBuffer.cjs +15 -0
- package/dist/development/utils/readFileAsArrayBuffer.cjs.map +1 -0
- package/dist/production/content/formatContentApiRelativeUrl.cjs +5 -0
- package/dist/production/content/formatContentApiRelativeUrl.cjs.map +1 -0
- package/dist/production/content/params/whereToFilter.cjs +17 -0
- package/dist/production/content/params/whereToFilter.cjs.map +1 -0
- package/dist/production/content/replaceGraphQlLiteral.cjs +15 -0
- package/dist/production/content/replaceGraphQlLiteral.cjs.map +1 -0
- package/dist/production/content/replaceGraphQlLiteral.js +15 -0
- package/dist/production/content/replaceGraphQlLiteral.js.map +1 -0
- package/dist/production/content/upload/FileUploadError.cjs +10 -0
- package/dist/production/content/upload/FileUploadError.cjs.map +1 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.cjs +64 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.cjs.map +1 -0
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.js +48 -19
- package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
- package/dist/production/content/upload/S3FileUploader.cjs +107 -0
- package/dist/production/content/upload/S3FileUploader.cjs.map +1 -0
- package/dist/production/content/upload/S3FileUploader.js +1 -2
- package/dist/production/content/upload/S3FileUploader.js.map +1 -1
- package/dist/production/graphQlBuilder/GraphQlLiteral.cjs +12 -0
- package/dist/production/graphQlBuilder/GraphQlLiteral.cjs.map +1 -0
- package/dist/production/graphQlBuilder/GraphQlLiteral.js.map +1 -1
- package/dist/production/graphQlClient/GraphQlClient.cjs +26 -0
- package/dist/production/graphQlClient/GraphQlClient.cjs.map +1 -0
- package/dist/production/graphQlClient/GraphQlClient.js +9 -16
- package/dist/production/graphQlClient/GraphQlClient.js.map +1 -1
- package/dist/production/index.cjs +46 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +5 -26
- package/dist/production/index.js.map +1 -1
- package/dist/production/system/formatSystemApiRelativeUrl.cjs +5 -0
- package/dist/production/system/formatSystemApiRelativeUrl.cjs.map +1 -0
- package/dist/production/tenant/loginMutation.cjs +34 -0
- package/dist/production/tenant/loginMutation.cjs.map +1 -0
- package/dist/production/tenant/tenantApiRelativeUrl.cjs +5 -0
- package/dist/production/tenant/tenantApiRelativeUrl.cjs.map +1 -0
- package/dist/production/tenant/tenantErrorMessages.cjs +18 -0
- package/dist/production/tenant/tenantErrorMessages.cjs.map +1 -0
- package/dist/production/utils/readFileAsArrayBuffer.cjs +15 -0
- package/dist/production/utils/readFileAsArrayBuffer.cjs.map +1 -0
- package/dist/types/content/index.d.ts +1 -0
- package/dist/types/content/index.d.ts.map +1 -1
- package/dist/types/content/replaceGraphQlLiteral.d.ts +6 -0
- package/dist/types/content/replaceGraphQlLiteral.d.ts.map +1 -0
- package/dist/types/content/upload/GenerateUploadUrlMutationBuilder.d.ts +8 -4
- package/dist/types/content/upload/GenerateUploadUrlMutationBuilder.d.ts.map +1 -1
- package/dist/types/content/upload/S3FileUploader.d.ts.map +1 -1
- package/dist/types/crudQueryBuilder/index.d.ts +0 -6
- package/dist/types/crudQueryBuilder/index.d.ts.map +1 -1
- package/dist/types/crudQueryBuilder/types.d.ts +2 -43
- package/dist/types/crudQueryBuilder/types.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/GraphQlLiteral.d.ts +3 -0
- package/dist/types/graphQlBuilder/GraphQlLiteral.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/QueryBuilder.d.ts +2 -8
- package/dist/types/graphQlBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/types/graphQlBuilder/index.d.ts +0 -3
- package/dist/types/graphQlBuilder/index.d.ts.map +1 -1
- package/dist/types/graphQlClient/GraphQlClient.d.ts +10 -12
- package/dist/types/graphQlClient/GraphQlClient.d.ts.map +1 -1
- package/dist/types/graphQlClient/index.d.ts +2 -0
- package/dist/types/graphQlClient/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -29
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -3
- package/src/content/index.ts +1 -1
- package/src/content/replaceGraphQlLiteral.ts +22 -0
- package/src/content/upload/GenerateUploadUrlMutationBuilder.ts +56 -33
- package/src/content/upload/S3FileUploader.ts +1 -2
- package/src/crudQueryBuilder/index.ts +0 -6
- package/src/crudQueryBuilder/types.ts +5 -70
- package/src/graphQlBuilder/GraphQlLiteral.ts +8 -1
- package/src/graphQlBuilder/QueryBuilder.ts +2 -23
- package/src/graphQlBuilder/index.ts +0 -3
- package/src/graphQlClient/GraphQlClient.ts +15 -28
- package/src/graphQlClient/index.ts +7 -0
- package/src/index.ts +5 -31
- package/src/tsconfig.json +12 -1
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js +0 -104
- package/dist/development/crudQueryBuilder/CrudQueryBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js +0 -6
- package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js.map +0 -1
- package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js +0 -15
- package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/ReadBuilder.js +0 -70
- package/dist/development/crudQueryBuilder/ReadBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js +0 -18
- package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteBuilder.js +0 -54
- package/dist/development/crudQueryBuilder/WriteBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteDataBuilder.js +0 -110
- package/dist/development/crudQueryBuilder/WriteDataBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js +0 -77
- package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js +0 -51
- package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js.map +0 -1
- package/dist/development/crudQueryBuilder/types.js +0 -40
- package/dist/development/crudQueryBuilder/types.js.map +0 -1
- package/dist/development/graphQlBuilder/GraphQlBuilderError.js +0 -6
- package/dist/development/graphQlBuilder/GraphQlBuilderError.js.map +0 -1
- package/dist/development/graphQlBuilder/ObjectBuilder.js +0 -80
- package/dist/development/graphQlBuilder/ObjectBuilder.js.map +0 -1
- package/dist/development/graphQlBuilder/QueryBuilder.js +0 -22
- package/dist/development/graphQlBuilder/QueryBuilder.js.map +0 -1
- package/dist/development/graphQlBuilder/QueryCompiler.js +0 -101
- package/dist/development/graphQlBuilder/QueryCompiler.js.map +0 -1
- package/dist/development/graphQlBuilder/RootObjectBuilder.js +0 -31
- package/dist/development/graphQlBuilder/RootObjectBuilder.js.map +0 -1
- package/dist/development/utils/isEmptyObject.js +0 -12
- package/dist/development/utils/isEmptyObject.js.map +0 -1
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js +0 -104
- package/dist/production/crudQueryBuilder/CrudQueryBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/CrudQueryBuilderError.js +0 -6
- package/dist/production/crudQueryBuilder/CrudQueryBuilderError.js.map +0 -1
- package/dist/production/crudQueryBuilder/ErrorsRelationBuilder.js +0 -15
- package/dist/production/crudQueryBuilder/ErrorsRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/ReadBuilder.js +0 -70
- package/dist/production/crudQueryBuilder/ReadBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/ValidationRelationBuilder.js +0 -18
- package/dist/production/crudQueryBuilder/ValidationRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteBuilder.js +0 -54
- package/dist/production/crudQueryBuilder/WriteBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteDataBuilder.js +0 -110
- package/dist/production/crudQueryBuilder/WriteDataBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteManyRelationBuilder.js +0 -77
- package/dist/production/crudQueryBuilder/WriteManyRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/WriteOneRelationBuilder.js +0 -51
- package/dist/production/crudQueryBuilder/WriteOneRelationBuilder.js.map +0 -1
- package/dist/production/crudQueryBuilder/types.js +0 -40
- package/dist/production/crudQueryBuilder/types.js.map +0 -1
- package/dist/production/graphQlBuilder/GraphQlBuilderError.js +0 -6
- package/dist/production/graphQlBuilder/GraphQlBuilderError.js.map +0 -1
- package/dist/production/graphQlBuilder/ObjectBuilder.js +0 -80
- package/dist/production/graphQlBuilder/ObjectBuilder.js.map +0 -1
- package/dist/production/graphQlBuilder/QueryBuilder.js +0 -22
- package/dist/production/graphQlBuilder/QueryBuilder.js.map +0 -1
- package/dist/production/graphQlBuilder/QueryCompiler.js +0 -101
- package/dist/production/graphQlBuilder/QueryCompiler.js.map +0 -1
- package/dist/production/graphQlBuilder/RootObjectBuilder.js +0 -31
- package/dist/production/graphQlBuilder/RootObjectBuilder.js.map +0 -1
- package/dist/production/utils/isEmptyObject.js +0 -12
- package/dist/production/utils/isEmptyObject.js.map +0 -1
- package/dist/types/crudQueryBuilder/CrudQueryBuilder.d.ts +0 -21
- package/dist/types/crudQueryBuilder/CrudQueryBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/CrudQueryBuilderError.d.ts +0 -3
- package/dist/types/crudQueryBuilder/CrudQueryBuilderError.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ErrorsRelationBuilder.d.ts +0 -5
- package/dist/types/crudQueryBuilder/ErrorsRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ReadBuilder.d.ts +0 -31
- package/dist/types/crudQueryBuilder/ReadBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/ValidationRelationBuilder.d.ts +0 -5
- package/dist/types/crudQueryBuilder/ValidationRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteBuilder.d.ts +0 -24
- package/dist/types/crudQueryBuilder/WriteBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteDataBuilder.d.ts +0 -24
- package/dist/types/crudQueryBuilder/WriteDataBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteManyRelationBuilder.d.ts +0 -27
- package/dist/types/crudQueryBuilder/WriteManyRelationBuilder.d.ts.map +0 -1
- package/dist/types/crudQueryBuilder/WriteOneRelationBuilder.d.ts +0 -28
- package/dist/types/crudQueryBuilder/WriteOneRelationBuilder.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/GraphQlBuilderError.d.ts +0 -3
- package/dist/types/graphQlBuilder/GraphQlBuilderError.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/ObjectBuilder.d.ts +0 -28
- package/dist/types/graphQlBuilder/ObjectBuilder.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/QueryCompiler.d.ts +0 -13
- package/dist/types/graphQlBuilder/QueryCompiler.d.ts.map +0 -1
- package/dist/types/graphQlBuilder/RootObjectBuilder.d.ts +0 -17
- package/dist/types/graphQlBuilder/RootObjectBuilder.d.ts.map +0 -1
- package/src/crudQueryBuilder/CrudQueryBuilder.ts +0 -168
- package/src/crudQueryBuilder/CrudQueryBuilderError.ts +0 -1
- package/src/crudQueryBuilder/ErrorsRelationBuilder.ts +0 -16
- package/src/crudQueryBuilder/ReadBuilder.ts +0 -106
- package/src/crudQueryBuilder/ValidationRelationBuilder.ts +0 -17
- package/src/crudQueryBuilder/WriteBuilder.ts +0 -79
- package/src/crudQueryBuilder/WriteDataBuilder.ts +0 -153
- package/src/crudQueryBuilder/WriteManyRelationBuilder.ts +0 -141
- package/src/crudQueryBuilder/WriteOneRelationBuilder.ts +0 -101
- package/src/graphQlBuilder/GraphQlBuilderError.ts +0 -1
- package/src/graphQlBuilder/ObjectBuilder.ts +0 -87
- package/src/graphQlBuilder/QueryCompiler.ts +0 -115
- package/src/graphQlBuilder/RootObjectBuilder.ts +0 -36
package/src/index.ts
CHANGED
|
@@ -1,44 +1,16 @@
|
|
|
1
1
|
import * as CrudQueryBuilderTmp from './crudQueryBuilder'
|
|
2
2
|
|
|
3
3
|
import * as GraphQlBuilderTmp from './graphQlBuilder'
|
|
4
|
+
|
|
4
5
|
export { GraphQlLiteral } from './graphQlBuilder'
|
|
5
6
|
|
|
6
7
|
export namespace GraphQlBuilder {
|
|
7
|
-
export import GraphqlLiteral = GraphQlBuilderTmp.GraphQlLiteral
|
|
8
|
-
export import GraphQlLiteral = GraphQlBuilderTmp.GraphQlLiteral
|
|
9
|
-
export import ObjectBuilder = GraphQlBuilderTmp.ObjectBuilder
|
|
10
|
-
export import QueryCompiler = GraphQlBuilderTmp.QueryCompiler
|
|
11
|
-
export import QueryBuilder = GraphQlBuilderTmp.QueryBuilder
|
|
12
|
-
export import RootObjectBuilder = GraphQlBuilderTmp.RootObjectBuilder
|
|
8
|
+
export import GraphqlLiteral = GraphQlBuilderTmp.GraphQlLiteral;
|
|
9
|
+
export import GraphQlLiteral = GraphQlBuilderTmp.GraphQlLiteral;
|
|
13
10
|
}
|
|
14
11
|
|
|
15
12
|
export namespace CrudQueryBuilder {
|
|
16
|
-
export import CrudQueryBuilder = CrudQueryBuilderTmp.CrudQueryBuilder
|
|
17
|
-
export import ReadBuilder = CrudQueryBuilderTmp.ReadBuilder
|
|
18
|
-
export import WriteBuilder = CrudQueryBuilderTmp.WriteBuilder
|
|
19
|
-
export import WriteDataBuilder = CrudQueryBuilderTmp.WriteDataBuilder
|
|
20
|
-
export import WriteManyRelationBuilder = CrudQueryBuilderTmp.WriteManyRelationBuilder
|
|
21
|
-
export import WriteOneRelationBuilder = CrudQueryBuilderTmp.WriteOneRelationBuilder
|
|
22
|
-
export import WriteOperation = CrudQueryBuilderTmp.WriteOperation
|
|
23
|
-
export type CreateMutationArguments = CrudQueryBuilderTmp.CreateMutationArguments
|
|
24
|
-
export type CreateMutationFields = CrudQueryBuilderTmp.CreateMutationFields
|
|
25
|
-
export type DeleteMutationArguments = CrudQueryBuilderTmp.DeleteMutationArguments
|
|
26
|
-
export type DeleteMutationFields = CrudQueryBuilderTmp.DeleteMutationFields
|
|
27
|
-
export type GetQueryArguments = CrudQueryBuilderTmp.GetQueryArguments
|
|
28
|
-
export type HasManyArguments = CrudQueryBuilderTmp.HasManyArguments
|
|
29
|
-
export type HasOneArguments = CrudQueryBuilderTmp.HasOneArguments
|
|
30
|
-
export type ListQueryArguments = CrudQueryBuilderTmp.ListQueryArguments
|
|
31
|
-
export type Mutations = CrudQueryBuilderTmp.Mutations
|
|
32
13
|
export type OrderDirection = CrudQueryBuilderTmp.OrderDirection
|
|
33
|
-
export type PaginateQueryArguments = CrudQueryBuilderTmp.PaginateQueryArguments
|
|
34
|
-
export type Queries = CrudQueryBuilderTmp.Queries
|
|
35
|
-
export type ReadArguments = CrudQueryBuilderTmp.ReadArguments
|
|
36
|
-
export type ReductionArguments = CrudQueryBuilderTmp.ReductionArguments
|
|
37
|
-
export type UpdateMutationArguments = CrudQueryBuilderTmp.UpdateMutationArguments
|
|
38
|
-
export type UpdateMutationFields = CrudQueryBuilderTmp.UpdateMutationFields
|
|
39
|
-
export type WriteArguments = CrudQueryBuilderTmp.WriteArguments
|
|
40
|
-
export type WriteFields = CrudQueryBuilderTmp.WriteFields
|
|
41
|
-
export type WriteRelationOps = CrudQueryBuilderTmp.WriteRelationOps
|
|
42
14
|
}
|
|
43
15
|
|
|
44
16
|
export * from './content'
|
|
@@ -46,4 +18,6 @@ export * from './graphQlClient'
|
|
|
46
18
|
export * from './system'
|
|
47
19
|
export * from './tenant'
|
|
48
20
|
|
|
21
|
+
export * from '@contember/client-content'
|
|
22
|
+
|
|
49
23
|
export type { Input, Value, Result, Writable } from '@contember/schema'
|
package/src/tsconfig.json
CHANGED
|
@@ -2,5 +2,16 @@
|
|
|
2
2
|
"extends": "../../../tsconfig.settings.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"outDir": "../dist/types"
|
|
5
|
-
}
|
|
5
|
+
},
|
|
6
|
+
"references": [
|
|
7
|
+
{
|
|
8
|
+
"path": "../../client-content/src"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"path": "../../graphql-builder/src"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "../../graphql-client/src"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
6
17
|
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { CrudQueryBuilderError } from "./CrudQueryBuilderError.js";
|
|
2
|
-
import { ReadBuilder } from "./ReadBuilder.js";
|
|
3
|
-
import { WriteBuilder } from "./WriteBuilder.js";
|
|
4
|
-
import { RootObjectBuilder } from "../graphQlBuilder/RootObjectBuilder.js";
|
|
5
|
-
import { QueryBuilder } from "../graphQlBuilder/QueryBuilder.js";
|
|
6
|
-
import { isEmptyObject } from "../utils/isEmptyObject.js";
|
|
7
|
-
import { ObjectBuilder } from "../graphQlBuilder/ObjectBuilder.js";
|
|
8
|
-
class CrudQueryBuilder {
|
|
9
|
-
constructor(type = void 0, rootObjectBuilder = new RootObjectBuilder()) {
|
|
10
|
-
this.type = type;
|
|
11
|
-
this.rootObjectBuilder = rootObjectBuilder;
|
|
12
|
-
}
|
|
13
|
-
fragment(name, typeName, query) {
|
|
14
|
-
const readBuilder = ReadBuilder.instantiateFromFactory(query);
|
|
15
|
-
const objectBuilder = readBuilder.objectBuilder.name(typeName);
|
|
16
|
-
return new CrudQueryBuilder(this.type, this.rootObjectBuilder.fragment(name, objectBuilder));
|
|
17
|
-
}
|
|
18
|
-
list(name, query, alias) {
|
|
19
|
-
if (this.type === "mutation") {
|
|
20
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
21
|
-
}
|
|
22
|
-
name = `list${name}`;
|
|
23
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
24
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
25
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
26
|
-
}
|
|
27
|
-
paginate(name, query, alias) {
|
|
28
|
-
if (this.type === "mutation") {
|
|
29
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
30
|
-
}
|
|
31
|
-
name = `paginate${name}`;
|
|
32
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
33
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
34
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
35
|
-
}
|
|
36
|
-
get(name, query, alias) {
|
|
37
|
-
if (this.type === "mutation") {
|
|
38
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
39
|
-
}
|
|
40
|
-
name = `get${name}`;
|
|
41
|
-
query = ReadBuilder.instantiateFromFactory(query);
|
|
42
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
43
|
-
return new CrudQueryBuilder("query", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
44
|
-
}
|
|
45
|
-
update(name, query, alias) {
|
|
46
|
-
if (this.type === "query") {
|
|
47
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
48
|
-
}
|
|
49
|
-
name = `update${name}`;
|
|
50
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
51
|
-
if (isEmptyObject(query.objectBuilder.args.data)) {
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
55
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
56
|
-
}
|
|
57
|
-
create(name, query, alias) {
|
|
58
|
-
if (this.type === "query") {
|
|
59
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
60
|
-
}
|
|
61
|
-
name = `create${name}`;
|
|
62
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
63
|
-
if (isEmptyObject(query.objectBuilder.args.data)) {
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
67
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
68
|
-
}
|
|
69
|
-
delete(name, query, alias) {
|
|
70
|
-
if (this.type === "query") {
|
|
71
|
-
throw new CrudQueryBuilderError("Cannot combine queries and mutations");
|
|
72
|
-
}
|
|
73
|
-
name = `delete${name}`;
|
|
74
|
-
query = WriteBuilder.instantiateFromFactory(query);
|
|
75
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder];
|
|
76
|
-
return new CrudQueryBuilder("mutation", this.rootObjectBuilder.object(objectName, objectBuilder));
|
|
77
|
-
}
|
|
78
|
-
inTransaction(alias = "transaction", options = {}) {
|
|
79
|
-
const objectBuilder = new ObjectBuilder(
|
|
80
|
-
["ok", "errorMessage"],
|
|
81
|
-
{ ...this.rootObjectBuilder.objects },
|
|
82
|
-
{ options },
|
|
83
|
-
void 0,
|
|
84
|
-
void 0,
|
|
85
|
-
"transaction"
|
|
86
|
-
);
|
|
87
|
-
return new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions));
|
|
88
|
-
}
|
|
89
|
-
getGql() {
|
|
90
|
-
const builder = new QueryBuilder();
|
|
91
|
-
switch (this.type) {
|
|
92
|
-
case "mutation":
|
|
93
|
-
return builder.mutation(this.rootObjectBuilder);
|
|
94
|
-
case "query":
|
|
95
|
-
return builder.query(this.rootObjectBuilder);
|
|
96
|
-
default:
|
|
97
|
-
throw new CrudQueryBuilderError(`Invalid type ${this.type}`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export {
|
|
102
|
-
CrudQueryBuilder
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=CrudQueryBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrudQueryBuilder.js","sources":["../../../src/crudQueryBuilder/CrudQueryBuilder.ts"],"sourcesContent":["import { ObjectBuilder, QueryBuilder, RootObjectBuilder } from '../graphQlBuilder'\nimport { isEmptyObject } from '../utils'\nimport { CrudQueryBuilderError } from './CrudQueryBuilderError'\nimport { ReadBuilder } from './ReadBuilder'\nimport type {\n\tCreateMutationArguments,\n\tCreateMutationFields,\n\tDeleteMutationArguments,\n\tDeleteMutationFields,\n\tGetQueryArguments,\n\tListQueryArguments,\n\tMutations,\n\tPaginateQueryArguments,\n\tQueries,\n\tUpdateMutationArguments,\n\tUpdateMutationFields,\n\tWriteOperation,\n} from './types'\nimport { WriteBuilder } from './WriteBuilder'\n\nexport class CrudQueryBuilder {\n\tconstructor(\n\t\tprivate type: undefined | 'query' | 'mutation' = undefined,\n\t\tprivate rootObjectBuilder: RootObjectBuilder = new RootObjectBuilder(),\n\t) {}\n\n\tpublic fragment(name: string, typeName: string, query: ReadBuilder.BuilderFactory<never>): CrudQueryBuilder {\n\t\tconst readBuilder = ReadBuilder.instantiateFromFactory(query)\n\t\tconst objectBuilder = readBuilder.objectBuilder.name(typeName)\n\n\t\treturn new CrudQueryBuilder(this.type, this.rootObjectBuilder.fragment(name, objectBuilder))\n\t}\n\n\tpublic list(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<ListQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `list${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic paginate(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<PaginateQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `paginate${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic get(\n\t\tname: string,\n\t\tquery: ReadBuilder.BuilderFactory<GetQueryArguments>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Mutations> {\n\t\tif (this.type === 'mutation') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `get${name}`\n\t\tquery = ReadBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('query', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic update(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<UpdateMutationArguments, UpdateMutationFields, WriteOperation.Update>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `update${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tif (isEmptyObject(query.objectBuilder.args.data)) {\n\t\t\treturn this\n\t\t}\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic create(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<CreateMutationArguments, CreateMutationFields, WriteOperation.Create>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `create${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tif (isEmptyObject(query.objectBuilder.args.data)) {\n\t\t\treturn this\n\t\t}\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic delete(\n\t\tname: string,\n\t\tquery: WriteBuilder.BuilderFactory<DeleteMutationArguments, DeleteMutationFields, WriteOperation.Delete>,\n\t\talias?: string,\n\t): Omit<CrudQueryBuilder, Queries> {\n\t\tif (this.type === 'query') {\n\t\t\tthrow new CrudQueryBuilderError('Cannot combine queries and mutations')\n\t\t}\n\t\tname = `delete${name}`\n\t\tquery = WriteBuilder.instantiateFromFactory(query)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, query.objectBuilder.name(name)] : [name, query.objectBuilder]\n\n\t\treturn new CrudQueryBuilder('mutation', this.rootObjectBuilder.object(objectName, objectBuilder))\n\t}\n\n\tpublic inTransaction(alias: string = 'transaction', options: { deferForeignKeyConstraints?: boolean } = {}): CrudQueryBuilder {\n\t\tconst objectBuilder = new ObjectBuilder(\n\t\t\t['ok', 'errorMessage'],\n\t\t\t{ ...this.rootObjectBuilder.objects },\n\t\t\t{ options },\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\t'transaction',\n\t\t)\n\n\t\treturn new CrudQueryBuilder(this.type, new RootObjectBuilder({ [alias]: objectBuilder }, this.rootObjectBuilder.fragmentDefinitions))\n\t}\n\n\tgetGql(): string {\n\t\tconst builder = new QueryBuilder()\n\t\tswitch (this.type) {\n\t\t\tcase 'mutation':\n\t\t\t\treturn builder.mutation(this.rootObjectBuilder)\n\t\t\tcase 'query':\n\t\t\t\treturn builder.query(this.rootObjectBuilder)\n\t\t\tdefault:\n\t\t\t\tthrow new CrudQueryBuilderError(`Invalid type ${this.type}`)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrudQueryBuilderError.js","sources":["../../../src/crudQueryBuilder/CrudQueryBuilderError.ts"],"sourcesContent":["export class CrudQueryBuilderError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,8BAA8B,MAAM;AAAC;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class ErrorsRelationBuilder {
|
|
2
|
-
static errorsRelation(objectBuilder) {
|
|
3
|
-
return objectBuilder.object(
|
|
4
|
-
"errors",
|
|
5
|
-
(builder) => builder.field("type").field("message").object(
|
|
6
|
-
"path",
|
|
7
|
-
(builder2) => builder2.inlineFragment("_FieldPathFragment", (builder3) => builder3.field("field")).inlineFragment("_IndexPathFragment", (builder3) => builder3.field("index").field("alias"))
|
|
8
|
-
)
|
|
9
|
-
);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
ErrorsRelationBuilder
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=ErrorsRelationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorsRelationBuilder.js","sources":["../../../src/crudQueryBuilder/ErrorsRelationBuilder.ts"],"sourcesContent":["import type { ObjectBuilder } from '../graphQlBuilder'\n\nexport class ErrorsRelationBuilder {\n\tpublic static errorsRelation(objectBuilder: ObjectBuilder): ObjectBuilder {\n\t\treturn objectBuilder.object('errors', builder =>\n\t\t\tbuilder\n\t\t\t\t.field('type')\n\t\t\t\t.field('message')\n\t\t\t\t.object('path', builder =>\n\t\t\t\t\tbuilder\n\t\t\t\t\t\t.inlineFragment('_FieldPathFragment', builder => builder.field('field'))\n\t\t\t\t\t\t.inlineFragment('_IndexPathFragment', builder => builder.field('index').field('alias')),\n\t\t\t\t),\n\t\t)\n\t}\n}\n"],"names":["builder"],"mappings":"AAEO,MAAM,sBAAsB;AAAA,EAClC,OAAc,eAAe,eAA6C;AACzE,WAAO,cAAc;AAAA,MAAO;AAAA,MAAU,aACrC,QACE,MAAM,MAAM,EACZ,MAAM,SAAS,EACf;AAAA,QAAO;AAAA,QAAQ,CAAAA,aACfA,SACE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,CAAC,EACtE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,EAAE,MAAM,OAAO,CAAC;AAAA,MACxF;AAAA,IAAA;AAAA,EAEH;AACD;"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ObjectBuilder } from "../graphQlBuilder/ObjectBuilder.js";
|
|
2
|
-
class ReadBuilder {
|
|
3
|
-
constructor(objectBuilder = new ObjectBuilder()) {
|
|
4
|
-
this.objectBuilder = objectBuilder;
|
|
5
|
-
}
|
|
6
|
-
static instantiate(objectBuilder = new ObjectBuilder()) {
|
|
7
|
-
return new ReadBuilder(objectBuilder);
|
|
8
|
-
}
|
|
9
|
-
static instantiateFromFactory(builder) {
|
|
10
|
-
if (typeof builder === "function") {
|
|
11
|
-
return builder(ReadBuilder.instantiate());
|
|
12
|
-
}
|
|
13
|
-
return builder;
|
|
14
|
-
}
|
|
15
|
-
instantiate(objectBuilder = new ObjectBuilder()) {
|
|
16
|
-
return ReadBuilder.instantiate(objectBuilder);
|
|
17
|
-
}
|
|
18
|
-
by(by) {
|
|
19
|
-
return this.instantiate(this.objectBuilder.argument("by", by));
|
|
20
|
-
}
|
|
21
|
-
filter(where) {
|
|
22
|
-
return this.instantiate(this.objectBuilder.argument("filter", where));
|
|
23
|
-
}
|
|
24
|
-
orderBy(orderBy) {
|
|
25
|
-
return this.instantiate(this.objectBuilder.argument("orderBy", orderBy));
|
|
26
|
-
}
|
|
27
|
-
offset(offset) {
|
|
28
|
-
return this.instantiate(this.objectBuilder.argument("offset", offset));
|
|
29
|
-
}
|
|
30
|
-
limit(limit) {
|
|
31
|
-
return this.instantiate(this.objectBuilder.argument("limit", limit));
|
|
32
|
-
}
|
|
33
|
-
skip(offset) {
|
|
34
|
-
return this.instantiate(this.objectBuilder.argument("skip", offset));
|
|
35
|
-
}
|
|
36
|
-
first(limit) {
|
|
37
|
-
return this.instantiate(this.objectBuilder.argument("first", limit));
|
|
38
|
-
}
|
|
39
|
-
column(name) {
|
|
40
|
-
return this.instantiate(this.objectBuilder.field(name));
|
|
41
|
-
}
|
|
42
|
-
inlineFragment(typeName, builder) {
|
|
43
|
-
builder = ReadBuilder.instantiateFromFactory(builder);
|
|
44
|
-
return this.instantiate(this.objectBuilder.inlineFragment(typeName, builder.objectBuilder));
|
|
45
|
-
}
|
|
46
|
-
applyFragment(fragmentName) {
|
|
47
|
-
return this.instantiate(this.objectBuilder.applyFragment(fragmentName));
|
|
48
|
-
}
|
|
49
|
-
reductionRelation(name, builder, alias) {
|
|
50
|
-
return this.relation(name, builder, alias);
|
|
51
|
-
}
|
|
52
|
-
hasOneRelation(name, builder, alias) {
|
|
53
|
-
return this.relation(name, builder, alias);
|
|
54
|
-
}
|
|
55
|
-
hasManyRelation(name, builder, alias) {
|
|
56
|
-
return this.relation(name, builder, alias);
|
|
57
|
-
}
|
|
58
|
-
anyRelation(name, builder, alias) {
|
|
59
|
-
return this.relation(name, builder, alias);
|
|
60
|
-
}
|
|
61
|
-
relation(name, builder, alias) {
|
|
62
|
-
builder = ReadBuilder.instantiateFromFactory(builder);
|
|
63
|
-
const [objectName, objectBuilder] = typeof alias === "string" ? [alias, builder.objectBuilder.name(name)] : [name, builder.objectBuilder];
|
|
64
|
-
return this.instantiate(this.objectBuilder.object(objectName, objectBuilder));
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
export {
|
|
68
|
-
ReadBuilder
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=ReadBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReadBuilder.js","sources":["../../../src/crudQueryBuilder/ReadBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport type { HasManyArguments, HasOneArguments, OrderDirection, ReadArguments, ReductionArguments } from './types'\n\nclass ReadBuilder<AllowedArgs extends ReadArguments = ReadArguments> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AllowedArgs extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AllowedArgs> {\n\t\treturn new ReadBuilder<AllowedArgs>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<AllowedArgs extends ReadArguments>(\n\t\tbuilder: ReadBuilder.BuilderFactory<AllowedArgs>,\n\t): ReadBuilder.Builder<never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(ReadBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tprotected instantiate<AA extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AA> {\n\t\treturn ReadBuilder.instantiate<AA>(objectBuilder)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'by'>>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic filter(where: Input.Where<Input.Condition<Input.ColumnValue<GraphQlLiteral>>>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'filter'>>(this.objectBuilder.argument('filter', where))\n\t}\n\n\tpublic orderBy(orderBy: Input.OrderBy<OrderDirection>[]) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'orderBy'>>(this.objectBuilder.argument('orderBy', orderBy))\n\t}\n\n\tpublic offset(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'offset'>>(this.objectBuilder.argument('offset', offset))\n\t}\n\n\tpublic limit(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'limit'>>(this.objectBuilder.argument('limit', limit))\n\t}\n\n\tpublic skip(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'skip'>>(this.objectBuilder.argument('skip', offset))\n\t}\n\n\tpublic first(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'first'>>(this.objectBuilder.argument('first', limit))\n\t}\n\n\tpublic column(name: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.field(name))\n\t}\n\n\tpublic inlineFragment(typeName: string, builder: ReadBuilder.BuilderFactory<never>) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.inlineFragment(typeName, builder.objectBuilder))\n\t}\n\n\tpublic applyFragment(fragmentName: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.applyFragment(fragmentName))\n\t}\n\n\tpublic reductionRelation(name: string, builder: ReadBuilder.BuilderFactory<ReductionArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasOneRelation(name: string, builder: ReadBuilder.BuilderFactory<HasOneArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasManyRelation(name: string, builder: ReadBuilder.BuilderFactory<HasManyArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic anyRelation(name: string, builder: ReadBuilder.BuilderFactory<never>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tprotected relation<A extends ReadArguments>(name: string, builder: ReadBuilder.BuilderFactory<A>, alias?: string) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, builder.objectBuilder.name(name)] : [name, builder.objectBuilder]\n\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.object(objectName, objectBuilder))\n\t}\n}\n\nnamespace ReadBuilder {\n\texport type Builder<AllowedArgs extends ReadArguments> = Omit<\n\t\tReadBuilder<AllowedArgs>,\n\t\tExclude<ReadArguments, AllowedArgs>\n\t>\n\texport type BuilderFactory<AllowedArgs extends ReadArguments> =\n\t\t| Builder<never>\n\t\t| ((builder: Builder<AllowedArgs>) => Builder<never>)\n}\n\nexport { ReadBuilder }\n"],"names":[],"mappings":";AAIA,MAAM,YAA+D;AAAA,EAC1D,YAA4B,gBAA+B,IAAI,iBAAiB;AAApD,SAAA,gBAAA;AAAA,EAAqD;AAAA,EAE3F,OAAc,YACb,gBAA+B,IAAI,iBACA;AAC5B,WAAA,IAAI,YAAyB,aAAa;AAAA,EAClD;AAAA,EAEA,OAAc,uBACb,SAC6B;AACzB,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,YAAY,YAAA,CAAa;AAAA,IACzC;AACO,WAAA;AAAA,EACR;AAAA,EAEU,YACT,gBAA+B,IAAI,iBACT;AACnB,WAAA,YAAY,YAAgB,aAAa;AAAA,EACjD;AAAA,EAEO,GAAG,IAAuC;AAChD,WAAO,KAAK,YAAwC,KAAK,cAAc,SAAS,MAAM,EAAE,CAAC;AAAA,EAC1F;AAAA,EAEO,OAAO,OAAwE;AACrF,WAAO,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU,KAAK,CAAC;AAAA,EACrG;AAAA,EAEO,QAAQ,SAA0C;AACxD,WAAO,KAAK,YAA6C,KAAK,cAAc,SAAS,WAAW,OAAO,CAAC;AAAA,EACzG;AAAA,EAEO,OAAO,QAAgB;AAC7B,WAAO,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU,MAAM,CAAC;AAAA,EACtG;AAAA,EAEO,MAAM,OAAe;AAC3B,WAAO,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS,KAAK,CAAC;AAAA,EACnG;AAAA,EAEO,KAAK,QAAgB;AAC3B,WAAO,KAAK,YAA0C,KAAK,cAAc,SAAS,QAAQ,MAAM,CAAC;AAAA,EAClG;AAAA,EAEO,MAAM,OAAe;AAC3B,WAAO,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS,KAAK,CAAC;AAAA,EACnG;AAAA,EAEO,OAAO,MAAc;AAC3B,WAAO,KAAK,YAAyB,KAAK,cAAc,MAAM,IAAI,CAAC;AAAA,EACpE;AAAA,EAEO,eAAe,UAAkB,SAA4C;AACzE,cAAA,YAAY,uBAAuB,OAAO;AAC7C,WAAA,KAAK,YAAyB,KAAK,cAAc,eAAe,UAAU,QAAQ,aAAa,CAAC;AAAA,EACxG;AAAA,EAEO,cAAc,cAAsB;AAC1C,WAAO,KAAK,YAAyB,KAAK,cAAc,cAAc,YAAY,CAAC;AAAA,EACpF;AAAA,EAEO,kBAAkB,MAAc,SAAyD,OAAgB;AAC/G,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,eAAe,MAAc,SAAsD,OAAgB;AACzG,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,gBAAgB,MAAc,SAAuD,OAAgB;AAC3G,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,YAAY,MAAc,SAA4C,OAAgB;AAC5F,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEU,SAAkC,MAAc,SAAwC,OAAgB;AACvG,cAAA,YAAY,uBAAuB,OAAO;AAEpD,UAAM,CAAC,YAAY,aAAa,IAC/B,OAAO,UAAU,WAAW,CAAC,OAAO,QAAQ,cAAc,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,aAAa;AAErG,WAAO,KAAK,YAAyB,KAAK,cAAc,OAAO,YAAY,aAAa,CAAC;AAAA,EAC1F;AACD;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
class ValidationRelationBuilder {
|
|
2
|
-
static validationRelation(objectBuilder) {
|
|
3
|
-
return objectBuilder.object(
|
|
4
|
-
"validation",
|
|
5
|
-
(builder) => builder.field("valid").object(
|
|
6
|
-
"errors",
|
|
7
|
-
(builder2) => builder2.object(
|
|
8
|
-
"path",
|
|
9
|
-
(builder3) => builder3.inlineFragment("_FieldPathFragment", (builder4) => builder4.field("field")).inlineFragment("_IndexPathFragment", (builder4) => builder4.field("index").field("alias"))
|
|
10
|
-
).object("message", (builder3) => builder3.field("text"))
|
|
11
|
-
)
|
|
12
|
-
);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export {
|
|
16
|
-
ValidationRelationBuilder
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=ValidationRelationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationRelationBuilder.js","sources":["../../../src/crudQueryBuilder/ValidationRelationBuilder.ts"],"sourcesContent":["import type { ObjectBuilder } from '../graphQlBuilder'\n\nexport class ValidationRelationBuilder {\n\tpublic static validationRelation(objectBuilder: ObjectBuilder): ObjectBuilder {\n\t\treturn objectBuilder.object('validation', builder =>\n\t\t\tbuilder.field('valid').object('errors', builder =>\n\t\t\t\tbuilder\n\t\t\t\t\t.object('path', builder =>\n\t\t\t\t\t\tbuilder\n\t\t\t\t\t\t\t.inlineFragment('_FieldPathFragment', builder => builder.field('field'))\n\t\t\t\t\t\t\t.inlineFragment('_IndexPathFragment', builder => builder.field('index').field('alias')),\n\t\t\t\t\t)\n\t\t\t\t\t.object('message', builder => builder.field('text')),\n\t\t\t),\n\t\t)\n\t}\n}\n"],"names":["builder"],"mappings":"AAEO,MAAM,0BAA0B;AAAA,EACtC,OAAc,mBAAmB,eAA6C;AAC7E,WAAO,cAAc;AAAA,MAAO;AAAA,MAAc,CACzC,YAAA,QAAQ,MAAM,OAAO,EAAE;AAAA,QAAO;AAAA,QAAU,CAAAA,aACvCA,SACE;AAAA,UAAO;AAAA,UAAQ,CAAAA,aACfA,SACE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,CAAC,EACtE,eAAe,sBAAsB,CAAAA,aAAWA,SAAQ,MAAM,OAAO,EAAE,MAAM,OAAO,CAAC;AAAA,QAAA,EAEvF,OAAO,WAAW,CAAAA,aAAWA,SAAQ,MAAM,MAAM,CAAC;AAAA,MACrD;AAAA,IAAA;AAAA,EAEF;AACD;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ErrorsRelationBuilder } from "./ErrorsRelationBuilder.js";
|
|
2
|
-
import { ReadBuilder } from "./ReadBuilder.js";
|
|
3
|
-
import { ValidationRelationBuilder } from "./ValidationRelationBuilder.js";
|
|
4
|
-
import { WriteDataBuilder } from "./WriteDataBuilder.js";
|
|
5
|
-
import { ObjectBuilder } from "../graphQlBuilder/ObjectBuilder.js";
|
|
6
|
-
class WriteBuilder {
|
|
7
|
-
constructor(objectBuilder = new ObjectBuilder()) {
|
|
8
|
-
this.objectBuilder = objectBuilder;
|
|
9
|
-
}
|
|
10
|
-
static instantiate(objectBuilder = new ObjectBuilder()) {
|
|
11
|
-
return new WriteBuilder(objectBuilder);
|
|
12
|
-
}
|
|
13
|
-
static instantiateFromFactory(builder) {
|
|
14
|
-
if (typeof builder === "function") {
|
|
15
|
-
return builder(WriteBuilder.instantiate());
|
|
16
|
-
}
|
|
17
|
-
return builder;
|
|
18
|
-
}
|
|
19
|
-
data(data) {
|
|
20
|
-
const resolvedData = WriteDataBuilder.resolveData(data);
|
|
21
|
-
return WriteBuilder.instantiate(
|
|
22
|
-
resolvedData === void 0 ? this.objectBuilder : this.objectBuilder.argument("data", resolvedData)
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
by(by) {
|
|
26
|
-
return WriteBuilder.instantiate(this.objectBuilder.argument("by", by));
|
|
27
|
-
}
|
|
28
|
-
ok() {
|
|
29
|
-
return WriteBuilder.instantiate(this.objectBuilder.field("ok"));
|
|
30
|
-
}
|
|
31
|
-
errorMessage() {
|
|
32
|
-
return WriteBuilder.instantiate(this.objectBuilder.field("errorMessage"));
|
|
33
|
-
}
|
|
34
|
-
validation() {
|
|
35
|
-
return WriteBuilder.instantiate(
|
|
36
|
-
ValidationRelationBuilder.validationRelation(this.objectBuilder)
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
errors() {
|
|
40
|
-
return WriteBuilder.instantiate(
|
|
41
|
-
ErrorsRelationBuilder.errorsRelation(this.objectBuilder)
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
node(builder) {
|
|
45
|
-
const readBuilder = ReadBuilder.instantiateFromFactory(builder);
|
|
46
|
-
return WriteBuilder.instantiate(
|
|
47
|
-
this.objectBuilder.object("node", readBuilder.objectBuilder)
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
export {
|
|
52
|
-
WriteBuilder
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=WriteBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WriteBuilder.js","sources":["../../../src/crudQueryBuilder/WriteBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport { ErrorsRelationBuilder } from './ErrorsRelationBuilder'\nimport { ReadBuilder } from './ReadBuilder'\nimport type { WriteArguments, WriteFields, WriteOperation } from './types'\nimport { ValidationRelationBuilder } from './ValidationRelationBuilder'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteBuilder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): WriteBuilder.Builder<AA, AF, Op> {\n\t\treturn new WriteBuilder<AA, AF, Op>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tAA extends WriteArguments,\n\t\tAF extends WriteFields,\n\t\tOp extends WriteOperation.Operation,\n\t>(builder: WriteBuilder.BuilderFactory<AA, AF, Op>): WriteBuilder.Builder<never, never, Op> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tpublic data<SubOp extends Op & WriteOperation.ContentfulOperation>(data: WriteDataBuilder.DataLike<SubOp>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'data'>, AF, Op>(\n\t\t\tresolvedData === undefined ? this.objectBuilder : this.objectBuilder.argument('data', resolvedData),\n\t\t)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'by'>, AF, Op>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic ok() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'ok'>, Op>(this.objectBuilder.field('ok'))\n\t}\n\n\tpublic errorMessage() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errorMessage'>, Op>(this.objectBuilder.field('errorMessage'))\n\t}\n\n\tpublic validation() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'validation'>, Op>(\n\t\t\tValidationRelationBuilder.validationRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic errors() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errors'>, Op>(\n\t\t\tErrorsRelationBuilder.errorsRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic node(builder: ReadBuilder.BuilderFactory<never>) {\n\t\tconst readBuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'node'>, Op>(\n\t\t\tthis.objectBuilder.object('node', readBuilder.objectBuilder),\n\t\t)\n\t}\n}\n\nnamespace WriteBuilder {\n\texport type Builder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> = Omit<\n\t\tOmit<WriteBuilder<AA, AF, Op>, Exclude<WriteArguments, AA>>,\n\t\tExclude<WriteFields, AF>\n\t>\n\n\texport type BuilderFactory<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> =\n\t\t| Builder<never, never, Op>\n\t\t| ((builder: Builder<AA, AF, Op>) => Builder<never, never, Op>)\n}\n\nexport { WriteBuilder }\n"],"names":[],"mappings":";;;;;AAQA,MAAM,aAAqG;AAAA,EAChG,YAA4B,gBAA+B,IAAI,iBAAiB;AAApD,SAAA,gBAAA;AAAA,EAAqD;AAAA,EAE3F,OAAc,YACb,gBAA+B,IAAI,iBACA;AAC5B,WAAA,IAAI,aAAyB,aAAa;AAAA,EAClD;AAAA,EAEA,OAAc,uBAIZ,SAA0F;AACvF,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,aAAa,YAAA,CAAa;AAAA,IAC1C;AACO,WAAA;AAAA,EACR;AAAA,EAEO,KAA4D,MAAwC;AACpG,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WAAO,aAAa;AAAA,MACnB,iBAAiB,SAAY,KAAK,gBAAgB,KAAK,cAAc,SAAS,QAAQ,YAAY;AAAA,IAAA;AAAA,EAEpG;AAAA,EAEO,GAAG,IAAuC;AAChD,WAAO,aAAa,YAAuC,KAAK,cAAc,SAAS,MAAM,EAAE,CAAC;AAAA,EACjG;AAAA,EAEO,KAAK;AACX,WAAO,aAAa,YAAuC,KAAK,cAAc,MAAM,IAAI,CAAC;AAAA,EAC1F;AAAA,EAEO,eAAe;AACrB,WAAO,aAAa,YAAiD,KAAK,cAAc,MAAM,cAAc,CAAC;AAAA,EAC9G;AAAA,EAEO,aAAa;AACnB,WAAO,aAAa;AAAA,MACnB,0BAA0B,mBAAmB,KAAK,aAAa;AAAA,IAAA;AAAA,EAEjE;AAAA,EAEO,SAAS;AACf,WAAO,aAAa;AAAA,MACnB,sBAAsB,eAAe,KAAK,aAAa;AAAA,IAAA;AAAA,EAEzD;AAAA,EAEO,KAAK,SAA4C;AACjD,UAAA,cAAc,YAAY,uBAAuB,OAAO;AAC9D,WAAO,aAAa;AAAA,MACnB,KAAK,cAAc,OAAO,QAAQ,YAAY,aAAa;AAAA,IAAA;AAAA,EAE7D;AACD;"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
|
-
import { CrudQueryBuilderError } from "./CrudQueryBuilderError.js";
|
|
8
|
-
import { WriteManyRelationBuilder } from "./WriteManyRelationBuilder.js";
|
|
9
|
-
import { WriteOneRelationBuilder } from "./WriteOneRelationBuilder.js";
|
|
10
|
-
import { GraphQlLiteral } from "../graphQlBuilder/GraphQlLiteral.js";
|
|
11
|
-
import { isEmptyObject } from "../utils/isEmptyObject.js";
|
|
12
|
-
class WriteDataBuilder {
|
|
13
|
-
constructor(data) {
|
|
14
|
-
__publicField(this, "data");
|
|
15
|
-
this.data = data || {};
|
|
16
|
-
}
|
|
17
|
-
static resolveData(dataLike) {
|
|
18
|
-
let resolvedData;
|
|
19
|
-
if (dataLike instanceof WriteDataBuilder) {
|
|
20
|
-
resolvedData = dataLike.data;
|
|
21
|
-
} else if (typeof dataLike === "function") {
|
|
22
|
-
resolvedData = dataLike(new WriteDataBuilder()).data;
|
|
23
|
-
} else {
|
|
24
|
-
resolvedData = dataLike;
|
|
25
|
-
}
|
|
26
|
-
if (isEmptyObject(resolvedData)) {
|
|
27
|
-
return void 0;
|
|
28
|
-
}
|
|
29
|
-
return resolvedData;
|
|
30
|
-
}
|
|
31
|
-
set(fieldName, value) {
|
|
32
|
-
return new WriteDataBuilder({ ...this.data, [fieldName]: value });
|
|
33
|
-
}
|
|
34
|
-
many(fieldName, data) {
|
|
35
|
-
const resolvedData = WriteManyRelationBuilder.instantiateFromFactory(data).data;
|
|
36
|
-
return resolvedData === void 0 || resolvedData.length === 0 ? this : new WriteDataBuilder(this.mergeInFreshData(this.data, fieldName, resolvedData));
|
|
37
|
-
}
|
|
38
|
-
one(fieldName, data) {
|
|
39
|
-
const resolvedData = WriteOneRelationBuilder.instantiateFromFactory(data).data;
|
|
40
|
-
return resolvedData === void 0 || isEmptyObject(resolvedData) ? this : new WriteDataBuilder(this.mergeInFreshData(this.data, fieldName, resolvedData));
|
|
41
|
-
}
|
|
42
|
-
mergeInFreshData(original, fieldName, fresh) {
|
|
43
|
-
if (fieldName in original) {
|
|
44
|
-
const existingValue = original[fieldName];
|
|
45
|
-
if (Array.isArray(existingValue)) {
|
|
46
|
-
if (Array.isArray(fresh)) {
|
|
47
|
-
return { ...original, [fieldName]: [...existingValue, ...fresh] };
|
|
48
|
-
}
|
|
49
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
50
|
-
}
|
|
51
|
-
if (Array.isArray(fresh)) {
|
|
52
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
53
|
-
}
|
|
54
|
-
return { ...original, [fieldName]: this.mergeUpdateOne(existingValue, fresh) };
|
|
55
|
-
}
|
|
56
|
-
return { ...original, [fieldName]: fresh };
|
|
57
|
-
}
|
|
58
|
-
mergeUpdateOne(original, fresh) {
|
|
59
|
-
if (original instanceof GraphQlLiteral) {
|
|
60
|
-
if (fresh instanceof GraphQlLiteral) {
|
|
61
|
-
if (original.value === fresh.value) {
|
|
62
|
-
return original;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
66
|
-
}
|
|
67
|
-
if (fresh instanceof GraphQlLiteral) {
|
|
68
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
69
|
-
}
|
|
70
|
-
if (Array.isArray(original)) {
|
|
71
|
-
if (Array.isArray(fresh)) {
|
|
72
|
-
return [...original, ...fresh];
|
|
73
|
-
}
|
|
74
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
75
|
-
}
|
|
76
|
-
if (Array.isArray(fresh)) {
|
|
77
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
78
|
-
}
|
|
79
|
-
if (original === null) {
|
|
80
|
-
if (fresh === null) {
|
|
81
|
-
return original;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (fresh === null) {
|
|
85
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
86
|
-
}
|
|
87
|
-
if (typeof original === "object") {
|
|
88
|
-
if (typeof fresh === "object") {
|
|
89
|
-
const composite = { ...original };
|
|
90
|
-
for (const field in fresh) {
|
|
91
|
-
const fromFresh = fresh[field];
|
|
92
|
-
composite[field] = field in composite ? this.mergeUpdateOne(composite[field], fromFresh) : fromFresh;
|
|
93
|
-
}
|
|
94
|
-
return composite;
|
|
95
|
-
}
|
|
96
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
97
|
-
}
|
|
98
|
-
if (typeof fresh === "object") {
|
|
99
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
100
|
-
}
|
|
101
|
-
if (original === fresh) {
|
|
102
|
-
return original;
|
|
103
|
-
}
|
|
104
|
-
throw new CrudQueryBuilderError(`Inconsistent data.`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
export {
|
|
108
|
-
WriteDataBuilder
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=WriteDataBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WriteDataBuilder.js","sources":["../../../src/crudQueryBuilder/WriteDataBuilder.ts"],"sourcesContent":["import type { Input, Value } from '@contember/schema'\nimport { GraphQlLiteral } from '../graphQlBuilder'\nimport { isEmptyObject } from '../utils'\nimport { CrudQueryBuilderError } from './CrudQueryBuilderError'\nimport type { WriteOperation } from './types'\nimport { WriteManyRelationBuilder } from './WriteManyRelationBuilder'\nimport { WriteOneRelationBuilder } from './WriteOneRelationBuilder'\n\nclass WriteDataBuilder<Op extends WriteOperation.ContentfulOperation> {\n\tpublic readonly data: WriteDataBuilder.DataFormat[Op['op']]\n\n\tpublic constructor(data?: WriteDataBuilder.DataFormat[Op['op']]) {\n\t\tthis.data = data || {}\n\t}\n\n\tpublic static resolveData<Op extends WriteOperation.ContentfulOperation>(\n\t\tdataLike: WriteDataBuilder.DataLike<Op>,\n\t): WriteDataBuilder.DataFormat[Op['op']] | undefined {\n\t\tlet resolvedData: WriteDataBuilder.DataFormat[Op['op']]\n\n\t\tif (dataLike instanceof WriteDataBuilder) {\n\t\t\tresolvedData = dataLike.data\n\t\t} else if (typeof dataLike === 'function') {\n\t\t\tresolvedData = dataLike(new WriteDataBuilder()).data\n\t\t} else {\n\t\t\tresolvedData = dataLike\n\t\t}\n\n\t\tif (isEmptyObject(resolvedData)) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn resolvedData\n\t}\n\n\tpublic set(fieldName: string, value: Input.ColumnValue<GraphQlLiteral>) {\n\t\treturn new WriteDataBuilder<Op>({ ...this.data, [fieldName]: value })\n\t}\n\n\tpublic many(fieldName: string, data: WriteManyRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteManyRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || resolvedData.length === 0\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tpublic one(fieldName: string, data: WriteOneRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteOneRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || isEmptyObject(resolvedData)\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tprivate mergeInFreshData(\n\t\toriginal: WriteDataBuilder.DataFormat[Op['op']],\n\t\tfieldName: string,\n\t\tfresh: WriteManyRelationBuilder.DataFormat[Op['op']] | WriteOneRelationBuilder.DataFormat[Op['op']],\n\t): WriteDataBuilder.DataFormat[Op['op']] {\n\t\tif (fieldName in original) {\n\t\t\tconst existingValue = original[fieldName]\n\t\t\tif (Array.isArray(existingValue)) {\n\t\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\t\treturn { ...original, [fieldName]: [...existingValue, ...fresh] }\n\t\t\t\t}\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\treturn { ...original, [fieldName]: this.mergeUpdateOne(existingValue, fresh) }\n\t\t}\n\t\treturn { ...original, [fieldName]: fresh }\n\t}\n\n\tprivate mergeUpdateOne(\n\t\toriginal:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t\tfresh:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t):\n\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t| Input.UpdateOneRelationInput<GraphQlLiteral> {\n\t\t// TODO This implementation pretty bad but it will have to do for now.\n\t\tif (original instanceof GraphQlLiteral) {\n\t\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\t\tif (original.value === fresh.value) {\n\t\t\t\t\treturn original\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (Array.isArray(original)) {\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\treturn [...original, ...fresh]\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (Array.isArray(fresh)) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === null) {\n\t\t\tif (fresh === null) {\n\t\t\t\treturn original\n\t\t\t}\n\t\t}\n\t\tif (fresh === null) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (typeof original === 'object') {\n\t\t\tif (typeof fresh === 'object') {\n\t\t\t\tconst composite: any = { ...original }\n\t\t\t\tfor (const field in fresh) {\n\t\t\t\t\tconst fromFresh = (fresh as any)[field]\n\t\t\t\t\tcomposite[field] = field in composite ? this.mergeUpdateOne(composite[field], fromFresh) : fromFresh\n\t\t\t\t}\n\t\t\t\treturn composite\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (typeof fresh === 'object') {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === fresh) {\n\t\t\treturn original\n\t\t}\n\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t}\n}\n\nnamespace WriteDataBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateDataInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateDataInput<GraphQlLiteral>\n\t}\n\n\texport type DataLike<Op extends WriteOperation.ContentfulOperation> =\n\t\t| DataFormat[Op['op']]\n\t\t| WriteDataBuilder<Op>\n\t\t| ((builder: WriteDataBuilder<Op>) => WriteDataBuilder<Op>)\n}\n\nexport { WriteDataBuilder }\n"],"names":[],"mappings":"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"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { WriteDataBuilder } from "./WriteDataBuilder.js";
|
|
2
|
-
class WriteManyRelationBuilder {
|
|
3
|
-
constructor(data = []) {
|
|
4
|
-
this.data = data;
|
|
5
|
-
}
|
|
6
|
-
static instantiate(data = []) {
|
|
7
|
-
return new WriteManyRelationBuilder(data);
|
|
8
|
-
}
|
|
9
|
-
static instantiateFromFactory(builder) {
|
|
10
|
-
if (typeof builder === "function") {
|
|
11
|
-
return builder(WriteManyRelationBuilder.instantiate());
|
|
12
|
-
}
|
|
13
|
-
if ("data" in builder) {
|
|
14
|
-
return WriteManyRelationBuilder.instantiate(builder.data);
|
|
15
|
-
}
|
|
16
|
-
return WriteManyRelationBuilder.instantiate(builder);
|
|
17
|
-
}
|
|
18
|
-
create(data, alias) {
|
|
19
|
-
const resolvedData = WriteDataBuilder.resolveData(data);
|
|
20
|
-
return resolvedData === void 0 ? this : WriteManyRelationBuilder.instantiate([
|
|
21
|
-
...this.data,
|
|
22
|
-
this.withAlias({ create: resolvedData }, alias)
|
|
23
|
-
]);
|
|
24
|
-
}
|
|
25
|
-
connect(where, alias) {
|
|
26
|
-
return WriteManyRelationBuilder.instantiate([
|
|
27
|
-
...this.data,
|
|
28
|
-
this.withAlias({ connect: where }, alias)
|
|
29
|
-
]);
|
|
30
|
-
}
|
|
31
|
-
delete(where, alias) {
|
|
32
|
-
return WriteManyRelationBuilder.instantiate([
|
|
33
|
-
...this.data,
|
|
34
|
-
this.withAlias({ delete: where }, alias)
|
|
35
|
-
]);
|
|
36
|
-
}
|
|
37
|
-
disconnect(where, alias) {
|
|
38
|
-
return WriteManyRelationBuilder.instantiate([
|
|
39
|
-
...this.data,
|
|
40
|
-
this.withAlias({ disconnect: where }, alias)
|
|
41
|
-
]);
|
|
42
|
-
}
|
|
43
|
-
update(where, data, alias) {
|
|
44
|
-
const resolvedData = WriteDataBuilder.resolveData(data);
|
|
45
|
-
return resolvedData === void 0 ? this : WriteManyRelationBuilder.instantiate([
|
|
46
|
-
...this.data,
|
|
47
|
-
this.withAlias({ update: { by: where, data: resolvedData } }, alias)
|
|
48
|
-
]);
|
|
49
|
-
}
|
|
50
|
-
upsert(where, update, create, alias) {
|
|
51
|
-
const resolvedUpdate = WriteDataBuilder.resolveData(update);
|
|
52
|
-
const resolvedCreate = WriteDataBuilder.resolveData(create);
|
|
53
|
-
return resolvedUpdate === void 0 && resolvedCreate === void 0 ? this : WriteManyRelationBuilder.instantiate([
|
|
54
|
-
...this.data,
|
|
55
|
-
this.withAlias(
|
|
56
|
-
{
|
|
57
|
-
upsert: {
|
|
58
|
-
by: where,
|
|
59
|
-
update: resolvedUpdate || {},
|
|
60
|
-
create: resolvedCreate || {}
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
alias
|
|
64
|
-
)
|
|
65
|
-
]);
|
|
66
|
-
}
|
|
67
|
-
withAlias(data, alias) {
|
|
68
|
-
if (alias !== void 0) {
|
|
69
|
-
data.alias = alias;
|
|
70
|
-
}
|
|
71
|
-
return data;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
export {
|
|
75
|
-
WriteManyRelationBuilder
|
|
76
|
-
};
|
|
77
|
-
//# sourceMappingURL=WriteManyRelationBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WriteManyRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteManyRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteManyRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']],\n> {\n\tprivate constructor(public readonly data: WriteManyRelationBuilder.DataFormat[Op['op']] = []) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t>(data: WriteManyRelationBuilder.DataFormat[Op['op']] = []): WriteManyRelationBuilder.Builder<Op, Allowed> {\n\t\treturn new WriteManyRelationBuilder<Op, Allowed>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']],\n\t>(builder: WriteManyRelationBuilder.BuilderFactory<Op, Allowed>): WriteManyRelationBuilder.Builder<Op, never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteManyRelationBuilder.instantiate())\n\t\t}\n\t\tif ('data' in builder) {\n\t\t\treturn WriteManyRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteManyRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<Op> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ create: resolvedData }, alias),\n\t\t\t\t ] as WriteManyRelationBuilder.DataFormat[WriteOperation.Create['op']])\n\t\t) as WriteManyRelationBuilder.Builder<Op>\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ connect: where }, alias),\n\t\t] as WriteManyRelationBuilder.DataFormat[Op['op']])\n\t}\n\n\tpublic delete(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ delete: where }, alias),\n\t\t])\n\t}\n\n\tpublic disconnect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ disconnect: where }, alias),\n\t\t])\n\t}\n\n\tpublic update(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ update: { by: where, data: resolvedData } }, alias),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tpublic upsert(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\treturn (\n\t\t\tresolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tupsert: {\n\t\t\t\t\t\t\t\t\tby: where,\n\t\t\t\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talias,\n\t\t\t\t\t\t),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tprivate withAlias<\n\t\tD extends Input.CreateOneRelationInput<GraphQlLiteral> | Input.UpdateManyRelationInputItem<GraphQlLiteral>,\n\t>(data: D, alias?: string): D {\n\t\tif (alias !== undefined) {\n\t\t\tdata.alias = alias\n\t\t}\n\t\treturn data\n\t}\n}\n\nnamespace WriteManyRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateManyRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateManyRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = Omit<\n\t\tWriteManyRelationBuilder<Op, Allowed>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = DataFormat[Op['op']] | Builder<Op, never> | ((builder: Builder<Op, Allowed>) => Builder<Op, never>)\n}\n\nexport { WriteManyRelationBuilder }\n"],"names":[],"mappings":";AAKA,MAAM,yBAGJ;AAAA,EACO,YAA4B,OAAsD,IAAI;AAA1D,SAAA,OAAA;AAAA,EAA2D;AAAA,EAE/F,OAAc,YAGZ,OAAsD,IAAmD;AACnG,WAAA,IAAI,yBAAsC,IAAI;AAAA,EACtD;AAAA,EAEA,OAAc,uBAGZ,SAA4G;AACzG,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,yBAAyB,YAAA,CAAa;AAAA,IACtD;AACA,QAAI,UAAU,SAAS;AACf,aAAA,yBAAyB,YAAY,QAAQ,IAAI;AAAA,IACzD;AACO,WAAA,yBAAyB,YAAY,OAAO;AAAA,EACpD;AAAA,EAEO,OACN,MACA,OACuC;AACjC,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WACC,iBAAiB,SACd,OACA,yBAAyB,YAAgB;AAAA,MACzC,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,aAAA,GAAgB,KAAK;AAAA,IAAA,CACuB;AAAA,EAE1E;AAAA,EAEO,QAAQ,OAA0C,OAAgB;AACxE,WAAO,yBAAyB,YAAgB;AAAA,MAC/C,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,SAAS,MAAA,GAAS,KAAK;AAAA,IAAA,CACS;AAAA,EACnD;AAAA,EAEO,OAAO,OAA0C,OAAgB;AACvE,WAAO,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,MAAA,GAAS,KAAK;AAAA,IAAA,CACvC;AAAA,EACF;AAAA,EAEO,WAAW,OAA0C,OAAgB;AAC3E,WAAO,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,YAAY,MAAA,GAAS,KAAK;AAAA,IAAA,CAC3C;AAAA,EACF;AAAA,EAEO,OACN,OACA,MACA,OAC0D;AACpD,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WACC,iBAAiB,SACd,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,EAAE,IAAI,OAAO,MAAM,eAAe,GAAG,KAAK;AAAA,IAAA,CAClE;AAAA,EAEN;AAAA,EAEO,OACN,OACA,QACA,QACA,OAC0D;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AAC1D,WACC,mBAAmB,UAAa,mBAAmB,SAChD,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK;AAAA,QACJ;AAAA,UACC,QAAQ;AAAA,YACP,IAAI;AAAA,YACJ,QAAQ,kBAAkB,CAAC;AAAA,YAC3B,QAAQ,kBAAkB,CAAC;AAAA,UAC5B;AAAA,QACD;AAAA,QACA;AAAA,MACD;AAAA,IAAA,CACC;AAAA,EAEN;AAAA,EAEQ,UAEN,MAAS,OAAmB;AAC7B,QAAI,UAAU,QAAW;AACxB,WAAK,QAAQ;AAAA,IACd;AACO,WAAA;AAAA,EACR;AACD;"}
|