@commitspark/graphql-api 2.0.0-beta.1 → 2.0.0-beta.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.
Files changed (113) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +84 -1
  3. package/dist/cjs/client.d.ts +4 -2
  4. package/dist/cjs/client.js +4 -2
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/graphql/errors.d.ts +3 -2
  7. package/dist/cjs/graphql/errors.js.map +1 -1
  8. package/dist/cjs/graphql/input-type-generator.js +2 -1
  9. package/dist/cjs/graphql/input-type-generator.js.map +1 -1
  10. package/dist/cjs/graphql/queries-mutations-generator.d.ts +8 -1
  11. package/dist/cjs/graphql/queries-mutations-generator.js +19 -0
  12. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
  13. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +2 -1
  14. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  15. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +2 -0
  16. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +74 -0
  17. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -0
  18. package/dist/cjs/graphql/resolvers/types.d.ts +6 -0
  19. package/dist/cjs/graphql/schema-analyzer.js +2 -1
  20. package/dist/cjs/graphql/schema-analyzer.js.map +1 -1
  21. package/dist/cjs/graphql/schema-generator.js +7 -1
  22. package/dist/cjs/graphql/schema-generator.js.map +1 -1
  23. package/dist/cjs/graphql/schema-root-type-generator.d.ts +2 -2
  24. package/dist/cjs/graphql/schema-root-type-generator.js +2 -1
  25. package/dist/cjs/graphql/schema-root-type-generator.js.map +1 -1
  26. package/dist/cjs/graphql/schema-utils/directive-util.d.ts +4 -0
  27. package/dist/cjs/graphql/schema-utils/directive-util.js +10 -0
  28. package/dist/cjs/graphql/schema-utils/directive-util.js.map +1 -0
  29. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +3 -1
  30. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  31. package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -2
  32. package/dist/cjs/graphql/schema-utils/entry-type-util.js +2 -6
  33. package/dist/cjs/graphql/schema-utils/entry-type-util.js.map +1 -1
  34. package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +4 -0
  35. package/dist/cjs/graphql/schema-utils/searchable-field-util.js +79 -0
  36. package/dist/cjs/graphql/schema-utils/searchable-field-util.js.map +1 -0
  37. package/dist/cjs/graphql/schema-validator.js +21 -3
  38. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  39. package/dist/cjs/index.d.ts +9 -2
  40. package/dist/cjs/index.js +4 -3
  41. package/dist/cjs/index.js.map +1 -1
  42. package/dist/esm/client.js +4 -2
  43. package/dist/esm/client.js.map +1 -1
  44. package/dist/esm/graphql/errors.js.map +1 -1
  45. package/dist/esm/graphql/input-type-generator.js +3 -2
  46. package/dist/esm/graphql/input-type-generator.js.map +1 -1
  47. package/dist/esm/graphql/queries-mutations-generator.js +18 -0
  48. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
  49. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -2
  50. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  51. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +70 -0
  52. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -0
  53. package/dist/esm/graphql/schema-analyzer.js +2 -1
  54. package/dist/esm/graphql/schema-analyzer.js.map +1 -1
  55. package/dist/esm/graphql/schema-generator.js +8 -2
  56. package/dist/esm/graphql/schema-generator.js.map +1 -1
  57. package/dist/esm/graphql/schema-root-type-generator.js +2 -1
  58. package/dist/esm/graphql/schema-root-type-generator.js.map +1 -1
  59. package/dist/esm/graphql/schema-utils/directive-util.js +6 -0
  60. package/dist/esm/graphql/schema-utils/directive-util.js.map +1 -0
  61. package/dist/esm/graphql/schema-utils/entry-reference-util.js +4 -2
  62. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  63. package/dist/esm/graphql/schema-utils/entry-type-util.js +2 -5
  64. package/dist/esm/graphql/schema-utils/entry-type-util.js.map +1 -1
  65. package/dist/esm/graphql/schema-utils/searchable-field-util.js +76 -0
  66. package/dist/esm/graphql/schema-utils/searchable-field-util.js.map +1 -0
  67. package/dist/esm/graphql/schema-validator.js +22 -4
  68. package/dist/esm/graphql/schema-validator.js.map +1 -1
  69. package/dist/esm/index.js +4 -3
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/types/client.d.ts +4 -2
  72. package/dist/types/client.d.ts.map +1 -1
  73. package/dist/types/graphql/errors.d.ts +3 -2
  74. package/dist/types/graphql/errors.d.ts.map +1 -1
  75. package/dist/types/graphql/input-type-generator.d.ts.map +1 -1
  76. package/dist/types/graphql/queries-mutations-generator.d.ts +8 -1
  77. package/dist/types/graphql/queries-mutations-generator.d.ts.map +1 -1
  78. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -1
  79. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +3 -0
  80. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
  81. package/dist/types/graphql/resolvers/types.d.ts +6 -0
  82. package/dist/types/graphql/resolvers/types.d.ts.map +1 -1
  83. package/dist/types/graphql/schema-analyzer.d.ts.map +1 -1
  84. package/dist/types/graphql/schema-generator.d.ts.map +1 -1
  85. package/dist/types/graphql/schema-root-type-generator.d.ts +2 -2
  86. package/dist/types/graphql/schema-root-type-generator.d.ts.map +1 -1
  87. package/dist/types/graphql/schema-utils/directive-util.d.ts +5 -0
  88. package/dist/types/graphql/schema-utils/directive-util.d.ts.map +1 -0
  89. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
  90. package/dist/types/graphql/schema-utils/entry-type-util.d.ts +1 -2
  91. package/dist/types/graphql/schema-utils/entry-type-util.d.ts.map +1 -1
  92. package/dist/types/graphql/schema-utils/searchable-field-util.d.ts +5 -0
  93. package/dist/types/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
  94. package/dist/types/graphql/schema-validator.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +9 -2
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/package.json +6 -1
  98. package/src/client.ts +6 -0
  99. package/src/graphql/errors.ts +3 -2
  100. package/src/graphql/input-type-generator.ts +5 -4
  101. package/src/graphql/queries-mutations-generator.ts +31 -1
  102. package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +5 -4
  103. package/src/graphql/resolvers/query-mutation-resolvers/query-search-resolver.ts +110 -0
  104. package/src/graphql/resolvers/types.ts +8 -0
  105. package/src/graphql/schema-analyzer.ts +6 -1
  106. package/src/graphql/schema-generator.ts +13 -1
  107. package/src/graphql/schema-root-type-generator.ts +3 -0
  108. package/src/graphql/schema-utils/directive-util.ts +15 -0
  109. package/src/graphql/schema-utils/entry-reference-util.ts +6 -2
  110. package/src/graphql/schema-utils/entry-type-util.ts +2 -11
  111. package/src/graphql/schema-utils/searchable-field-util.ts +130 -0
  112. package/src/graphql/schema-validator.ts +37 -7
  113. package/src/index.ts +25 -4
