@commitspark/graphql-api 1.0.0 → 2.0.0-beta.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +87 -4
  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/cjs/persistence/cache.js +76 -27
  43. package/dist/cjs/persistence/cache.js.map +1 -1
  44. package/dist/esm/client.js +4 -2
  45. package/dist/esm/client.js.map +1 -1
  46. package/dist/esm/graphql/errors.js.map +1 -1
  47. package/dist/esm/graphql/input-type-generator.js +3 -2
  48. package/dist/esm/graphql/input-type-generator.js.map +1 -1
  49. package/dist/esm/graphql/queries-mutations-generator.js +18 -0
  50. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
  51. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -2
  52. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  53. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +70 -0
  54. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -0
  55. package/dist/esm/graphql/schema-analyzer.js +2 -1
  56. package/dist/esm/graphql/schema-analyzer.js.map +1 -1
  57. package/dist/esm/graphql/schema-generator.js +8 -2
  58. package/dist/esm/graphql/schema-generator.js.map +1 -1
  59. package/dist/esm/graphql/schema-root-type-generator.js +2 -1
  60. package/dist/esm/graphql/schema-root-type-generator.js.map +1 -1
  61. package/dist/esm/graphql/schema-utils/directive-util.js +6 -0
  62. package/dist/esm/graphql/schema-utils/directive-util.js.map +1 -0
  63. package/dist/esm/graphql/schema-utils/entry-reference-util.js +4 -2
  64. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  65. package/dist/esm/graphql/schema-utils/entry-type-util.js +2 -5
  66. package/dist/esm/graphql/schema-utils/entry-type-util.js.map +1 -1
  67. package/dist/esm/graphql/schema-utils/searchable-field-util.js +76 -0
  68. package/dist/esm/graphql/schema-utils/searchable-field-util.js.map +1 -0
  69. package/dist/esm/graphql/schema-validator.js +22 -4
  70. package/dist/esm/graphql/schema-validator.js.map +1 -1
  71. package/dist/esm/index.js +4 -3
  72. package/dist/esm/index.js.map +1 -1
  73. package/dist/esm/persistence/cache.js +76 -27
  74. package/dist/esm/persistence/cache.js.map +1 -1
  75. package/dist/types/client.d.ts +4 -2
  76. package/dist/types/client.d.ts.map +1 -1
  77. package/dist/types/graphql/errors.d.ts +3 -2
  78. package/dist/types/graphql/errors.d.ts.map +1 -1
  79. package/dist/types/graphql/input-type-generator.d.ts.map +1 -1
  80. package/dist/types/graphql/queries-mutations-generator.d.ts +8 -1
  81. package/dist/types/graphql/queries-mutations-generator.d.ts.map +1 -1
  82. package/dist/types/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -1
  83. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +3 -0
  84. package/dist/types/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
  85. package/dist/types/graphql/resolvers/types.d.ts +6 -0
  86. package/dist/types/graphql/resolvers/types.d.ts.map +1 -1
  87. package/dist/types/graphql/schema-analyzer.d.ts.map +1 -1
  88. package/dist/types/graphql/schema-generator.d.ts.map +1 -1
  89. package/dist/types/graphql/schema-root-type-generator.d.ts +2 -2
  90. package/dist/types/graphql/schema-root-type-generator.d.ts.map +1 -1
  91. package/dist/types/graphql/schema-utils/directive-util.d.ts +5 -0
  92. package/dist/types/graphql/schema-utils/directive-util.d.ts.map +1 -0
  93. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +1 -1
  94. package/dist/types/graphql/schema-utils/entry-type-util.d.ts +1 -2
  95. package/dist/types/graphql/schema-utils/entry-type-util.d.ts.map +1 -1
  96. package/dist/types/graphql/schema-utils/searchable-field-util.d.ts +5 -0
  97. package/dist/types/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
  98. package/dist/types/graphql/schema-validator.d.ts.map +1 -1
  99. package/dist/types/index.d.ts +9 -2
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/types/persistence/cache.d.ts.map +1 -1
  102. package/package.json +3 -2
  103. package/src/client.ts +6 -0
  104. package/src/graphql/errors.ts +3 -2
  105. package/src/graphql/input-type-generator.ts +5 -4
  106. package/src/graphql/queries-mutations-generator.ts +31 -1
  107. package/src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts +5 -4
  108. package/src/graphql/resolvers/query-mutation-resolvers/query-search-resolver.ts +110 -0
  109. package/src/graphql/resolvers/types.ts +8 -0
  110. package/src/graphql/schema-analyzer.ts +6 -1
  111. package/src/graphql/schema-generator.ts +13 -1
  112. package/src/graphql/schema-root-type-generator.ts +3 -0
  113. package/src/graphql/schema-utils/directive-util.ts +15 -0
  114. package/src/graphql/schema-utils/entry-reference-util.ts +6 -2
  115. package/src/graphql/schema-utils/entry-type-util.ts +2 -11
  116. package/src/graphql/schema-utils/searchable-field-util.ts +130 -0
  117. package/src/graphql/schema-validator.ts +37 -7
  118. package/src/index.ts +25 -4
  119. package/src/persistence/cache.ts +115 -28
