@commitspark/graphql-api 2.0.0-beta.4 → 2.0.0-beta.5

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 (154) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +147 -80
  3. package/dist/cjs/graphql/errors.d.ts +3 -2
  4. package/dist/cjs/graphql/errors.d.ts.map +1 -1
  5. package/dist/cjs/graphql/errors.js +11 -1
  6. package/dist/cjs/graphql/errors.js.map +1 -1
  7. package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -1
  8. package/dist/cjs/graphql/input-type-generator.js +5 -10
  9. package/dist/cjs/graphql/input-type-generator.js.map +1 -1
  10. package/dist/cjs/graphql/queries-mutations-generator.d.ts +5 -5
  11. package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -1
  12. package/dist/cjs/graphql/queries-mutations-generator.js +45 -7
  13. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
  14. package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
  15. package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
  16. package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
  17. package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
  18. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
  19. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  20. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
  21. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  22. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  23. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  24. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
  25. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  26. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
  27. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  28. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
  29. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +34 -28
  30. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  31. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
  32. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -23
  33. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  34. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
  35. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +25 -18
  36. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  37. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
  38. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  39. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
  40. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  41. package/dist/cjs/graphql/resolvers/types.d.ts +9 -1
  42. package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -1
  43. package/dist/cjs/graphql/schema-generator.d.ts.map +1 -1
  44. package/dist/cjs/graphql/schema-generator.js +9 -8
  45. package/dist/cjs/graphql/schema-generator.js.map +1 -1
  46. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +7 -7
  47. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  48. package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
  49. package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
  50. package/dist/cjs/graphql/schema-validator.d.ts.map +1 -1
  51. package/dist/cjs/graphql/schema-validator.js +16 -0
  52. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  53. package/dist/cjs/index.js +3 -0
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/cjs/persistence/cache.d.ts +3 -0
  56. package/dist/cjs/persistence/cache.d.ts.map +1 -1
  57. package/dist/cjs/persistence/cache.js +8 -17
  58. package/dist/cjs/persistence/cache.js.map +1 -1
  59. package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
  60. package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
  61. package/dist/cjs/persistence/commit-with-retry.js +39 -0
  62. package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
  63. package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
  64. package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
  65. package/dist/cjs/persistence/git-adapter-call.js +29 -0
  66. package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
  67. package/dist/cjs/persistence/persistence.d.ts +11 -0
  68. package/dist/cjs/persistence/persistence.d.ts.map +1 -1
  69. package/dist/cjs/persistence/persistence.js +37 -2
  70. package/dist/cjs/persistence/persistence.js.map +1 -1
  71. package/dist/esm/graphql/errors.d.ts +3 -2
  72. package/dist/esm/graphql/errors.d.ts.map +1 -1
  73. package/dist/esm/graphql/errors.js +10 -0
  74. package/dist/esm/graphql/errors.js.map +1 -1
  75. package/dist/esm/graphql/input-type-generator.d.ts.map +1 -1
  76. package/dist/esm/graphql/input-type-generator.js +6 -11
  77. package/dist/esm/graphql/input-type-generator.js.map +1 -1
  78. package/dist/esm/graphql/queries-mutations-generator.d.ts +5 -5
  79. package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -1
  80. package/dist/esm/graphql/queries-mutations-generator.js +43 -6
  81. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
  82. package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
  83. package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
  84. package/dist/esm/graphql/resolvers/commit-message.js +19 -0
  85. package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
  86. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
  87. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  88. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
  89. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  90. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  91. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  92. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
  93. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  94. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
  95. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  96. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
  97. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +35 -29
  98. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  99. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
  100. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +30 -25
  101. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  102. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
  103. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +27 -20
  104. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  105. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
  106. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  107. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
  108. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  109. package/dist/esm/graphql/resolvers/types.d.ts +9 -1
  110. package/dist/esm/graphql/resolvers/types.d.ts.map +1 -1
  111. package/dist/esm/graphql/schema-generator.d.ts.map +1 -1
  112. package/dist/esm/graphql/schema-generator.js +11 -10
  113. package/dist/esm/graphql/schema-generator.js.map +1 -1
  114. package/dist/esm/graphql/schema-utils/entry-reference-util.js +8 -8
  115. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  116. package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
  117. package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
  118. package/dist/esm/graphql/schema-validator.d.ts.map +1 -1
  119. package/dist/esm/graphql/schema-validator.js +17 -1
  120. package/dist/esm/graphql/schema-validator.js.map +1 -1
  121. package/dist/esm/index.js +2 -0
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/persistence/cache.d.ts +3 -0
  124. package/dist/esm/persistence/cache.d.ts.map +1 -1
  125. package/dist/esm/persistence/cache.js +6 -15
  126. package/dist/esm/persistence/cache.js.map +1 -1
  127. package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
  128. package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
  129. package/dist/esm/persistence/commit-with-retry.js +35 -0
  130. package/dist/esm/persistence/commit-with-retry.js.map +1 -0
  131. package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
  132. package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
  133. package/dist/esm/persistence/git-adapter-call.js +24 -0
  134. package/dist/esm/persistence/git-adapter-call.js.map +1 -0
  135. package/dist/esm/persistence/persistence.d.ts +11 -0
  136. package/dist/esm/persistence/persistence.d.ts.map +1 -1
  137. package/dist/esm/persistence/persistence.js +36 -3
  138. package/dist/esm/persistence/persistence.js.map +1 -1
  139. package/package.json +8 -5
  140. package/src/graphql/errors.ts +2 -1
  141. package/src/graphql/input-type-generator.ts +5 -15
  142. package/src/graphql/queries-mutations-generator.ts +51 -10
  143. package/src/graphql/resolvers/commit-message.ts +34 -0
  144. package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
  145. package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +40 -29
  146. package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +44 -30
  147. package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +37 -18
  148. package/src/graphql/resolvers/types.ts +18 -1
  149. package/src/graphql/schema-generator.ts +12 -8
  150. package/src/graphql/schema-validator.ts +21 -0
  151. package/src/persistence/cache.ts +7 -13
  152. package/src/persistence/commit-with-retry.ts +47 -0
  153. package/src/persistence/git-adapter-call.ts +27 -0
  154. package/src/persistence/persistence.ts +50 -0