@@ -1 +1 @@
1
- {"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,6BAA6B,CAC3C,gBAAmC,EACnC,SAAyB;IAEzB,OAAO,CACL,gBAAgB;QAChB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,SAAS,CAAC,YAAY,EAAE;QAC7B,IAAI;QACJ,OAAO;QACP,mBAAmB;QACnB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,CACN,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,6BAA6B,CAC3C,gBAAmC,EACnC,SAAyB,EACzB,WAA6C;IAE7C,OAAO,CACL,gBAAgB;QAChB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,SAAS,CAAC,YAAY,EAAE;QAC7B,IAAI;QACJ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO;QACP,mBAAmB;QACnB,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,gBAAgB;aACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;QACJ,KAAK,CACN,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export const ENTRY_DIRECTIVE_NAME = 'Entry';
2
+ export const SEARCHABLE_DIRECTIVE_NAME = 'Searchable';
3
+ export function hasDirective(typeOrField, directiveName) {
4
+ return (typeOrField.astNode?.directives?.some((directive) => directive.name.value === directiveName) ?? false);
5
+ }
6
+ //# sourceMappingURL=directive-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/directive-util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAA;AAErD,MAAM,UAAU,YAAY,CAC1B,WAA8D,EAC9D,aAAqB;IAErB,OAAO,CACL,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CACnC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CACtD,IAAI,KAAK,CACX,CAAA;AACH,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { isListType, isNonNullType, isObjectType, isScalarType, isUnionType, } from 'graphql';
2
2
  import { getTypeById } from "../../persistence/persistence.js";
3
3
  import { getUnionTypeNameFromFieldValue, getUnionValue, } from "./union-type-util.js";
4
- import { hasEntryDirective, isUnionOfEntryTypes } from "./entry-type-util.js";
4
+ import { ENTRY_DIRECTIVE_NAME, hasDirective } from "./directive-util.js";
5
+ import { isUnionOfEntryTypes } from "./entry-type-util.js";
5
6
  import { createError } from "../errors.js";
6
7
  import { isEntryData } from "../util.js";
7
8
  function isPermittedReferenceType(referencedTypeName, fieldType) {
@@ -120,7 +121,8 @@ export async function getReferencedEntryIds(rootType, context, fieldName, type,
120
121
  return getReferencedEntryIds(rootType, context, fieldName, concreteFieldUnionType, unionValue);
121
122
  }
122
123
  if (isObjectType(type)) {
123
- if (type.name !== rootType.name && hasEntryDirective(type)) {
124
+ if (type.name !== rootType.name &&
125
+ hasDirective(type, ENTRY_DIRECTIVE_NAME)) {
124
126
  const referenceId = await getValidatedReferenceId(context, fieldName, type, data);
125
127
  return [referenceId];
126
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import { isListType, isNonNullType, isObjectType, isUnionType, } from 'graphql';
2
- export function hasEntryDirective(type) {
3
- return (!!type.astNode &&
4
- type.astNode.directives?.find((directive) => directive.name.value === 'Entry') !== undefined);
5
- }
2
+ import { ENTRY_DIRECTIVE_NAME, hasDirective } from "./directive-util.js";
6
3
  export function isUnionOfEntryTypes(type) {
7
4
  return type
8
5
  .getTypes()
@@ -19,7 +16,7 @@ export function buildsOnTypeWithEntryDirective(type) {
19
16
  return isUnionOfEntryTypes(type);
20
17
  }
21
18
  else if (isObjectType(type)) {
22
- return hasEntryDirective(type);
19
+ return hasDirective(type, ENTRY_DIRECTIVE_NAME);
23
20
  }
24
21
  return false;
25
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entry-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-type-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAA;AAEhB,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,OAAO;QACd,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAChD,KAAK,SAAS,CAChB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,OAAO,IAAI;SACR,QAAQ,EAAE;SACV,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,IAAyB;IAEzB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"entry-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-type-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAExE,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,OAAO,IAAI;SACR,QAAQ,EAAE;SACV,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,IAAyB;IAEzB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { isListType, isNonNullType, isObjectType, isScalarType, isUnionType, } from 'graphql';
2
+ import { ENTRY_DIRECTIVE_NAME, hasDirective, SEARCHABLE_DIRECTIVE_NAME, } from "./directive-util.js";
3
+ import { isUnionOfEntryTypes } from "./entry-type-util.js";
4
+ import { getUnionTypeNameFromFieldValue } from "./union-type-util.js";
5
+ // Returns every non-empty string value of searchable fields. Values that do not match the schema are skipped instead
6
+ // of failing the search.
7
+ export function extractSearchableFieldValues(schema, entries) {
8
+ const searchableFieldValues = [];
9
+ for (const entry of entries) {
10
+ const entryType = schema.getType(entry.metadata.type);
11
+ if (!isObjectType(entryType) || !isRecord(entry.data)) {
12
+ continue;
13
+ }
14
+ const addValue = (fieldPath, value) => {
15
+ searchableFieldValues.push({
16
+ entryId: entry.id,
17
+ entryType: entryType.name,
18
+ fieldPath: fieldPath,
19
+ value: value,
20
+ });
21
+ };
22
+ collectFromObject(schema, entryType, entry.data, '', addValue);
23
+ }
24
+ return searchableFieldValues;
25
+ }
26
+ function collectFromObject(schema, objectType, data, path, addValue) {
27
+ const isTypeSearchable = hasDirective(objectType, SEARCHABLE_DIRECTIVE_NAME);
28
+ for (const field of Object.values(objectType.getFields())) {
29
+ const value = data[field.name];
30
+ if (value === undefined || value === null) {
31
+ continue;
32
+ }
33
+ collectFromValue(schema, field.type, value, path === '' ? field.name : `${path}.${field.name}`, isTypeSearchable || hasDirective(field, SEARCHABLE_DIRECTIVE_NAME), addValue);
34
+ }
35
+ }
36
+ function collectFromValue(schema, type, value, path, isSearchable, addValue) {
37
+ if (isNonNullType(type)) {
38
+ collectFromValue(schema, type.ofType, value, path, isSearchable, addValue);
39
+ }
40
+ else if (isListType(type)) {
41
+ if (!Array.isArray(value)) {
42
+ return;
43
+ }
44
+ value.forEach((item, index) => collectFromValue(schema, type.ofType, item, `${path}[${index}]`, isSearchable, addValue));
45
+ }
46
+ else if (isScalarType(type)) {
47
+ if (isSearchable &&
48
+ type.name === 'String' &&
49
+ typeof value === 'string' &&
50
+ value.trim() !== '') {
51
+ addValue(path, value);
52
+ }
53
+ }
54
+ else if (isObjectType(type)) {
55
+ // references to other entries are not followed, as each entry is indexed with its own content only
56
+ if (!hasDirective(type, ENTRY_DIRECTIVE_NAME) && isRecord(value)) {
57
+ collectFromObject(schema, type, value, path, addValue);
58
+ }
59
+ }
60
+ else if (isUnionType(type)) {
61
+ if (isUnionOfEntryTypes(type) || !isRecord(value)) {
62
+ return;
63
+ }
64
+ // non-entry union values are stored wrapped in an object keyed by their concrete type name, which is kept in the
65
+ // path so that the path matches stored data and identifies the concrete type
66
+ const concreteType = schema.getType(getUnionTypeNameFromFieldValue(value));
67
+ const concreteValue = value[concreteType?.name ?? ''];
68
+ if (isObjectType(concreteType) && isRecord(concreteValue)) {
69
+ collectFromObject(schema, concreteType, concreteValue, `${path}.${concreteType.name}`, addValue);
70
+ }
71
+ }
72
+ }
73
+ function isRecord(value) {
74
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
75
+ }
76
+ //# sourceMappingURL=searchable-field-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchable-field-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/searchable-field-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAErE,qHAAqH;AACrH,yBAAyB;AACzB,MAAM,UAAU,4BAA4B,CAC1C,MAAqB,EACrB,OAAwB;IAExB,MAAM,qBAAqB,GAA2B,EAAE,CAAA;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAQ,EAAE;YAC1D,qBAAqB,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,UAA6B,EAC7B,IAA6B,EAC7B,IAAY,EACZ,QAAoD;IAEpD,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAA;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,SAAQ;QACV,CAAC;QACD,gBAAgB,CACd,MAAM,EACN,KAAK,CAAC,IAAI,EACV,KAAK,EACL,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAClD,gBAAgB,IAAI,YAAY,CAAC,KAAK,EAAE,yBAAyB,CAAC,EAClE,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAqB,EACrB,IAAuB,EACvB,KAAc,EACd,IAAY,EACZ,YAAqB,EACrB,QAAoD;IAEpD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5B,gBAAgB,CACd,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,GAAG,IAAI,IAAI,KAAK,GAAG,EACnB,YAAY,EACZ,QAAQ,CACT,CACF,CAAA;IACH,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IACE,YAAY;YACZ,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EACnB,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,mGAAmG;QACnG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,OAAM;QACR,CAAC;QACD,iHAAiH;QACjH,6EAA6E;QAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QACrD,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1D,iBAAiB,CACf,MAAM,EACN,YAAY,EACZ,aAAa,EACb,GAAG,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,EAC9B,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Kind } from 'graphql';
1
+ import { getNamedType, isObjectType, isScalarType, Kind, } from 'graphql';
2
+ import { ENTRY_DIRECTIVE_NAME, hasDirective, SEARCHABLE_DIRECTIVE_NAME, } from "./schema-utils/directive-util.js";
2
3
  function checkUnionMembersConsistentUseOfEntryDirective(schema) {
3
4
  const typeMap = schema.getTypeMap();
4
5
  for (const type of Object.values(typeMap)) {
@@ -6,11 +7,27 @@ function checkUnionMembersConsistentUseOfEntryDirective(schema) {
6
7
  continue;
7
8
  }
8
9
  const innerTypes = type.getTypes();
9
- const numberUnionMembersWithEntryDirective = innerTypes.filter((innerType) => !!innerType.astNode &&
10
- innerType.astNode.directives?.find((directive) => directive.name.value === 'Entry') !== undefined).length;
10
+ const numberUnionMembersWithEntryDirective = innerTypes.filter((innerType) => hasDirective(innerType, ENTRY_DIRECTIVE_NAME)).length;
11
11
  if (numberUnionMembersWithEntryDirective !== 0 &&
12
12
  numberUnionMembersWithEntryDirective !== innerTypes.length) {
13
- return `Either all union members of "${type.name}" must have "@Entry" directive or none.`;
13
+ return `Either all union members of "${type.name}" must have "@${ENTRY_DIRECTIVE_NAME}" directive or none.`;
14
+ }
15
+ }
16
+ return '';
17
+ }
18
+ function checkSearchableDirectiveOnlyOnStringFields(schema) {
19
+ for (const type of Object.values(schema.getTypeMap())) {
20
+ if (!isObjectType(type) || type.name.startsWith('__')) {
21
+ continue;
22
+ }
23
+ for (const field of Object.values(type.getFields())) {
24
+ if (!hasDirective(field, SEARCHABLE_DIRECTIVE_NAME)) {
25
+ continue;
26
+ }
27
+ const namedType = getNamedType(field.type);
28
+ if (!isScalarType(namedType) || namedType.name !== 'String') {
29
+ return `Field "${type.name}.${field.name}" must be of type "String" or a list of "String" to use "@${SEARCHABLE_DIRECTIVE_NAME}" directive.`;
30
+ }
14
31
  }
15
32
  }
16
33
  return '';
@@ -18,6 +35,7 @@ function checkUnionMembersConsistentUseOfEntryDirective(schema) {
18
35
  export function getValidationResult(schema) {
19
36
  const results = [];
20
37
  results.push(checkUnionMembersConsistentUseOfEntryDirective(schema));
38
+ results.push(checkSearchableDirectiveOnlyOnStringFields(schema));
21
39
  return results.filter((result) => result !== '');
22
40
  }
23
41
  //# sourceMappingURL=schema-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,IAAI,EAAE,MAAM,SAAS,CAAA;AAE/D,SAAS,8CAA8C,CACrD,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAI,IAAyB,CAAC,QAAQ,EAAE,CAAA;QAExD,MAAM,oCAAoC,GAAG,UAAU,CAAC,MAAM,CAC5D,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,CAAC,OAAO;YACnB,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAChC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAChD,KAAK,SAAS,CAClB,CAAC,MAAM,CAAA;QAER,IACE,oCAAoC,KAAK,CAAC;YAC1C,oCAAoC,KAAK,UAAU,CAAC,MAAM,EAC1D,CAAC;YACD,OAAO,gCAAgC,IAAI,CAAC,IAAI,yCAAyC,CAAA;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,CAAC,CAAA;IACpE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,kCAAkC,CAAA;AAEzC,SAAS,8CAA8C,CACrD,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAI,IAAyB,CAAC,QAAQ,EAAE,CAAA;QAExD,MAAM,oCAAoC,GAAG,UAAU,CAAC,MAAM,CAC5D,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAC7D,CAAC,MAAM,CAAA;QAER,IACE,oCAAoC,KAAK,CAAC;YAC1C,oCAAoC,KAAK,UAAU,CAAC,MAAM,EAC1D,CAAC;YACD,OAAO,gCAAgC,IAAI,CAAC,IAAI,iBAAiB,oBAAoB,sBAAsB,CAAA;QAC7G,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,0CAA0C,CACjD,MAAqB;IAErB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC;gBACpD,SAAQ;YACV,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5D,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,6DAA6D,yBAAyB,cAAc,CAAA;YAC9I,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { getSchema, postGraphQL, } from "./client.js";
2
2
  import { createCacheHandler } from "./persistence/cache.js";
3
- export async function createClient(gitAdapter) {
3
+ export async function createClient(gitAdapter, options = {}) {
4
4
  const repositoryCache = createCacheHandler();
5
+ const searchAdapter = options.searchAdapter;
5
6
  return {
6
- postGraphQL: (...args) => postGraphQL(gitAdapter, repositoryCache, ...args),
7
- getSchema: (...args) => getSchema(gitAdapter, repositoryCache, ...args),
7
+ postGraphQL: (...args) => postGraphQL(gitAdapter, searchAdapter, repositoryCache, ...args),
8
+ getSchema: (...args) => getSchema(gitAdapter, searchAdapter, repositoryCache, ...args),
8
9
  };
9
10
  }
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,WAAW,GAGZ,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAe3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAsB;IACvD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAC3E,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACxE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,WAAW,GAGZ,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AA6B3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,UAAyB,EAAE;IAE3B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACvB,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAClE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACrB,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACjE,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { DocumentNode, GraphQLFormattedError, TypedQueryDocumentNode } from 'graphql';
2
2
  import { GitAdapter } from '@commitspark/git-adapter';
3
+ import { SearchAdapter } from '@commitspark/search-adapter';
3
4
  import { GraphQLRequest } from '@apollo/server';
4
5
  import { RepositoryCacheHandler } from './persistence/cache.ts';
5
6
  export type VariableValues = {
@@ -8,11 +9,12 @@ export type VariableValues = {
8
9
  export type ApolloExecuteOperationRequest<TData = Record<string, unknown>, TVariables extends VariableValues = VariableValues> = Omit<GraphQLRequest<TVariables>, 'query'> & {
9
10
  query?: string | DocumentNode | TypedQueryDocumentNode<TData, TVariables>;
10
11
  };
11
- export declare const postGraphQL: <TData = Record<string, unknown>, TVariables extends VariableValues = VariableValues>(gitAdapter: GitAdapter, repositoryCache: RepositoryCacheHandler, ref: string, request: ApolloExecuteOperationRequest<TData, TVariables>) => Promise<GraphQLResponse<TData | null>>;
12
- export declare const getSchema: (gitAdapter: GitAdapter, repositoryCache: RepositoryCacheHandler, ref: string) => Promise<SchemaResponse>;
12
+ export declare const postGraphQL: <TData = Record<string, unknown>, TVariables extends VariableValues = VariableValues>(gitAdapter: GitAdapter, searchAdapter: SearchAdapter | undefined, repositoryCache: RepositoryCacheHandler, ref: string, request: ApolloExecuteOperationRequest<TData, TVariables>) => Promise<GraphQLResponse<TData | null>>;
13
+ export declare const getSchema: (gitAdapter: GitAdapter, searchAdapter: SearchAdapter | undefined, repositoryCache: RepositoryCacheHandler, ref: string) => Promise<SchemaResponse>;
13
14
  export interface ApolloContext {
14
15
  branch: string;
15
16
  gitAdapter: GitAdapter;
17
+ searchAdapter?: SearchAdapter;
16
18
  getCurrentHash(): string;
17
19
  setCurrentHash(sha: string): void;
18
20
  repositoryCache: RepositoryCacheHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,6BAA6B,CACvC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,IAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CAC1E,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,YAAY,UAAU,EACtB,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,EACX,SAAS,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAuCvC,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,KACV,OAAO,CAAC,cAAc,CAuBxB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,IAAI,MAAM,CAAA;IACxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,6BAA6B,CACvC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,IAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CAC1E,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,EACX,SAAS,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAwCvC,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,KACV,OAAO,CAAC,cAAc,CAwBxB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,cAAc,IAAI,MAAM,CAAA;IACxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -1,5 +1,6 @@
1
1
  import { GraphQLError } from 'graphql';
2
- import { ErrorCode as AdapterErrorCode } from '@commitspark/git-adapter';
2
+ import { ErrorCode as GitAdapterErrorCode } from '@commitspark/git-adapter';
3
+ import { ErrorCode as SearchAdapterErrorCode } from '@commitspark/search-adapter';
3
4
  export declare const enum ErrorCode {
4
5
  BAD_USER_INPUT = "BAD_USER_INPUT",
5
6
  NOT_FOUND = "NOT_FOUND",
@@ -16,5 +17,5 @@ export interface ErrorMetadata {
16
17
  argumentValue?: unknown;
17
18
  schema?: string;
18
19
  }
19
- export declare const createError: (message: string, code: ErrorCode | AdapterErrorCode, metaData: ErrorMetadata) => GraphQLError;
20
+ export declare const createError: (message: string, code: ErrorCode | GitAdapterErrorCode | SearchAdapterErrorCode, metaData: ErrorMetadata) => GraphQLError;
20
21
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAExE,0BAAkB,SAAS;IACzB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,MAAM,SAAS,GAAG,gBAAgB,EAClC,UAAU,aAAa,KACtB,YAiBF,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEjF,0BAAkB,SAAS;IACzB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,MAAM,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,EAC9D,UAAU,aAAa,KACtB,YAiBF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAEjB,gBAAgB,EAOjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAiC3D,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,EAAE,CAiBV;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,MAAM,EAAE,CA8BV;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,EAAE,GAC7B,MAAM,EAAE,CAoBV"}
1
+ {"version":3,"file":"input-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAEjB,gBAAgB,EAOjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAkC3D,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,EAAE,CAiBV;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,MAAM,EAAE,CA8BV;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,EAAE,GAC7B,MAAM,EAAE,CAoBV"}
@@ -1,8 +1,15 @@
1
1
  import { EntryData } from '@commitspark/git-adapter';
2
2
  import { GraphQLObjectType } from 'graphql';
3
- import { QueryMutationResolver } from './resolvers/types.ts';
3
+ import { QueryMutationResolver, SearchQueryResolver } from './resolvers/types.ts';
4
4
  export declare function generateQueriesAndMutations(entryDirectiveTypes: GraphQLObjectType[]): GeneratedSchema[];
5
5
  export declare function generateTypeNameQuery(): GeneratedQuery;
6
+ export declare function generateSearchQuery(): GeneratedSearchQuery;
7
+ export interface GeneratedSearchQuery {
8
+ name: string;
9
+ schemaString: string;
10
+ typeDefinitionString: string;
11
+ resolver: SearchQueryResolver;
12
+ }
6
13
  export interface GeneratedSchema {
7
14
  queryEvery: GeneratedQuery;
8
15
  queryById: GeneratedQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"queries-mutations-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAO3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,iBAAiB,EAAE,GACvC,eAAe,EAAE,CAmGnB;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAStD;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,CAAA;IAC1B,SAAS,EAAE,cAAc,CAAA;IACzB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;CAClE"}
1
+ {"version":3,"file":"queries-mutations-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQ3C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAE7B,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,iBAAiB,EAAE,GACvC,eAAe,EAAE,CAmGnB;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAStD;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,CAiB1D;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,CAAA;IAC1B,SAAS,EAAE,cAAc,CAAA;IACzB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;CAClE"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-default-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAiB1C,eAAO,MAAM,wBAAwB,EAAE,aA6GtC,CAAA"}
1
+ {"version":3,"file":"field-default-value-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAkB1C,eAAO,MAAM,wBAAwB,EAAE,aA6GtC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { SearchQueryResolver } from '../types.ts';
2
+ export declare const querySearchResolver: SearchQueryResolver;
3
+ //# sourceMappingURL=query-search-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-search-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-search-resolver.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAKjD,eAAO,MAAM,mBAAmB,EAAE,mBA6EjC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { ApolloContext } from '../../client.ts';
2
2
  import { GraphQLFieldResolver, GraphQLNamedType, GraphQLTypeResolver } from 'graphql';
3
3
  import { EntryData } from '@commitspark/git-adapter';
4
+ import { SearchHit } from '@commitspark/search-adapter';
4
5
  import { RecursiveArray } from './field-resolvers/types.ts';
5
6
  export interface QueryMutationResolverContext extends ApolloContext {
6
7
  type: GraphQLNamedType;
@@ -15,6 +16,11 @@ type UnionTypeResolverSourceData = EntryData & {
15
16
  id?: string;
16
17
  __typename: string;
17
18
  };
19
+ export type SearchQueryResolver = GraphQLFieldResolver<unknown, ApolloContext, {
20
+ query: string;
21
+ types?: string[] | null;
22
+ first?: number | null;
23
+ }, Promise<SearchHit[]>>;
18
24
  export type ContextInjectionResolver = GraphQLFieldResolver<EntryData, ApolloContext, Record<string, unknown>, Promise<RecursiveArray<EntryData>>>;
19
25
  export {};
20
26
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/graphql/resolvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IACjE,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,MAAM,qBAAqB,CAAC,UAAU,IAAI,oBAAoB,CAClE,OAAO,EACP,4BAA4B,EAC5B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EACvD,OAAO,CAAC,UAAU,CAAC,CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CACjD,2BAA2B,EAC3B,aAAa,CACd,CAAA;AAED,KAAK,2BAA2B,GAAG,SAAS,GAAG;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CACzD,SAAS,EACT,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CACnC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/graphql/resolvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IACjE,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,MAAM,qBAAqB,CAAC,UAAU,IAAI,oBAAoB,CAClE,OAAO,EACP,4BAA4B,EAC5B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EACvD,OAAO,CAAC,UAAU,CAAC,CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CACjD,2BAA2B,EAC3B,aAAa,CACd,CAAA;AAED,KAAK,2BAA2B,GAAG,SAAS,GAAG;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CACpD,OAAO,EACP,aAAa,EACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjE,OAAO,CAAC,SAAS,EAAE,CAAC,CACrB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CACzD,SAAS,EACT,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CACnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-analyzer.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAIjB,MAAM,SAAS,CAAA;AAGhB,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAoCzE;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,iBAAiB,EAAE,CAAA;IACxC,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,cAAc,EAAE,oBAAoB,EAAE,CAAA;IACtC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B"}
1
+ {"version":3,"file":"schema-analyzer.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAIjB,MAAM,SAAS,CAAA;AAIhB,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAwCzE;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,iBAAiB,EAAE,CAAA;IACxC,WAAW,EAAE,iBAAiB,EAAE,CAAA;IAChC,cAAc,EAAE,oBAAoB,EAAE,CAAA;IACtC,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAa5C,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,CA2HtC"}
1
+ {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAc5C,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,CAqItC"}
@@ -1,3 +1,3 @@
1
- import { GeneratedQuery, GeneratedSchema } from './queries-mutations-generator.ts';
2
- export declare function generateSchemaRootTypeStrings(generatedSchemas: GeneratedSchema[], typeQuery: GeneratedQuery): string;
1
+ import { GeneratedQuery, GeneratedSchema, GeneratedSearchQuery } from './queries-mutations-generator.ts';
2
+ export declare function generateSchemaRootTypeStrings(generatedSchemas: GeneratedSchema[], typeQuery: GeneratedQuery, searchQuery: GeneratedSearchQuery | undefined): string;
3
3
  //# sourceMappingURL=schema-root-type-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-root-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EAChB,MAAM,kCAAkC,CAAA;AAEzC,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,eAAe,EAAE,EACnC,SAAS,EAAE,cAAc,GACxB,MAAM,CA6BR"}
1
+ {"version":3,"file":"schema-root-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kCAAkC,CAAA;AAEzC,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,eAAe,EAAE,EACnC,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,oBAAoB,GAAG,SAAS,GAC5C,MAAM,CA8BR"}
@@ -0,0 +1,5 @@
1
+ import { GraphQLField, GraphQLNamedType } from 'graphql';
2
+ export declare const ENTRY_DIRECTIVE_NAME = "Entry";
3
+ export declare const SEARCHABLE_DIRECTIVE_NAME = "Searchable";
4
+ export declare function hasDirective(typeOrField: GraphQLNamedType | GraphQLField<unknown, unknown>, directiveName: string): boolean;
5
+ //# sourceMappingURL=directive-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/directive-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAExD,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAC3C,eAAO,MAAM,yBAAyB,eAAe,CAAA;AAErD,wBAAgB,YAAY,CAC1B,WAAW,EAAE,gBAAgB,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAC9D,aAAa,EAAE,MAAM,GACpB,OAAO,CAMT"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-reference-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAOlB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AA0G/C,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CA0InB"}
1
+ {"version":3,"file":"entry-reference-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAOlB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AA2G/C,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CA6InB"}
@@ -1,5 +1,4 @@
1
- import { GraphQLNullableType, GraphQLObjectType, GraphQLUnionType } from 'graphql';
2
- export declare function hasEntryDirective(type: GraphQLObjectType): boolean;
1
+ import { GraphQLNullableType, GraphQLUnionType } from 'graphql';
3
2
  export declare function isUnionOfEntryTypes(type: GraphQLUnionType): boolean;
4
3
  export declare function buildsOnTypeWithEntryDirective(type: GraphQLNullableType): boolean;
5
4
  //# sourceMappingURL=entry-type-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-type-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-type-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAKjB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAOlE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAInE;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAWT"}
1
+ {"version":3,"file":"entry-type-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-type-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAKjB,MAAM,SAAS,CAAA;AAGhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAInE;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAWT"}
@@ -0,0 +1,5 @@
1
+ import { GraphQLSchema } from 'graphql';
2
+ import { Entry } from '@commitspark/git-adapter';
3
+ import { SearchableFieldValue } from '@commitspark/search-adapter';
4
+ export declare function extractSearchableFieldValues(schema: GraphQLSchema, entries: Iterable<Entry>): SearchableFieldValue[];
5
+ //# sourceMappingURL=searchable-field-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchable-field-util.d.ts","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/searchable-field-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAMd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAWlE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GACvB,oBAAoB,EAAE,CAkBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAA;AAgC/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAInE"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAKd,MAAM,SAAS,CAAA;AAsDhB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAKnE"}
@@ -1,10 +1,17 @@
1
1
  import { ApolloExecuteOperationRequest, GraphQLResponse, SchemaResponse, VariableValues } from './client.ts';
2
2
  import { GitAdapter } from '@commitspark/git-adapter';
3
+ import { SearchAdapter } from '@commitspark/search-adapter';
3
4
  import { ErrorCode, ErrorMetadata } from './graphql/errors.ts';
4
5
  interface Client {
5
6
  postGraphQL<TData = Record<string, unknown>, TVariables extends VariableValues = VariableValues>(ref: string, request: ApolloExecuteOperationRequest<TData, TVariables>): Promise<GraphQLResponse<TData | null>>;
6
7
  getSchema(ref: string): Promise<SchemaResponse>;
7
8
  }
8
- export { Client, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata };
9
- export declare function createClient(gitAdapter: GitAdapter): Promise<Client>;
9
+ interface ClientOptions {
10
+ /**
11
+ * Enables query `_search` when set.
12
+ */
13
+ searchAdapter?: SearchAdapter;
14
+ }
15
+ export { Client, ClientOptions, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata, };
16
+ export declare function createClient(gitAdapter: GitAdapter, options?: ClientOptions): Promise<Client>;
10
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE7B,eAAe,EAEf,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG9D,UAAU,MAAM;IACd,WAAW,CACT,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,GACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACzC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChD;AAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AAE5E,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAE7B,eAAe,EAEf,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAG9D,UAAU,MAAM;IACd,WAAW,CACT,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,GACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;IACzC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChD;AAED,UAAU,aAAa;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,GACd,CAAA;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CASjB"}
package/package.json CHANGED
@@ -9,8 +9,12 @@
9
9
  "gitops",
10
10
  "api"
11
11
  ],
12
- "version": "2.0.0-beta.1",
12
+ "version": "2.0.0-beta.3",
13
13
  "license": "ISC",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/commitspark/graphql-api.git"
17
+ },
14
18
  "private": false,
15
19
  "files": [
16
20
  "dist/**",
@@ -45,6 +49,7 @@
45
49
  "dependencies": {
46
50
  "@apollo/server": "^5.2.0",
47
51
  "@commitspark/git-adapter": "^2.0.0-beta.1",
52
+ "@commitspark/search-adapter": "^1.0.0-beta.1",
48
53
  "@graphql-tools/schema": "^9.0.0",
49
54
  "@graphql-tools/utils": "^9.0.0"
50
55
  },
package/src/client.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  TypedQueryDocumentNode,
7
7
  } from 'graphql'
8
8
  import { GitAdapter } from '@commitspark/git-adapter'
9
+ import { SearchAdapter } from '@commitspark/search-adapter'
9
10
  import {
10
11
  ApolloServer,
11
12
  ApolloServerOptions,
@@ -27,6 +28,7 @@ export const postGraphQL = async <
27
28
  TVariables extends VariableValues = VariableValues,
28
29
  >(
29
30
  gitAdapter: GitAdapter,
31
+ searchAdapter: SearchAdapter | undefined,
30
32
  repositoryCache: RepositoryCacheHandler,
31
33
  ref: string,
32
34
  request: ApolloExecuteOperationRequest<TData, TVariables>,
@@ -35,6 +37,7 @@ export const postGraphQL = async <
35
37
  const context: ApolloContext = {
36
38
  branch: ref,
37
39
  gitAdapter: gitAdapter,
40
+ searchAdapter: searchAdapter,
38
41
  getCurrentHash(): string {
39
42
  return currentHash
40
43
  },
@@ -73,6 +76,7 @@ export const postGraphQL = async <
73
76
 
74
77
  export const getSchema = async (
75
78
  gitAdapter: GitAdapter,
79
+ searchAdapter: SearchAdapter | undefined,
76
80
  repositoryCache: RepositoryCacheHandler,
77
81
  ref: string,
78
82
  ): Promise<SchemaResponse> => {
@@ -80,6 +84,7 @@ export const getSchema = async (
80
84
  const context: ApolloContext = {
81
85
  branch: ref,
82
86
  gitAdapter: gitAdapter,
87
+ searchAdapter: searchAdapter,
83
88
  getCurrentHash(): string {
84
89
  return currentHash
85
90
  },
@@ -103,6 +108,7 @@ export const getSchema = async (
103
108
  export interface ApolloContext {
104
109
  branch: string
105
110
  gitAdapter: GitAdapter
111
+ searchAdapter?: SearchAdapter
106
112
  getCurrentHash(): string
107
113
  setCurrentHash(sha: string): void
108
114
  repositoryCache: RepositoryCacheHandler
@@ -1,5 +1,6 @@
1
1
  import { GraphQLError } from 'graphql'
2
- import { ErrorCode as AdapterErrorCode } from '@commitspark/git-adapter'
2
+ import { ErrorCode as GitAdapterErrorCode } from '@commitspark/git-adapter'
3
+ import { ErrorCode as SearchAdapterErrorCode } from '@commitspark/search-adapter'
3
4
 
4
5
  export const enum ErrorCode {
5
6
  BAD_USER_INPUT = 'BAD_USER_INPUT',
@@ -21,7 +22,7 @@ export interface ErrorMetadata {
21
22
 
22
23
  export const createError = (
23
24
  message: string,
24
- code: ErrorCode | AdapterErrorCode,
25
+ code: ErrorCode | GitAdapterErrorCode | SearchAdapterErrorCode,
25
26
  metaData: ErrorMetadata,
26
27
  ): GraphQLError => {
27
28
  const serializedFieldValue =