@kubun/graphql 0.3.0 → 0.3.2
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/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/schema.d.ts +23 -29
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +11 -5
- package/package.json +3 -3
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { GraphQLAttachmentID, GraphQLDocID } from './identifiers.js';
|
|
2
2
|
export * as scalars from './scalars.js';
|
|
3
|
-
export type {
|
|
3
|
+
export type { Context, ReadContext, SchemaBuilderParams, SharedDefinitions, UpdateMutationInput, WriteContext, } from './schema.js';
|
|
4
4
|
export { SchemaBuilder, createSchema } from './schema.js';
|
|
5
5
|
export type * from './types.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,YAAY,EACV,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,YAAY,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,mBAAmB,YAAY,CAAA"}
|
package/lib/schema.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AttachmentID, DocumentModelID } from '@kubun/id';
|
|
2
|
-
import type { ArrayModel, DocumentData, DocumentFilter, DocumentModel, DocumentModelSchema, DocumentModelsRecord, DocumentOrderBy, ObjectModel, ReferencesRecordModel, ScalarModel, StringCustomModel, StringEnumModel, StringFormatModel, StringModel, TypeModel } from '@kubun/protocol';
|
|
2
|
+
import type { ArrayModel, DocumentData, DocumentFilter, DocumentModel, DocumentModelSchema, DocumentModelsRecord, DocumentNode, DocumentOrderBy, ObjectModel, ReferencesRecordModel, ScalarModel, StringCustomModel, StringEnumModel, StringFormatModel, StringModel, TypeModel } from '@kubun/protocol';
|
|
3
3
|
import { GraphQLEnumType, type GraphQLFieldConfig, type GraphQLFieldConfigMap, GraphQLInputObjectType, type GraphQLInputType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, type GraphQLOutputType, type GraphQLResolveInfo, type GraphQLScalarType, GraphQLSchema } from 'graphql';
|
|
4
4
|
import { type Connection, type ConnectionArguments, type Edge } from 'graphql-relay';
|
|
5
5
|
import type { PatchOperation as PatchOperationType } from './types.js';
|
|
@@ -12,51 +12,45 @@ type AllConnectionArguments = ConnectionArguments & {
|
|
|
12
12
|
filter?: DocumentFilter;
|
|
13
13
|
orderBy?: DocumentOrderBy;
|
|
14
14
|
};
|
|
15
|
-
export type DocumentType = {
|
|
16
|
-
id: string;
|
|
17
|
-
model: string;
|
|
18
|
-
owner: string;
|
|
19
|
-
data: DocumentData | null;
|
|
20
|
-
};
|
|
21
15
|
/**
|
|
22
16
|
* Query and subscription functions requiring server implementation
|
|
23
17
|
*/
|
|
24
|
-
export type
|
|
18
|
+
export type ReadContext = {
|
|
25
19
|
getViewer(): string | null;
|
|
26
|
-
loadDocument(id: string): Promise<
|
|
27
|
-
resolveConnection(modelIDs: Array<string>, args: AllConnectionArguments): Promise<Connection<
|
|
28
|
-
resolveList(modelIDs: Array<string>, ids: Array<string>): Promise<Array<
|
|
29
|
-
subscribeToDocumentCreated(modelIDs: Array<string>): AsyncGenerator<
|
|
30
|
-
subscribeToDocumentChanged(id: string): AsyncGenerator<
|
|
20
|
+
loadDocument(id: string): Promise<DocumentNode | null>;
|
|
21
|
+
resolveConnection(modelIDs: Array<string>, args: AllConnectionArguments): Promise<Connection<DocumentNode>>;
|
|
22
|
+
resolveList(modelIDs: Array<string>, ids: Array<string>): Promise<Array<DocumentNode>>;
|
|
23
|
+
subscribeToDocumentCreated(modelIDs: Array<string>): AsyncGenerator<DocumentNode>;
|
|
24
|
+
subscribeToDocumentChanged(id: string): AsyncGenerator<DocumentNode>;
|
|
31
25
|
subscribeToDocumentRemoved(): AsyncGenerator<string>;
|
|
32
|
-
subscribeToDocumentEdgeAdded(modelIDs: Array<string>, hasRelation: (data: DocumentData) => boolean): AsyncGenerator<Edge<
|
|
26
|
+
subscribeToDocumentEdgeAdded(modelIDs: Array<string>, hasRelation: (data: DocumentData) => boolean): AsyncGenerator<Edge<DocumentNode>>;
|
|
33
27
|
subscribeToDocumentEdgeRemoved(modelIDs: Array<string>, hasRelation: (data: DocumentData) => boolean): AsyncGenerator<string>;
|
|
34
28
|
};
|
|
35
29
|
/**
|
|
36
30
|
* Mutation function requiring client implementation
|
|
37
31
|
*/
|
|
38
|
-
export type
|
|
39
|
-
executeCreateMutation(modelID: string, data: DocumentData, info: GraphQLResolveInfo): Promise<
|
|
40
|
-
executeSetMutation(modelID: string, unique: Uint8Array, data: DocumentData, info: GraphQLResolveInfo): Promise<
|
|
41
|
-
executeUpdateMutation(input: UpdateMutationInput, info: GraphQLResolveInfo): Promise<
|
|
32
|
+
export type WriteContext = {
|
|
33
|
+
executeCreateMutation(modelID: string, data: DocumentData, info: GraphQLResolveInfo): Promise<DocumentNode>;
|
|
34
|
+
executeSetMutation(modelID: string, unique: Uint8Array, data: DocumentData, info: GraphQLResolveInfo): Promise<DocumentNode>;
|
|
35
|
+
executeUpdateMutation(input: UpdateMutationInput, info: GraphQLResolveInfo): Promise<DocumentNode>;
|
|
42
36
|
executeRemoveMutation(id: string, info: GraphQLResolveInfo): Promise<void>;
|
|
43
37
|
};
|
|
44
|
-
export type
|
|
38
|
+
export type Context = ReadContext & WriteContext;
|
|
45
39
|
export type UpdateMutationInput = {
|
|
46
40
|
id: string;
|
|
47
41
|
patch: Array<PatchOperationType>;
|
|
48
42
|
from?: DocumentData;
|
|
49
43
|
};
|
|
50
|
-
export type GraphQLNodeDefinitions
|
|
44
|
+
export type GraphQLNodeDefinitions = {
|
|
51
45
|
nodeInterface: GraphQLInterfaceType;
|
|
52
46
|
nodeField: GraphQLFieldConfig<unknown, Context>;
|
|
53
47
|
nodesField: GraphQLFieldConfig<unknown, Context>;
|
|
54
48
|
};
|
|
55
|
-
export type SharedDefinitions
|
|
49
|
+
export type SharedDefinitions = GraphQLNodeDefinitions & {
|
|
56
50
|
accountObject: GraphQLObjectType<string, Context>;
|
|
57
51
|
attachmentObject: GraphQLObjectType<AttachmentID, Context>;
|
|
58
52
|
documentInterface: GraphQLInterfaceType;
|
|
59
|
-
documentNodeFields: GraphQLFieldConfigMap<
|
|
53
|
+
documentNodeFields: GraphQLFieldConfigMap<DocumentNode, Context>;
|
|
60
54
|
queryFields: GraphQLFieldConfigMap<unknown, Context>;
|
|
61
55
|
};
|
|
62
56
|
type RelationField = {
|
|
@@ -68,9 +62,9 @@ export type SchemaBuilderParams = {
|
|
|
68
62
|
aliases?: Record<string, string>;
|
|
69
63
|
record: DocumentModelsRecord;
|
|
70
64
|
};
|
|
71
|
-
export declare class SchemaBuilder
|
|
65
|
+
export declare class SchemaBuilder {
|
|
72
66
|
_aliases: Record<string, string>;
|
|
73
|
-
_definitions:
|
|
67
|
+
_definitions: SharedDefinitions | undefined;
|
|
74
68
|
_implemented: Record<string, Array<string>>;
|
|
75
69
|
_inputObjects: Record<string, GraphQLInputObjectType>;
|
|
76
70
|
_mutations: GraphQLFieldConfigMap<unknown, Context>;
|
|
@@ -83,13 +77,13 @@ export declare class SchemaBuilder<Document extends DocumentType = DocumentType,
|
|
|
83
77
|
constructor(params: SchemaBuilderParams);
|
|
84
78
|
getModelIDs(id: string | null): Array<string>;
|
|
85
79
|
build(): GraphQLSchema;
|
|
86
|
-
_getDefinitions():
|
|
80
|
+
_getDefinitions(): SharedDefinitions;
|
|
87
81
|
_getReference(path: string, parentName?: string): GraphQLOutputType;
|
|
88
82
|
_getReferenceSchema(id: string): TypeModel;
|
|
89
83
|
_getReferenceInput(path: string, isPartial: boolean, parentName?: string): GraphQLInputType;
|
|
90
|
-
_buildSharedDefinitions():
|
|
91
|
-
_buildDocument(id: string): GraphQLObjectType<
|
|
92
|
-
_buildDocumentFields(id: string, model: DocumentModel, name: string): GraphQLFieldConfigMap<
|
|
84
|
+
_buildSharedDefinitions(): SharedDefinitions;
|
|
85
|
+
_buildDocument(id: string): GraphQLObjectType<DocumentNode, Context> | GraphQLInterfaceType;
|
|
86
|
+
_buildDocumentFields(id: string, model: DocumentModel, name: string): GraphQLFieldConfigMap<DocumentNode, Context>;
|
|
93
87
|
_buildDocumentDataObject(id: string, model: DocumentModel, name: string): GraphQLInterfaceType | GraphQLObjectType<DocumentData, Context>;
|
|
94
88
|
_buildDocumentInput(id: string, model: DocumentModel): void;
|
|
95
89
|
_buildReferenceFilterInput(path: string, parentName?: string): GraphQLInputType;
|
|
@@ -102,7 +96,7 @@ export declare class SchemaBuilder<Document extends DocumentType = DocumentType,
|
|
|
102
96
|
_buildArray(schema: ArrayModel, parentName?: string): GraphQLList<GraphQLNonNull<GraphQLOutputType>>;
|
|
103
97
|
_buildObject(id: string, schema: ObjectModel, parentName?: string): GraphQLObjectType;
|
|
104
98
|
_buildObjectFields(id: string, schema: DocumentModelSchema | ObjectModel): GraphQLFieldConfigMap<Record<string, unknown>, Context>;
|
|
105
|
-
_buildRelationFields(fields: GraphQLFieldConfigMap<
|
|
99
|
+
_buildRelationFields(fields: GraphQLFieldConfigMap<DocumentNode, Context>, fieldName: string, relation: RelationField): void;
|
|
106
100
|
_buildRelationSubscriptions(fields: GraphQLFieldConfigMap<unknown, Context>, modelID: string, fieldName: string, relation: RelationField): void;
|
|
107
101
|
_buildString(schema: StringModel, asInput: boolean): GraphQLEnumType | GraphQLObjectType | GraphQLScalarType;
|
|
108
102
|
_buildCustomString(schema: StringCustomModel, asInput: boolean): GraphQLScalarType<unknown, unknown> | GraphQLObjectType<string, Context> | GraphQLObjectType<AttachmentID, Context>;
|
package/lib/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,eAAe,EAAY,MAAM,WAAW,CAAA;AAC/E,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,WAAW,EAEX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,WAAW,EAEX,SAAS,EACV,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAGL,eAAe,EAEf,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAI1B,sBAAsB,EACtB,KAAK,gBAAgB,EAErB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,aAAa,EAKd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,IAAI,EAKV,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,eAAe,EAAY,MAAM,WAAW,CAAA;AAC/E,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,WAAW,EAEX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,WAAW,EAEX,SAAS,EACV,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAGL,eAAe,EAEf,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAI1B,sBAAsB,EACtB,KAAK,gBAAgB,EAErB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,aAAa,EAKd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,IAAI,EAKV,MAAM,eAAe,CAAA;AAWtB,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,YAAY,CAAA;AA+CtE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,GAAG,eAAe,CAE/E;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,eAAe,GAAG,MAAM,EAC5B,QAAQ,EAAE,eAAe,GAAG,MAAM,GACjC,eAAe,CAGjB;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,gBAAgB,iDAE5C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,kDAElD;AAyFD,eAAO,MAAM,cAAc,wBAUzB,CAAA;AAUF,KAAK,sBAAsB,GAAG,mBAAmB,GAAG;IAClD,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,IAAI,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACtD,iBAAiB,CACf,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IACpC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;IACtF,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IACjF,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAA;IACpE,0BAA0B,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IACpD,4BAA4B,CAC1B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GAC3C,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACrC,8BAA8B,CAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GAC3C,cAAc,CAAC,MAAM,CAAC,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,YAAY,CAAC,CAAA;IACxB,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,YAAY,CAAC,CAAA;IACxB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAClG,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,oBAAoB,CAAA;IACnC,SAAS,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/C,UAAU,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG;IACvD,aAAa,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,gBAAgB,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC1D,iBAAiB,EAAE,oBAAoB,CAAA;IACvC,kBAAkB,EAAE,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAChE,WAAW,EAAE,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CACrD,CAAA;AAED,KAAK,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAA;AACvD,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED,qBAAa,aAAa;IAExB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAK;IAChD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAA6C;IAClG,UAAU,EAAE,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAK;IACxD,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,WAAW,EAAE,qBAAqB,CAAK;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAK;IACjD,cAAc,EAAE,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAK;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAuB;gBAEpD,MAAM,EAAE,mBAAmB;IA0CvC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;IAI7C,KAAK,IAAI,aAAa;IA6EtB,eAAe,IAAI,iBAAiB;IAOpC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAWnE,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAQ1C,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,SAAK,GAAG,gBAAgB;IAwCvF,uBAAuB,IAAI,iBAAiB;IAyI5C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,oBAAoB;IA+G3F,oBAAoB,CAClB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GACX,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC;IAyD/C,wBAAwB,CACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GACX,oBAAoB,GAAG,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC;IAoClE,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAgC3D,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,gBAAgB;IAsC3E,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,gBAAgB,GAAG,IAAI;IAcnF,uBAAuB,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,mBAAmB,GAAG,WAAW,EACzC,UAAU,SAAK,EACf,UAAU,UAAQ;IAmCpB,wBAAwB,CACtB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,mBAAmB,GAAG,WAAW,EACzC,UAAU,SAAK,EACf,UAAU,UAAQ;IA4BpB,wBAAwB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,aAAa,CAAC,EAAE,MAAM,GACrB,sBAAsB;IA4BzB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,SAAK,GAAG,iBAAiB;IAiBlF,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,UAAQ,GAAG,iBAAiB;IAkBjF,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,SAAK,GAAG,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAOhG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,SAAK,GAAG,iBAAiB;IAKjF,kBAAkB,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,mBAAmB,GAAG,WAAW,GACxC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAiB1D,oBAAoB,CAClB,MAAM,EAAE,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,IAAI;IA0BP,2BAA2B,CACzB,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC/C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,IAAI;IAkCP,YAAY,CACV,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,GACf,eAAe,GAAG,iBAAiB,GAAG,iBAAiB;IAa1D,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAqB9D,gBAAgB,CAAC,MAAM,EAAE,eAAe;IAQxC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB;CAO7C;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,aAAa,CAEf"}
|
package/lib/schema.js
CHANGED
|
@@ -3,7 +3,7 @@ import { REFERENCE_PREFIX } from '@kubun/protocol';
|
|
|
3
3
|
import { pascalCase } from 'change-case';
|
|
4
4
|
import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLID, GraphQLInputObjectType, GraphQLInt, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLSchema, GraphQLString, isEnumType, isListType, isNonNullType } from 'graphql';
|
|
5
5
|
import { connectionArgs, connectionDefinitions, mutationWithClientMutationId, nodeDefinitions } from 'graphql-relay';
|
|
6
|
-
import { GraphQLDID, GraphQLDuration, GraphQLJSON, GraphQLJSONObject, GraphQLURL } from 'graphql-scalars';
|
|
6
|
+
import { GraphQLDID, GraphQLDateTimeISO, GraphQLDuration, GraphQLJSON, GraphQLJSONObject, GraphQLURL } from 'graphql-scalars';
|
|
7
7
|
import { GraphQLAttachmentID, GraphQLDocID } from './identifiers.js';
|
|
8
8
|
import { getUniqueDocValue } from './utils.js';
|
|
9
9
|
const STRING_FORMATS = {
|
|
@@ -452,7 +452,7 @@ export class SchemaBuilder {
|
|
|
452
452
|
case 'default':
|
|
453
453
|
{
|
|
454
454
|
const name = this._aliases[id];
|
|
455
|
-
config[`
|
|
455
|
+
config[`own${name}List`] = {
|
|
456
456
|
type: this._types[`${id}-connection`],
|
|
457
457
|
args: {
|
|
458
458
|
...connectionArgs,
|
|
@@ -475,16 +475,16 @@ export class SchemaBuilder {
|
|
|
475
475
|
case 'unique':
|
|
476
476
|
{
|
|
477
477
|
const name = this._aliases[id];
|
|
478
|
-
config[name] = {
|
|
478
|
+
config[`own${name}`] = {
|
|
479
479
|
type: this._types[id],
|
|
480
480
|
args: model.uniqueFields.length ? {
|
|
481
481
|
with: {
|
|
482
|
-
type: this._buildSetInputObjectType(id, model.uniqueFields)
|
|
482
|
+
type: new GraphQLNonNull(this._buildSetInputObjectType(id, model.uniqueFields))
|
|
483
483
|
}
|
|
484
484
|
} : {},
|
|
485
485
|
resolve: async (owner, args, ctx)=>{
|
|
486
486
|
const unique = getUniqueDocValue(model.uniqueFields, args.with);
|
|
487
|
-
const docID =
|
|
487
|
+
const docID = DocumentID.create(id, owner, unique);
|
|
488
488
|
return await ctx.loadDocument(docID.toString());
|
|
489
489
|
}
|
|
490
490
|
};
|
|
@@ -523,6 +523,12 @@ export class SchemaBuilder {
|
|
|
523
523
|
},
|
|
524
524
|
owner: {
|
|
525
525
|
type: new GraphQLNonNull(accountObject)
|
|
526
|
+
},
|
|
527
|
+
createdAt: {
|
|
528
|
+
type: new GraphQLNonNull(GraphQLDateTimeISO)
|
|
529
|
+
},
|
|
530
|
+
updatedAt: {
|
|
531
|
+
type: GraphQLDateTimeISO
|
|
526
532
|
}
|
|
527
533
|
};
|
|
528
534
|
const documentInterface = new GraphQLInterfaceType({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubun/graphql",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"license": "see LICENSE.md",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"type": "module",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"graphql-relay": "^0.10.2",
|
|
22
22
|
"graphql-scalars": "^1.24.2",
|
|
23
23
|
"multiformats": "^13.3.2",
|
|
24
|
-
"@kubun/
|
|
25
|
-
"@kubun/
|
|
24
|
+
"@kubun/id": "^0.3.0",
|
|
25
|
+
"@kubun/protocol": "^0.3.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"json-schema-typed": "^8.0.1"
|