@@ -1,7 +1,9 @@
1
- import { findByTypeId } from "../../../persistence/persistence.js";
1
+ import { assertExpectedVersion, findByTypeId, } from "../../../persistence/persistence.js";
2
2
  import { validateEntryReferences } from "../../schema-utils/entry-reference-util.js";
3
3
  import { isObjectType } from 'graphql';
4
- import { createError } from "../../errors.js";
4
+ import { createError, ErrorCode } from "../../errors.js";
5
+ import { getCommitMessage } from "../commit-message.js";
6
+ import { commitWithRetry } from "../../../persistence/commit-with-retry.js";
5
7
  function mergeData(existingEntryData, updateData) {
6
8
  return {
7
9
  ...existingEntryData,
@@ -11,26 +13,31 @@ function mergeData(existingEntryData, updateData) {
11
13
  export const mutationUpdateResolver = async (source, args, context, info) => {
12
14
  void info;
13
15
  if (!isObjectType(context.type)) {
14
- throw createError(`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
16
+ throw createError(`Type "${context.type.name}" cannot be mutated as is not an ObjectType.`, ErrorCode.INTERNAL_ERROR, {});
15
17
  }
16
- const existingEntry = await findByTypeId(context, context.type.name, args.id);
17
- const mergedData = mergeData(existingEntry.data ?? null, args.data ?? null);
18
- await validateEntryReferences(context.type, context, mergedData);
19
- const commit = await context.gitAdapter.createCommit({
20
- ref: context.branch,
21
- parentSha: context.getCurrentHash(),
22
- entries: [
23
- {
24
- id: existingEntry.id,
25
- // only the type is written, which removes metadata no longer in use from existing entries
26
- metadata: { type: existingEntry.metadata.type },
27
- data: mergedData,
28
- deletion: false,
29
- },
30
- ],
31
- message: args.commitMessage,
18
+ // narrowed type, as narrowing does not apply within the callback below
19
+ const entryType = context.type;
20
+ const commitMessage = getCommitMessage(args.commit, 'Update', context.type.name, args.id);
21
+ await commitWithRetry(context, async () => {
22
+ const existingEntry = await findByTypeId(context, context.type.name, args.id);
23
+ await assertExpectedVersion(context, args.id, args.expectedVersion);
24
+ const mergedData = mergeData(existingEntry.data ?? null, args.data ?? null);
25
+ await validateEntryReferences(entryType, context, mergedData);
26
+ return {
27
+ ref: context.branch,
28
+ parentSha: context.getCurrentHash(),
29
+ entries: [
30
+ {
31
+ id: existingEntry.id,
32
+ // only the type is written, which removes metadata no longer in use from existing entries
33
+ metadata: { type: existingEntry.metadata.type },
34
+ data: mergedData,
35
+ deletion: false,
36
+ },
37
+ ],
38
+ ...commitMessage,
39
+ };
32
40
  });
33
- context.setCurrentHash(commit.commitHash);
34
41
  const updatedEntry = await findByTypeId(context, context.type.name, args.id);
35
42
  return { ...updatedEntry.data, id: updatedEntry.id };
36
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mutation-update-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAE,WAAW,EAAa,MAAM,iBAAiB,CAAA;AAExD,SAAS,SAAS,CAChB,iBAA4B,EAC5B,UAAqB;IAErB,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG,UAAU;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAqC,KAAK,EAC3E,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,EAAE;IACF,KAAK,IAAI,CAAA;IACT,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,CACf,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,8CAA8C,mDAExE,EAAE,CACH,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAE7E,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAC3E,MAAM,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IAEhE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE;QACnC,OAAO,EAAE;YACP;gBACE,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,0FAA0F;gBAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC/C,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,IAAI,CAAC,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEzC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAA;AACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"mutation-update-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,YAAY,GACb,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAE3E,SAAS,SAAS,CAChB,iBAA4B,EAC5B,UAAqB;IAErB,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG,UAAU;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAqC,KAAK,EAC3E,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,EAAE;IACF,KAAK,IAAI,CAAA;IACT,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,CACf,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,8CAA8C,EACxE,SAAS,CAAC,cAAc,EACxB,EAAE,CACH,CAAA;IACH,CAAC;IACD,uEAAuE;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAA;IAC9B,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;IAED,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,OAAO,EACP,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,CACR,CAAA;QACD,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnE,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC3E,MAAM,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAE7D,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE;YACnC,OAAO,EAAE;gBACP;oBACE,EAAE,EAAE,aAAa,CAAC,EAAE;oBACpB,0FAA0F;oBAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC/C,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,GAAG,aAAa;SACjB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAA;AACtD,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { GraphQLError, isObjectType } from 'graphql';
2
2
  import { SearchAdapterError } from '@commitspark/search-adapter';
3
- import { createError } from "../../errors.js";
3
+ import { createError, ErrorCode } from "../../errors.js";
4
4
  import { ENTRY_DIRECTIVE_NAME, hasDirective, } from "../../schema-utils/directive-util.js";
5
5
  import { extractSearchableFieldValues } from "../../schema-utils/searchable-field-util.js";
6
6
  const SEARCH_DEFAULT_LIMIT = 10;
@@ -8,17 +8,17 @@ const SEARCH_MAX_LIMIT = 100;
8
8
  export const querySearchResolver = async (_source, args, context, info) => {
9
9
  const searchAdapter = context.searchAdapter;
10
10
  if (searchAdapter === undefined) {
11
- throw createError('No search adapter configured.', "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
11
+ throw createError('No search adapter configured.', ErrorCode.INTERNAL_ERROR, {});
12
12
  }
13
13
  if (args.query.trim() === '') {
14
- throw createError('Search query must not be empty.', "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
14
+ throw createError('Search query must not be empty.', ErrorCode.BAD_USER_INPUT, {
15
15
  argumentName: 'query',
16
16
  argumentValue: args.query,
17
17
  });
18
18
  }
19
19
  const limit = args.first ?? SEARCH_DEFAULT_LIMIT;
20
20
  if (limit < 1 || limit > SEARCH_MAX_LIMIT) {
21
- throw createError(`Argument "first" must be between 1 and ${SEARCH_MAX_LIMIT}.`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
21
+ throw createError(`Argument "first" must be between 1 and ${SEARCH_MAX_LIMIT}.`, ErrorCode.BAD_USER_INPUT, {
22
22
  argumentName: 'first',
23
23
  argumentValue: limit,
24
24
  });
@@ -52,7 +52,7 @@ export const querySearchResolver = async (_source, args, context, info) => {
52
52
  throw createError(err.message, err.code, {});
53
53
  }
54
54
  const message = err instanceof Error ? err.message : String(err);
55
- throw createError(message, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
55
+ throw createError(message, ErrorCode.INTERNAL_ERROR, {});
56
56
  }
57
57
  return hits.slice(0, limit);
58
58
  };
@@ -60,7 +60,7 @@ function validateEntryTypeNames(schema, typeNames) {
60
60
  for (const typeName of typeNames) {
61
61
  const type = schema.getType(typeName);
62
62
  if (!isObjectType(type) || !hasDirective(type, ENTRY_DIRECTIVE_NAME)) {
63
- throw createError(`Type "${typeName}" is not an entry type.`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
63
+ throw createError(`Type "${typeName}" is not an entry type.`, ErrorCode.BAD_USER_INPUT, {
64
64
  argumentName: 'types',
65
65
  argumentValue: typeName,
66
66
  });
@@ -1 +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
+ {"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,10 +1,10 @@
1
1
  import { getTypeById } from "../../../persistence/persistence.js";
2
2
  import { buildsOnTypeWithEntryDirective } from "../../schema-utils/entry-type-util.js";
3
- import { createError } from "../../errors.js";
3
+ import { createError, ErrorCode } from "../../errors.js";
4
4
  export const unionTypeResolver = async (source, context, info, abstractType) => {
5
5
  if (buildsOnTypeWithEntryDirective(abstractType)) {
6
6
  if (!('id' in source) || typeof source.id !== 'string') {
7
- throw createError(`Expected key "id" of type string in data while resolving reference-based union type for field "${info.fieldName}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
7
+ throw createError(`Expected key "id" of type string in data while resolving reference-based union type for field "${info.fieldName}".`, ErrorCode.BAD_REPOSITORY_DATA, {
8
8
  typeName: abstractType.name,
9
9
  fieldName: info.fieldName,
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"union-type-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEtF,OAAO,EAAE,WAAW,EAAa,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,KAAK,EACvD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,EAAE;IACF,IAAI,8BAA8B,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,WAAW,CACf,kGAAkG,IAAI,CAAC,SAAS,IAAI,6DAEpH;gBACE,QAAQ,EAAE,YAAY,CAAC,IAAI;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CACF,CAAA;QACH,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,wGAAwG;QACxG,wFAAwF;QACxF,OAAO,MAAM,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,iIAAiI;AACnI,CAAC,CAAA"}
1
+ {"version":3,"file":"union-type-resolver.js","sourceRoot":"","sources":["../../../../../src/graphql/resolvers/query-mutation-resolvers/union-type-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEtF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,KAAK,EACvD,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,EAAE;IACF,IAAI,8BAA8B,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,WAAW,CACf,kGAAkG,IAAI,CAAC,SAAS,IAAI,EACpH,SAAS,CAAC,mBAAmB,EAC7B;gBACE,QAAQ,EAAE,YAAY,CAAC,IAAI;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CACF,CAAA;QACH,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,wGAAwG;QACxG,wFAAwF;QACxF,OAAO,MAAM,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,iIAAiI;AACnI,CAAC,CAAA"}
@@ -3,13 +3,18 @@ import { GraphQLFieldResolver, GraphQLNamedType, GraphQLTypeResolver } from 'gra
3
3
  import { EntryData } from '@commitspark/git-adapter';
4
4
  import { SearchHit } from '@commitspark/search-adapter';
5
5
  import { RecursiveArray } from './field-resolvers/types.ts';
6
+ export interface CommitInput {
7
+ message?: string | null;
8
+ body?: string | null;
9
+ }
6
10
  interface QueryMutationResolverContext extends ApolloContext {
7
11
  type: GraphQLNamedType;
8
12
  }
9
13
  export type QueryMutationResolver<ResultType> = GraphQLFieldResolver<unknown, QueryMutationResolverContext, {
10
14
  id: string;
11
15
  data?: EntryData;
12
- commitMessage: string;
16
+ commit?: CommitInput | null;
17
+ expectedVersion?: string | null;
13
18
  }, Promise<ResultType>>;
14
19
  export type UnionTypeResolver = GraphQLTypeResolver<UnionTypeResolverSourceData, ApolloContext>;
15
20
  type UnionTypeResolverSourceData = EntryData & {
@@ -25,5 +30,8 @@ export type ContextInjectionResolver = GraphQLFieldResolver<EntryData, ApolloCon
25
30
  export type ReferencedByResolver = GraphQLFieldResolver<EntryData & {
26
31
  id: string;
27
32
  }, ApolloContext, Record<string, never>, Promise<string[]>>;
33
+ export type VersionResolver = GraphQLFieldResolver<EntryData & {
34
+ id: string;
35
+ }, ApolloContext, Record<string, never>, Promise<string>>;
28
36
  export {};
29
37
  //# 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,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,UAAU,4BAA6B,SAAQ,aAAa;IAC1D,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;AAED,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CACrD,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1B,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAClB,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,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,UAAU,4BAA6B,SAAQ,aAAa;IAC1D,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,MAAM,qBAAqB,CAAC,UAAU,IAAI,oBAAoB,CAClE,OAAO,EACP,4BAA4B,EAC5B;IACE,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,EACD,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;AAED,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CACrD,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1B,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAChD,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1B,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,OAAO,CAAC,MAAM,CAAC,CAChB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAe5C,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,CAkJtC"}
1
+ {"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-generator.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,2BAA2B,EAE5B,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAgB5C,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,2BAA2B,CAAC,CAoJtC"}
@@ -1,4 +1,4 @@
1
- import { generateQueriesAndMutations, generateReferencedByFields, generateSearchQuery, generateTypeNameQuery, } from "./queries-mutations-generator.js";
1
+ import { generateCommitInputType, generateQueriesAndMutations, generateEntryFields, generateSearchQuery, generateTypeNameQuery, } from "./queries-mutations-generator.js";
2
2
  import { makeExecutableSchema, } from '@graphql-tools/schema';
3
3
  import { analyzeSchema } from "./schema-analyzer.js";
4
4
  import { generateIdInputTypeStrings, generateObjectInputTypeStrings, generateUnionInputTypeStrings, } from "./input-type-generator.js";
@@ -7,7 +7,7 @@ import { printSchemaWithDirectives } from '@graphql-tools/utils';
7
7
  import { unionTypeResolver } from "./resolvers/query-mutation-resolvers/union-type-resolver.js";
8
8
  import { getValidationResult } from "./schema-validator.js";
9
9
  import { createObjectTypeFieldResolvers } from "./resolvers/object-type-field-default-value-resolver-generator.js";
10
- import { createError } from "./errors.js";
10
+ import { createError, ErrorCode } from "./errors.js";
11
11
  export async function generateSchema(context) {
12
12
  const originalSchemaString = await context.repositoryCache.getSchema(context, context.getCurrentHash());
13
13
  const schema = makeExecutableSchema({
@@ -15,7 +15,7 @@ export async function generateSchema(context) {
15
15
  });
16
16
  const validationResult = getValidationResult(schema);
17
17
  if (validationResult.length > 0) {
18
- throw createError(`Invalid schema.`, "BAD_SCHEMA" /* ErrorCode.BAD_SCHEMA */, {
18
+ throw createError(`Invalid schema.`, ErrorCode.BAD_SCHEMA, {
19
19
  schema: printSchemaWithDirectives(schema),
20
20
  argumentValue: validationResult.join('\n'),
21
21
  });
@@ -26,7 +26,7 @@ export async function generateSchema(context) {
26
26
  const generatedQueriesMutations = generateQueriesAndMutations(schemaAnalyzerResult.entryDirectiveTypes);
27
27
  const generatedTypeNameQuery = generateTypeNameQuery();
28
28
  const generatedSearchQuery = context.searchAdapter !== undefined ? generateSearchQuery() : undefined;
29
- const generatedReferencedByFields = generateReferencedByFields(schemaAnalyzerResult.entryDirectiveTypes);
29
+ const generatedEntryFields = generateEntryFields(schemaAnalyzerResult.entryDirectiveTypes);
30
30
  const generatedObjectInputTypeStrings = generateObjectInputTypeStrings(schemaAnalyzerResult.objectTypes);
31
31
  const generatedUnionInputTypeStrings = generateUnionInputTypeStrings(schemaAnalyzerResult.unionTypes);
32
32
  const generatedSchemaRootTypeStrings = generateSchemaRootTypeStrings(generatedQueriesMutations, generatedTypeNameQuery, generatedSearchQuery);
@@ -78,20 +78,21 @@ ${generatedSchemaRootTypeStrings}`;
78
78
  ...generatedObjectTypeFieldResolvers[typeName],
79
79
  };
80
80
  }
81
- for (const field of generatedReferencedByFields) {
82
- allGeneratedResolvers[field.typeName] = {
83
- ...(allGeneratedResolvers[field.typeName] ?? {}),
84
- [field.name]: field.resolver,
81
+ for (const entryFields of generatedEntryFields) {
82
+ allGeneratedResolvers[entryFields.typeName] = {
83
+ ...(allGeneratedResolvers[entryFields.typeName] ?? {}),
84
+ ...entryFields.resolvers,
85
85
  };
86
86
  }
87
87
  const typeDefs = [
88
88
  filteredOriginalSchemaString,
89
89
  generatedSchemaString,
90
+ generateCommitInputType(),
90
91
  generatedIdInputTypeStrings.join('\n'),
91
92
  generatedObjectInputTypeStrings.join('\n'),
92
93
  generatedUnionInputTypeStrings.join('\n'),
93
- generatedReferencedByFields
94
- .map((field) => field.typeExtensionString)
94
+ generatedEntryFields
95
+ .map((entryFields) => entryFields.typeExtensionString)
95
96
  .join('\n'),
96
97
  generatedSearchQuery?.typeDefinitionString ?? '',
97
98
  ].filter((typeDef) => typeDef.length > 0);
@@ -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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"}
@@ -3,7 +3,7 @@ import { getTypeById } from "../../persistence/persistence.js";
3
3
  import { getUnionTypeNameFromFieldValue, getUnionValue, } from "./union-type-util.js";
4
4
  import { ENTRY_DIRECTIVE_NAME, hasDirective } from "./directive-util.js";
5
5
  import { isUnionOfEntryTypes } from "./entry-type-util.js";
6
- import { createError } from "../errors.js";
6
+ import { createError, ErrorCode } from "../errors.js";
7
7
  import { isEntryData } from "../util.js";
8
8
  // commits are immutable, so an index built from the cached entries of a commit stays valid for as long as these
9
9
  // entries remain cached
@@ -15,13 +15,13 @@ export async function validateEntryReferences(entryType, context, data) {
15
15
  referencedTypeName = await getTypeById(context, reference.id);
16
16
  }
17
17
  catch {
18
- throw createError(`Failed to resolve entry reference "${reference.id}".`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
18
+ throw createError(`Failed to resolve entry reference "${reference.id}".`, ErrorCode.BAD_USER_INPUT, {
19
19
  fieldName: reference.fieldName,
20
20
  fieldValue: reference.id,
21
21
  });
22
22
  }
23
23
  if (!isPermittedReferenceType(referencedTypeName, reference.fieldType)) {
24
- throw createError(`Reference with ID "${reference.id}" points to entry of incompatible type "${referencedTypeName}".`, "BAD_USER_INPUT" /* ErrorCode.BAD_USER_INPUT */, {
24
+ throw createError(`Reference with ID "${reference.id}" points to entry of incompatible type "${referencedTypeName}".`, ErrorCode.BAD_USER_INPUT, {
25
25
  fieldName: reference.fieldName,
26
26
  fieldValue: reference.id,
27
27
  });
@@ -44,7 +44,7 @@ function buildReferencedByIndex(schema, entriesRecord) {
44
44
  if (!isObjectType(entryType) ||
45
45
  !hasDirective(entryType, ENTRY_DIRECTIVE_NAME)) {
46
46
  throw createError(`Entry "${entry.id}" is of type "${entry.metadata.type}", which is not a type with directive ` +
47
- `@${ENTRY_DIRECTIVE_NAME} in the schema.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
47
+ `@${ENTRY_DIRECTIVE_NAME} in the schema.`, ErrorCode.BAD_REPOSITORY_DATA, {
48
48
  typeName: entry.metadata.type,
49
49
  fieldValue: entry.id,
50
50
  });
@@ -72,7 +72,7 @@ function getReferencesInObjectFields(type, data) {
72
72
  }
73
73
  // expect our object type to hold EntryData (i.e. an object)
74
74
  if (!isEntryData(data) || data === null) {
75
- throw createError(`Expected object as data for type "${type.name}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
75
+ throw createError(`Expected object as data for type "${type.name}".`, ErrorCode.BAD_REPOSITORY_DATA, {
76
76
  typeName: type.name,
77
77
  fieldValue: data,
78
78
  });
@@ -88,7 +88,7 @@ function getReferencesInField(fieldName, type, data) {
88
88
  }
89
89
  if (isListType(type)) {
90
90
  if (!Array.isArray(data)) {
91
- throw createError(`Expected array as data for field "${fieldName}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
91
+ throw createError(`Expected array as data for field "${fieldName}".`, ErrorCode.BAD_REPOSITORY_DATA, {
92
92
  fieldName: fieldName,
93
93
  fieldValue: data,
94
94
  });
@@ -105,7 +105,7 @@ function getReferencesInField(fieldName, type, data) {
105
105
  .find((concreteFieldType) => concreteFieldType.name === requestedUnionTypeName);
106
106
  if (!concreteFieldUnionType) {
107
107
  throw createError(`Type "${requestedUnionTypeName}" found in field data is not a valid type for ` +
108
- `union type "${type.name}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
108
+ `union type "${type.name}".`, ErrorCode.BAD_REPOSITORY_DATA, {
109
109
  typeName: type.name,
110
110
  fieldName: fieldName,
111
111
  fieldValue: data,
@@ -126,7 +126,7 @@ function createEntryReference(fieldName, fieldType, data) {
126
126
  data === null ||
127
127
  !('id' in data) ||
128
128
  typeof data.id !== 'string') {
129
- throw createError(`Expected key "id" with value of type string in data of field "${fieldName}" of type "${fieldType.name}".`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
129
+ throw createError(`Expected key "id" with value of type string in data of field "${fieldName}" of type "${fieldType.name}".`, ErrorCode.BAD_REPOSITORY_DATA, {
130
130
  typeName: fieldType.name,
131
131
  fieldName: fieldName,
132
132
  fieldValue: data,
@@ -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,7 +1,7 @@
1
- import { createError } from "../errors.js";
1
+ import { createError, ErrorCode } from "../errors.js";
2
2
  export function getUnionTypeNameFromFieldValue(fieldValue) {
3
3
  if (typeof fieldValue !== 'object' || fieldValue === null) {
4
- throw createError(`Expected object value in order to determine union type name.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
4
+ throw createError(`Expected object value in order to determine union type name.`, ErrorCode.BAD_REPOSITORY_DATA, {
5
5
  fieldValue: fieldValue,
6
6
  });
7
7
  }
@@ -11,7 +11,7 @@ export function getUnionTypeNameFromFieldValue(fieldValue) {
11
11
  }
12
12
  export function getUnionValue(fieldValue) {
13
13
  if (typeof fieldValue !== 'object' || fieldValue === null) {
14
- throw createError(`Expected object value in order to determine union value.`, "BAD_REPOSITORY_DATA" /* ErrorCode.BAD_REPOSITORY_DATA */, {
14
+ throw createError(`Expected object value in order to determine union value.`, ErrorCode.BAD_REPOSITORY_DATA, {
15
15
  fieldValue: fieldValue,
16
16
  });
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAa,MAAM,cAAc,CAAA;AAErD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,8DAA8D,6DAE9D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,0DAA0D,6DAE1D;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,8DAA8D,EAC9D,SAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,CACf,0DAA0D,EAC1D,SAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAMd,MAAM,SAAS,CAAA;AAyEhB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAMnE"}
@@ -1,4 +1,4 @@
1
- import { getNamedType, isObjectType, isScalarType, Kind, } from 'graphql';
1
+ import { getNamedType, isNonNullType, isObjectType, isScalarType, Kind, } from 'graphql';
2
2
  import { ENTRY_DIRECTIVE_NAME, hasDirective, SEARCHABLE_DIRECTIVE_NAME, } from "./schema-utils/directive-util.js";
3
3
  function checkUnionMembersConsistentUseOfEntryDirective(schema) {
4
4
  const typeMap = schema.getTypeMap();
@@ -32,8 +32,24 @@ function checkSearchableDirectiveOnlyOnStringFields(schema) {
32
32
  }
33
33
  return '';
34
34
  }
35
+ function checkEntryTypesHaveIdField(schema) {
36
+ for (const type of Object.values(schema.getTypeMap())) {
37
+ if (!isObjectType(type) || !hasDirective(type, ENTRY_DIRECTIVE_NAME)) {
38
+ continue;
39
+ }
40
+ const idField = type.getFields()['id'];
41
+ if (idField === undefined ||
42
+ !isNonNullType(idField.type) ||
43
+ !isScalarType(idField.type.ofType) ||
44
+ idField.type.ofType.name !== 'ID') {
45
+ return `Type "${type.name}" must have a field "id" of type "ID!" to use "@${ENTRY_DIRECTIVE_NAME}" directive.`;
46
+ }
47
+ }
48
+ return '';
49
+ }
35
50
  export function getValidationResult(schema) {
36
51
  const results = [];
52
+ results.push(checkEntryTypesHaveIdField(schema));
37
53
  results.push(checkUnionMembersConsistentUseOfEntryDirective(schema));
38
54
  results.push(checkSearchableDirectiveOnlyOnStringFields(schema));
39
55
  return results.filter((result) => result !== '');
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { getSchema, postGraphQL, } from "./client.js";
2
+ import { ErrorCode } from "./graphql/errors.js";
2
3
  import { createCacheHandler } from "./persistence/cache.js";
4
+ export { ErrorCode, };
3
5
  export async function createClient(gitAdapter, options = {}) {
4
6
  const repositoryCache = createCacheHandler();
5
7
  const searchAdapter = options.searchAdapter;
@@ -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;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
+ {"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,SAAS,EAAiB,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAoB3D,OAAO,EAKL,SAAS,GAEV,CAAA;AAED,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,12 +1,15 @@
1
1
  import { Entry } from '@commitspark/git-adapter';
2
2
  import { ApolloContext } from '../client.ts';
3
+ type ContentHash = string;
3
4
  export interface EntriesRecord {
4
5
  byId: Map<string, Entry>;
5
6
  byType: Map<string, Entry[]>;
7
+ hashById: Map<string, ContentHash>;
6
8
  }
7
9
  export interface RepositoryCacheHandler {
8
10
  getEntriesRecord: (context: ApolloContext, ref: string) => Promise<EntriesRecord>;
9
11
  getSchema: (context: ApolloContext, ref: string) => Promise<string>;
10
12
  }
11
13
  export declare const createCacheHandler: (cacheSize?: number) => RepositoryCacheHandler;
14
+ export {};
12
15
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAY5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;CAC7B;AAOD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAChB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE;AA+LD,eAAO,MAAM,kBAAkB,GAC7B,YAAW,MAA0B,KACpC,sBAoBF,CAAA"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,KAAK,WAAW,GAAG,MAAM,CAAA;AAQzB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CACnC;AAOD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAChB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE;AAsLD,eAAO,MAAM,kBAAkB,GAC7B,YAAW,MAA0B,KACpC,sBAoBF,CAAA"}
@@ -1,5 +1,5 @@
1
- import { GitAdapterError } from '@commitspark/git-adapter';
2
- import { createError } from "../graphql/errors.js";
1
+ import { createError, ErrorCode } from "../graphql/errors.js";
2
+ import { callGitAdapter } from "./git-adapter-call.js";
3
3
  const MAX_CACHE_ENTRIES = 50;
4
4
  // intentionally not async so that the same in-flight promise is returned to all callers
5
5
  const getEntriesRecordByRef = (entriesCache, contentCache, inflightEntries, cacheSize, context, ref) => {
@@ -39,14 +39,16 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
39
39
  for (const [hash, id] of idsToFetchByHash) {
40
40
  const fetchedEntry = fetchedEntriesById.get(id);
41
41
  if (fetchedEntry === undefined) {
42
- throw createError(`Git adapter did not return requested entry "${id}".`, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
42
+ throw createError(`Git adapter did not return requested entry "${id}".`, ErrorCode.INTERNAL_ERROR, {});
43
43
  }
44
44
  contentByHash.set(hash, createEntryContent(fetchedEntry));
45
45
  }
46
46
  }
47
47
  const entriesById = new Map();
48
48
  const entriesByType = new Map();
49
+ const hashesById = new Map();
49
50
  for (const { id, hash } of entryHashes) {
51
+ hashesById.set(id, hash);
50
52
  const entry = {
51
53
  id: id,
52
54
  ...contentByHash.get(hash),
@@ -60,6 +62,7 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
60
62
  entriesRecord: {
61
63
  byType: entriesByType,
62
64
  byId: entriesById,
65
+ hashById: hashesById,
63
66
  },
64
67
  contentHashes: [...contentByHash.keys()],
65
68
  };
@@ -97,18 +100,6 @@ const removeUnreferencedContent = (entriesCache, contentCache) => {
97
100
  }
98
101
  }
99
102
  };
100
- const callGitAdapter = async (operation) => {
101
- try {
102
- return await operation();
103
- }
104
- catch (err) {
105
- if (err instanceof GitAdapterError) {
106
- throw createError(err.message, err.code, {});
107
- }
108
- const message = err instanceof Error ? err.message : String(err);
109
- throw createError(message, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
110
- }
111
- };
112
103
  const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
113
104
  const schemaCacheRecord = schemaCache.get(ref);
114
105
  if (schemaCacheRecord !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CommitDraft } from '@commitspark/git-adapter';
2
+ import { ApolloContext } from '../client.ts';
3
+ /**
4
+ * Commits a draft that `createDraft` validates against the current commit of the request, guaranteeing that the
5
+ * draft is only committed on top of the exact commit it was validated against.
6
+ *
7
+ * Git adapters only move a branch if it still points to `parentSha` and otherwise throw `CONFLICT`. As most adapters
8
+ * can only check this for the branch as a whole, any concurrent commit to the branch between reading and committing
9
+ * leads to `CONFLICT`, even if it changed unrelated entries. In this case, the current commit of the request is moved
10
+ * to the new branch head and the draft is created and validated again, including expected entry versions and
11
+ * references, so that only actual conflicts are reported to the caller.
12
+ *
13
+ * Errors thrown by `createDraft` are not retried, as the draft was validated against the latest known state.
14
+ */
15
+ export declare const commitWithRetry: (context: ApolloContext, createDraft: () => Promise<CommitDraft>) => Promise<void>;
16
+ //# sourceMappingURL=commit-with-retry.d.ts.map