package/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0-beta.2] - 2026-09-25
9
+
10
+ ### Added
11
+
12
+ - Add query `_search` for searching entries by text using a search adapter passed to `createClient()`
13
+ - Add directive `@Searchable` to explicitly mark types and fields as searchable
14
+
15
+ ## [2.0.0-beta.1] - 2026-09-24
16
+
17
+ ### Changed
18
+
19
+ - Cache entry content by content hash across commits so that only changed entries are retrieved from Git adapters
20
+ after a commit changes
21
+ - Upgrade to @commitspark/git-adapter 2.0.0-beta.1, which requires Git adapters of major version 2
22
+
8
23
  ## [1.0.0] - 2026-02-27
9
24
 
10
25
  ### Changed
package/README.md CHANGED
@@ -22,10 +22,10 @@ There are two common ways to use this library:
22
22
  ```shell
23
23
  npm i @commitspark/graphql-api
24
24
  ```
25
- 2. By making GraphQL calls over HTTP to this library wrapped in a webserver or Lambda function of choice.
25
+ 2. By making GraphQL calls over HTTP to this library wrapped in a webserver or Lambda function.
26
26
 
27
- Please see the [Node.js Express server example](https://github.com/commitspark/example-http-express)
28
- or [Lambda function example](https://github.com/commitspark/example-code-serverless) for details.
27
+ You can find an example Node.js Express web server implementation
28
+ [here](https://github.com/commitspark/example-http-express).
29
29
 
30
30
  ## Installing Git provider support
31
31
 
@@ -39,6 +39,16 @@ in [this repository](https://github.com/commitspark/git-adapter).
39
39
  | [GitLab (SaaS)](https://github.com/commitspark/git-adapter-gitlab) | Provides support for Git repositories hosted on gitlab.com | `npm i @commitspark/git-adapter-gitlab` |
40
40
  | [Filesystem](https://github.com/commitspark/git-adapter-filesystem) | Provides read-only access to files on the filesystem level | `npm i @commitspark/git-adapter-filesystem` |
41
41
 
42
+ ## Installing search support
43
+
44
+ Searching entries (see [Search](#search)) is optional and relies on a separate search adapter. To enable search, use
45
+ the pre-built adapter listed below or build your own using the interfaces
46
+ in [this repository](https://github.com/commitspark/search-adapter).
47
+
48
+ | Adapter | Description | Install with |
49
+ |------------------------------------------------------------------------|--------------------------------------------------------------|------------------------------------------------|
50
+ | [MiniSearch](https://github.com/commitspark/search-adapter-minisearch) | In-memory keyword search with prefix and misspelling support | `npm i @commitspark/search-adapter-minisearch` |
51
+
42
52
  # Building your GraphQL API
43
53
 
44
54
  Commitspark builds a GraphQL data management API with create, read, update, and delete (CRUD) functionality that is
@@ -147,6 +157,11 @@ This function is used to create a Commitspark GraphQL API client instance.
147
157
  Argument `gitAdapter` expects a Commitspark git adapter instance which is then used by the client to access the
148
158
  adapter's Git repository.
149
159
 
160
+ Optional argument `options` supports the following settings:
161
+
162
+ * `searchAdapter`: A Commitspark search adapter instance. If set, query `_search` is added to the GraphQL API (see
163
+ [Search](#search)).
164
+
150
165
  ### Client
151
166
 
152
167
  #### postGraphQL()
@@ -391,6 +406,73 @@ removed:
391
406
  }
392
407
  ```
393
408
 
409
+ ## Search
410
+
411
+ Entries can be searched by text using query `_search` once a search adapter is passed to `createClient()`. How a
412
+ search is performed (e.g. keyword search, semantic search or a combination of both) depends on the search adapter
413
+ (see [Installing search support](#installing-search-support)).
414
+
415
+ ### Marking fields as searchable
416
+
417
+ Only fields explicitly marked with directive `@Searchable` are searchable. The directive must be declared in the
418
+ schema and can be used on types and fields:
419
+
420
+ ```graphql
421
+ directive @Entry on OBJECT
422
+ directive @Searchable on OBJECT | FIELD_DEFINITION
423
+
424
+ type Article @Entry {
425
+ id: ID!
426
+ title: String @Searchable
427
+ url: String
428
+ seo: Seo
429
+ sections: [Section!]
430
+ }
431
+
432
+ type Seo {
433
+ description: String @Searchable
434
+ }
435
+
436
+ type Section @Searchable {
437
+ heading: String
438
+ body: String
439
+ }
440
+ ```
441
+
442
+ The following rules apply:
443
+
444
+ * On a type, the directive makes all fields of type `String` (or a list of `String`) of that type searchable.
445
+ * On a field, the directive makes the field searchable. The field must be of type `String` or a list of `String`,
446
+ otherwise the schema is rejected as invalid.
447
+ * The directive of a type does not extend to fields of other types used in it. Such types must be marked themselves.
448
+ * References to other entries are never followed. Each entry is only searchable by its own data.
449
+
450
+ ### Querying
451
+
452
+ ```graphql
453
+ query {
454
+ hits: _search(query: "launch window", types: ["Article"], first: 10) {
455
+ entryId
456
+ entryType
457
+ fieldPath
458
+ score
459
+ snippet
460
+ }
461
+ }
462
+ ```
463
+
464
+ Argument `types` optionally restricts hits to entries of the given entry types. Argument `first` limits the number of
465
+ hits (default 10, maximum 100). Each hit identifies the entry by `entryId` and `entryType` and the matching field value
466
+ by `fieldPath` (e.g. `title`, `seo.description`, `tags[1]` or `sections[2].body`). Hits are ordered by descending
467
+ `score`, which is only meaningful for ordering hits of the same search.
468
+
469
+ For values within a union, the field path contains the name of the concrete union member type after the union field,
470
+ e.g. `blocks[2].TextBlock.body`. The field path therefore matches the structure of the entry data as stored in the
471
+ repository and as expected by mutations (see [Unions](#unions)).
472
+
473
+ Hits are based on the commit returned as `ref` of the search response. Where the Git adapter supports commit hashes
474
+ as `ref` argument, entries of hits can therefore be retrieved from exactly the searched commit.
475
+
394
476
  # Error handling
395
477
 
396
478
  Instead of throwing errors, this library catches known error cases and returns error information for GraphQL calls via
@@ -418,7 +500,8 @@ Example GraphQL response with error:
418
500
  ```
419
501
 
420
502
  The following error codes are returned together with error codes of Git adapters as
421
- documented [here](https://github.com/commitspark/git-adapter):
503
+ documented [here](https://github.com/commitspark/git-adapter) and error codes of search adapters as
504
+ documented [here](https://github.com/commitspark/search-adapter):
422
505
 
423
506
  | Error code | Description |
424
507
  |------------------------|--------------------------------------------------------------------|
@@ -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;
@@ -4,11 +4,12 @@ exports.getSchema = exports.postGraphQL = void 0;
4
4
  const apollo_config_factory_ts_1 = require("./graphql/apollo-config-factory.js");
5
5
  const schema_generator_ts_1 = require("./graphql/schema-generator.js");
6
6
  const server_1 = require("@apollo/server");
7
- const postGraphQL = async (gitAdapter, repositoryCache, ref, request) => {
7
+ const postGraphQL = async (gitAdapter, searchAdapter, repositoryCache, ref, request) => {
8
8
  let currentHash = await gitAdapter.getLatestCommitHash(ref);
9
9
  const context = {
10
10
  branch: ref,
11
11
  gitAdapter: gitAdapter,
12
+ searchAdapter: searchAdapter,
12
13
  getCurrentHash() {
13
14
  return currentHash;
14
15
  },
@@ -34,11 +35,12 @@ const postGraphQL = async (gitAdapter, repositoryCache, ref, request) => {
34
35
  };
35
36
  };
36
37
  exports.postGraphQL = postGraphQL;
37
- const getSchema = async (gitAdapter, repositoryCache, ref) => {
38
+ const getSchema = async (gitAdapter, searchAdapter, repositoryCache, ref) => {
38
39
  let currentHash = await gitAdapter.getLatestCommitHash(ref);
39
40
  const context = {
40
41
  branch: ref,
41
42
  gitAdapter: gitAdapter,
43
+ searchAdapter: searchAdapter,
42
44
  getCurrentHash() {
43
45
  return currentHash;
44
46
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,uEAA8D;AAO9D,2CAIuB;AAYhB,MAAM,WAAW,GAAG,KAAK,EAI9B,UAAsB,EACtB,eAAuC,EACvC,GAAW,EACX,OAAyD,EACjB,EAAE;IAC1C,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,cAAc;YACZ,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,cAAc,CAAC,MAAc;YAC3B,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,eAAe,EAAE,eAAe;KACjC,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,IAAA,6CAAkB,EAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAgB;QACnD,GAAG,kBAAkB;KACtB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;QACE,YAAY,EAAE,OAAO;KACtB,CACF,CAAA;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;QAC7B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC,CAAA;AA/CY,QAAA,WAAW,eA+CvB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,UAAsB,EACtB,eAAuC,EACvC,GAAW,EACc,EAAE;IAC3B,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,cAAc;YACZ,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,cAAc,CAAC,MAAc;YAC3B,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,eAAe,EAAE,eAAe;KACjC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAA,oCAAc,EAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,SAAS,aA2BrB"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,uEAA8D;AAQ9D,2CAIuB;AAYhB,MAAM,WAAW,GAAG,KAAK,EAI9B,UAAsB,EACtB,aAAwC,EACxC,eAAuC,EACvC,GAAW,EACX,OAAyD,EACjB,EAAE;IAC1C,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,aAAa;QAC5B,cAAc;YACZ,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,cAAc,CAAC,MAAc;YAC3B,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,eAAe,EAAE,eAAe;KACjC,CAAA;IAED,MAAM,kBAAkB,GACtB,MAAM,IAAA,6CAAkB,EAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAgB;QACnD,GAAG,kBAAkB;KACtB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAChD,OAAO,EACP;QACE,YAAY,EAAE,OAAO;KACtB,CACF,CAAA;IAED,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;QAC7B,IAAI,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,MAAM,EACJ,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YACjC,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC,CAAA;AAjDY,QAAA,WAAW,eAiDvB;AAEM,MAAM,SAAS,GAAG,KAAK,EAC5B,UAAsB,EACtB,aAAwC,EACxC,eAAuC,EACvC,GAAW,EACc,EAAE;IAC3B,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,aAAa;QAC5B,cAAc;YACZ,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,cAAc,CAAC,MAAc;YAC3B,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,eAAe,EAAE,eAAe;KACjC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAA,oCAAc,EAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,SAAS,aA6BrB"}
@@ -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,4 +17,4 @@ 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;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAqB/B,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAAkC,EAClC,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAsB/B,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
@@ -5,6 +5,7 @@ exports.generateObjectInputTypeStrings = generateObjectInputTypeStrings;
5
5
  exports.generateUnionInputTypeStrings = generateUnionInputTypeStrings;
6
6
  const graphql_1 = require("graphql");
7
7
  const entry_type_util_ts_1 = require("./schema-utils/entry-type-util.js");
8
+ const directive_util_ts_1 = require("./schema-utils/directive-util.js");
8
9
  function generateFieldInputTypeString(type) {
9
10
  if ((0, graphql_1.isListType)(type)) {
10
11
  return `[${generateFieldInputTypeString(type.ofType)}]`;
@@ -13,7 +14,7 @@ function generateFieldInputTypeString(type) {
13
14
  return `${generateFieldInputTypeString(type.ofType)}!`;
14
15
  }
15
16
  else if ((0, graphql_1.isObjectType)(type)) {
16
- if ((0, entry_type_util_ts_1.hasEntryDirective)(type)) {
17
+ if ((0, directive_util_ts_1.hasDirective)(type, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)) {
17
18
  return `${type.name}IdInput`;
18
19
  }
19
20
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"input-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateQueriesAndMutations = generateQueriesAndMutations;
4
4
  exports.generateTypeNameQuery = generateTypeNameQuery;
5
+ exports.generateSearchQuery = generateSearchQuery;
5
6
  const query_every_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/query-every-resolver.js");
6
7
  const query_by_id_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/query-by-id-resolver.js");
7
8
  const mutation_create_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/mutation-create-resolver.js");
8
9
  const mutation_update_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/mutation-update-resolver.js");
9
10
  const mutation_delete_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/mutation-delete-resolver.js");
10
11
  const query_type_by_id_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/query-type-by-id-resolver.js");
12
+ const query_search_resolver_ts_1 = require("./resolvers/query-mutation-resolvers/query-search-resolver.js");
11
13
  function generateQueriesAndMutations(entryDirectiveTypes) {
12
14
  return entryDirectiveTypes.map((objectType) => {
13
15
  const typeName = objectType.name;
@@ -67,4 +69,21 @@ function generateTypeNameQuery() {
67
69
  resolver: query_type_by_id_resolver_ts_1.queryTypeByIdResolver,
68
70
  };
69
71
  }
72
+ function generateSearchQuery() {
73
+ const searchQueryName = '_search';
74
+ const searchHitTypeName = '_SearchHit';
75
+ return {
76
+ name: searchQueryName,
77
+ schemaString: `${searchQueryName}(query: String!, types: [String!], first: Int): [${searchHitTypeName}!]!`,
78
+ typeDefinitionString: `type ${searchHitTypeName} {
79
+ entryId: ID!
80
+ entryType: String!
81
+ fieldPath: String!
82
+ score: Float!
83
+ snippet: String!
84
+ }
85
+ `,
86
+ resolver: query_search_resolver_ts_1.querySearchResolver,
87
+ };
88
+ }
70
89
  //# sourceMappingURL=queries-mutations-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries-mutations-generator.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries-mutations-generator.js","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveFieldDefaultValue = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const entry_type_util_ts_1 = require("../../schema-utils/entry-type-util.js");
6
+ const directive_util_ts_1 = require("../../schema-utils/directive-util.js");
6
7
  const entry_reference_resolver_ts_1 = require("./entry-reference-resolver.js");
7
8
  const union_value_resolver_ts_1 = require("./union-value-resolver.js");
8
9
  const errors_ts_1 = require("../../errors.js");
@@ -71,7 +72,7 @@ const resolveFieldDefaultValue = async (fieldValue, args, context, info) => {
71
72
  return new Promise((resolve) => resolve(null));
72
73
  }
73
74
  }
74
- if ((0, entry_type_util_ts_1.hasEntryDirective)(context.currentType)) {
75
+ if ((0, directive_util_ts_1.hasDirective)(context.currentType, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)) {
75
76
  return (0, entry_reference_resolver_ts_1.resolveEntryReference)(fieldValue, args, context, info);
76
77
  }
77
78
  return fieldValue;
@@ -1 +1 @@
1
- {"version":3,"file":"field-default-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-default-value-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/field-resolvers/field-default-value-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { SearchQueryResolver } from '../types.ts';
2
+ export declare const querySearchResolver: SearchQueryResolver;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.querySearchResolver = void 0;
4
+ const graphql_1 = require("graphql");
5
+ const search_adapter_1 = require("@commitspark/search-adapter");
6
+ const errors_ts_1 = require("../../errors.js");
7
+ const directive_util_ts_1 = require("../../schema-utils/directive-util.js");
8
+ const searchable_field_util_ts_1 = require("../../schema-utils/searchable-field-util.js");
9
+ const SEARCH_DEFAULT_LIMIT = 10;
10
+ const SEARCH_MAX_LIMIT = 100;
11
+ const querySearchResolver = async (_source, args, context, info) => {
12
+ const searchAdapter = context.searchAdapter;
13
+ if (searchAdapter === undefined) {
14
+ throw (0, errors_ts_1.createError)('No search adapter configured.', "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
15
+ }
16
+ if (args.query.trim() === '') {
17
+ throw (0, errors_ts_1.createError)('Search query must not be empty.', "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
18
+ argumentName: 'query',
19
+ argumentValue: args.query,
20
+ });
21
+ }
22
+ const limit = args.first ?? SEARCH_DEFAULT_LIMIT;
23
+ if (limit < 1 || limit > SEARCH_MAX_LIMIT) {
24
+ throw (0, errors_ts_1.createError)(`Argument "first" must be between 1 and ${SEARCH_MAX_LIMIT}.`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
25
+ argumentName: 'first',
26
+ argumentValue: limit,
27
+ });
28
+ }
29
+ const entryTypes = args.types ?? undefined;
30
+ if (entryTypes !== undefined) {
31
+ validateEntryTypeNames(info.schema, entryTypes);
32
+ if (entryTypes.length === 0) {
33
+ return [];
34
+ }
35
+ }
36
+ const commitHash = context.getCurrentHash();
37
+ let hits;
38
+ try {
39
+ hits = await searchAdapter.search({
40
+ commitHash: commitHash,
41
+ query: args.query,
42
+ entryTypes: entryTypes,
43
+ limit: limit,
44
+ getSearchableFieldValues: async () => {
45
+ const entriesRecord = await context.repositoryCache.getEntriesRecord(context, commitHash);
46
+ return (0, searchable_field_util_ts_1.extractSearchableFieldValues)(info.schema, entriesRecord.byId.values());
47
+ },
48
+ });
49
+ }
50
+ catch (err) {
51
+ if (err instanceof graphql_1.GraphQLError) {
52
+ throw err;
53
+ }
54
+ if (err instanceof search_adapter_1.SearchAdapterError) {
55
+ throw (0, errors_ts_1.createError)(err.message, err.code, {});
56
+ }
57
+ const message = err instanceof Error ? err.message : String(err);
58
+ throw (0, errors_ts_1.createError)(message, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
59
+ }
60
+ return hits.slice(0, limit);
61
+ };
62
+ exports.querySearchResolver = querySearchResolver;
63
+ function validateEntryTypeNames(schema, typeNames) {
64
+ for (const typeName of typeNames) {
65
+ const type = schema.getType(typeName);
66
+ if (!(0, graphql_1.isObjectType)(type) || !(0, directive_util_ts_1.hasDirective)(type, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)) {
67
+ throw (0, errors_ts_1.createError)(`Type "${typeName}" is not an entry type.`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
68
+ argumentName: 'types',
69
+ argumentValue: typeName,
70
+ });
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=query-search-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-search-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/query-search-resolver.ts"],"names":[],"mappings":"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"}
@@ -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,5 +16,10 @@ 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 {};
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.analyzeSchema = analyzeSchema;
4
4
  const graphql_1 = require("graphql");
5
5
  const utils_1 = require("@graphql-tools/utils");
6
+ const directive_util_ts_1 = require("./schema-utils/directive-util.js");
6
7
  function analyzeSchema(schema) {
7
8
  const result = {
8
9
  entryDirectiveTypes: [],
@@ -18,7 +19,7 @@ function analyzeSchema(schema) {
18
19
  if ((0, graphql_1.isObjectType)(type)) {
19
20
  const objectType = type;
20
21
  result.objectTypes.push(objectType);
21
- const entityDirective = (0, utils_1.getDirective)(schema, objectType, 'Entry')?.[0];
22
+ const entityDirective = (0, utils_1.getDirective)(schema, objectType, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)?.[0];
22
23
  if (entityDirective) {
23
24
  result.entryDirectiveTypes.push(objectType);
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-analyzer.js","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.ts"],"names":[],"mappings":";;AAWA,sCAoCC;AA/CD,qCAQgB;AAChB,gDAAmD;AAEnD,SAAgB,aAAa,CAAC,MAAqB;IACjD,MAAM,MAAM,GAAyB;QACnC,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;KACf,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QAED,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,IAAyB,CAAA;YAC5C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,IAAA,yBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,IAA4B,CAAA;YAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAwB,CAAA;YAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"schema-analyzer.js","sourceRoot":"","sources":["../../../src/graphql/schema-analyzer.ts"],"names":[],"mappings":";;AAYA,sCAwCC;AApDD,qCAQgB;AAChB,gDAAmD;AACnD,wEAAuE;AAEvE,SAAgB,aAAa,CAAC,MAAqB;IACjD,MAAM,MAAM,GAAyB;QACnC,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;KACf,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QAED,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,IAAyB,CAAA;YAC5C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,MAAM,eAAe,GAAG,IAAA,oBAAY,EAClC,MAAM,EACN,UAAU,EACV,wCAAoB,CACrB,EAAE,CAAC,CAAC,CAAC,CAAA;YACN,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,IAAA,yBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,IAA4B,CAAA;YAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,IAAwB,CAAA;YAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -28,9 +28,10 @@ async function generateSchema(context) {
28
28
  const generatedIdInputTypeStrings = (0, input_type_generator_ts_1.generateIdInputTypeStrings)(schemaAnalyzerResult);
29
29
  const generatedQueriesMutations = (0, queries_mutations_generator_ts_1.generateQueriesAndMutations)(schemaAnalyzerResult.entryDirectiveTypes);
30
30
  const generatedTypeNameQuery = (0, queries_mutations_generator_ts_1.generateTypeNameQuery)();
31
+ const generatedSearchQuery = context.searchAdapter !== undefined ? (0, queries_mutations_generator_ts_1.generateSearchQuery)() : undefined;
31
32
  const generatedObjectInputTypeStrings = (0, input_type_generator_ts_1.generateObjectInputTypeStrings)(schemaAnalyzerResult.objectTypes);
32
33
  const generatedUnionInputTypeStrings = (0, input_type_generator_ts_1.generateUnionInputTypeStrings)(schemaAnalyzerResult.unionTypes);
33
- const generatedSchemaRootTypeStrings = (0, schema_root_type_generator_ts_1.generateSchemaRootTypeStrings)(generatedQueriesMutations, generatedTypeNameQuery);
34
+ const generatedSchemaRootTypeStrings = (0, schema_root_type_generator_ts_1.generateSchemaRootTypeStrings)(generatedQueriesMutations, generatedTypeNameQuery, generatedSearchQuery);
34
35
  const generatedSchemaString = `schema {
35
36
  query: Query
36
37
  mutation: Mutation
@@ -59,6 +60,10 @@ ${generatedSchemaRootTypeStrings}`;
59
60
  }
60
61
  generatedQueryResolvers[generatedTypeNameQuery.name] =
61
62
  generatedTypeNameQuery.resolver;
63
+ if (generatedSearchQuery !== undefined) {
64
+ generatedQueryResolvers[generatedSearchQuery.name] =
65
+ generatedSearchQuery.resolver;
66
+ }
62
67
  const allGeneratedResolvers = {
63
68
  Query: generatedQueryResolvers,
64
69
  Mutation: generatedMutationResolvers,
@@ -81,6 +86,7 @@ ${generatedSchemaRootTypeStrings}`;
81
86
  generatedIdInputTypeStrings.join('\n'),
82
87
  generatedObjectInputTypeStrings.join('\n'),
83
88
  generatedUnionInputTypeStrings.join('\n'),
89
+ generatedSearchQuery?.typeDefinitionString ?? '',
84
90
  ].filter((typeDef) => typeDef.length > 0);
85
91
  return {
86
92
  typeDefs: typeDefs,
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
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;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateSchemaRootTypeStrings = generateSchemaRootTypeStrings;
4
- function generateSchemaRootTypeStrings(generatedSchemas, typeQuery) {
4
+ function generateSchemaRootTypeStrings(generatedSchemas, typeQuery, searchQuery) {
5
5
  return (`type Query {\n` +
6
6
  generatedSchemas
7
7
  .map((generated) => ' ' + generated.queryEvery.schemaString)
@@ -13,6 +13,7 @@ function generateSchemaRootTypeStrings(generatedSchemas, typeQuery) {
13
13
  '\n' +
14
14
  ` ${typeQuery.schemaString}` +
15
15
  '\n' +
16
+ (searchQuery !== undefined ? ` ${searchQuery.schemaString}\n` : '') +
16
17
  '}\n\n' +
17
18
  'type Mutation {\n' +
18
19
  generatedSchemas
@@ -1 +1 @@
1
- {"version":3,"file":"schema-root-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/schema-root-type-generator.ts"],"names":[],"mappings":";;AAKA,sEAgCC;AAhCD,SAAgB,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,sEAkCC;AAlCD,SAAgB,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,4 @@
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;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEARCHABLE_DIRECTIVE_NAME = exports.ENTRY_DIRECTIVE_NAME = void 0;
4
+ exports.hasDirective = hasDirective;
5
+ exports.ENTRY_DIRECTIVE_NAME = 'Entry';
6
+ exports.SEARCHABLE_DIRECTIVE_NAME = 'Searchable';
7
+ function hasDirective(typeOrField, directiveName) {
8
+ return (typeOrField.astNode?.directives?.some((directive) => directive.name.value === directiveName) ?? false);
9
+ }
10
+ //# 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":";;;AAKA,oCASC;AAZY,QAAA,oBAAoB,GAAG,OAAO,CAAA;AAC9B,QAAA,yBAAyB,GAAG,YAAY,CAAA;AAErD,SAAgB,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"}