@apollo-annotation/shared 0.3.13 → 1.0.1

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 (170) hide show
  1. package/dist/Changes/{DeleteFeatureChange.d.ts → AddAndDeleteFeatureChanges.d.ts} +26 -11
  2. package/dist/Changes/AddAndDeleteFeatureChanges.d.ts.map +1 -0
  3. package/dist/Changes/AddAndDeleteFeatureChanges.js +117 -0
  4. package/dist/Changes/AddAndDeleteFeatureChanges.js.map +1 -0
  5. package/dist/Changes/AddAssemblyAliasesChange.d.ts +1 -4
  6. package/dist/Changes/AddAssemblyAliasesChange.d.ts.map +1 -1
  7. package/dist/Changes/AddAssemblyAliasesChange.js +0 -27
  8. package/dist/Changes/AddAssemblyAliasesChange.js.map +1 -1
  9. package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts +2 -11
  10. package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts.map +1 -1
  11. package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js +2 -82
  12. package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js.map +1 -1
  13. package/dist/Changes/AddAssemblyFromExternalChange.d.ts +1 -9
  14. package/dist/Changes/AddAssemblyFromExternalChange.d.ts.map +1 -1
  15. package/dist/Changes/AddAssemblyFromExternalChange.js +0 -72
  16. package/dist/Changes/AddAssemblyFromExternalChange.js.map +1 -1
  17. package/dist/Changes/AddAssemblyFromFileChange.d.ts +2 -17
  18. package/dist/Changes/AddAssemblyFromFileChange.d.ts.map +1 -1
  19. package/dist/Changes/AddAssemblyFromFileChange.js +2 -119
  20. package/dist/Changes/AddAssemblyFromFileChange.js.map +1 -1
  21. package/dist/Changes/AddFeaturesFromFileChange.d.ts +2 -11
  22. package/dist/Changes/AddFeaturesFromFileChange.d.ts.map +1 -1
  23. package/dist/Changes/AddFeaturesFromFileChange.js +2 -66
  24. package/dist/Changes/AddFeaturesFromFileChange.js.map +1 -1
  25. package/dist/Changes/AddRefSeqAliasesChange.d.ts +1 -4
  26. package/dist/Changes/AddRefSeqAliasesChange.d.ts.map +1 -1
  27. package/dist/Changes/AddRefSeqAliasesChange.js +0 -34
  28. package/dist/Changes/AddRefSeqAliasesChange.js.map +1 -1
  29. package/dist/Changes/DeleteAssemblyChange.d.ts +1 -9
  30. package/dist/Changes/DeleteAssemblyChange.d.ts.map +1 -1
  31. package/dist/Changes/DeleteAssemblyChange.js +0 -53
  32. package/dist/Changes/DeleteAssemblyChange.js.map +1 -1
  33. package/dist/Changes/DeleteUserChange.d.ts +1 -4
  34. package/dist/Changes/DeleteUserChange.d.ts.map +1 -1
  35. package/dist/Changes/DeleteUserChange.js +0 -19
  36. package/dist/Changes/DeleteUserChange.js.map +1 -1
  37. package/dist/Changes/FeatureAttributeChange.d.ts +1 -9
  38. package/dist/Changes/FeatureAttributeChange.d.ts.map +1 -1
  39. package/dist/Changes/FeatureAttributeChange.js +0 -82
  40. package/dist/Changes/FeatureAttributeChange.js.map +1 -1
  41. package/dist/Changes/ImportJBrowseConfigChange.d.ts +1 -4
  42. package/dist/Changes/ImportJBrowseConfigChange.d.ts.map +1 -1
  43. package/dist/Changes/ImportJBrowseConfigChange.js +1 -18
  44. package/dist/Changes/ImportJBrowseConfigChange.js.map +1 -1
  45. package/dist/Changes/LocationEndChange.d.ts +1 -9
  46. package/dist/Changes/LocationEndChange.d.ts.map +1 -1
  47. package/dist/Changes/LocationEndChange.js +0 -90
  48. package/dist/Changes/LocationEndChange.js.map +1 -1
  49. package/dist/Changes/LocationStartChange.d.ts +1 -9
  50. package/dist/Changes/LocationStartChange.d.ts.map +1 -1
  51. package/dist/Changes/LocationStartChange.js +0 -90
  52. package/dist/Changes/LocationStartChange.js.map +1 -1
  53. package/dist/Changes/MergeAndUndoMergeExonsChanges.d.ts +46 -0
  54. package/dist/Changes/MergeAndUndoMergeExonsChanges.d.ts.map +1 -0
  55. package/dist/Changes/MergeAndUndoMergeExonsChanges.js +83 -0
  56. package/dist/Changes/MergeAndUndoMergeExonsChanges.js.map +1 -0
  57. package/dist/Changes/{MergeTranscriptsChange.d.ts → MergeAndUndoMergeTranscriptsChanges.d.ts} +22 -6
  58. package/dist/Changes/MergeAndUndoMergeTranscriptsChanges.d.ts.map +1 -0
  59. package/dist/Changes/{MergeTranscriptsChange.js → MergeAndUndoMergeTranscriptsChanges.js} +40 -50
  60. package/dist/Changes/MergeAndUndoMergeTranscriptsChanges.js.map +1 -0
  61. package/dist/Changes/SplitAndUndoSplitExonChanges.d.ts +55 -0
  62. package/dist/Changes/SplitAndUndoSplitExonChanges.d.ts.map +1 -0
  63. package/dist/Changes/SplitAndUndoSplitExonChanges.js +115 -0
  64. package/dist/Changes/SplitAndUndoSplitExonChanges.js.map +1 -0
  65. package/dist/Changes/StrandChange.d.ts +1 -9
  66. package/dist/Changes/StrandChange.d.ts.map +1 -1
  67. package/dist/Changes/StrandChange.js +0 -77
  68. package/dist/Changes/StrandChange.js.map +1 -1
  69. package/dist/Changes/TypeChange.d.ts +1 -9
  70. package/dist/Changes/TypeChange.d.ts.map +1 -1
  71. package/dist/Changes/TypeChange.js +0 -77
  72. package/dist/Changes/TypeChange.js.map +1 -1
  73. package/dist/Changes/UserChange.d.ts +1 -4
  74. package/dist/Changes/UserChange.d.ts.map +1 -1
  75. package/dist/Changes/UserChange.js +0 -23
  76. package/dist/Changes/UserChange.js.map +1 -1
  77. package/dist/Changes/index.d.ts +29 -22
  78. package/dist/Changes/index.d.ts.map +1 -1
  79. package/dist/Changes/index.js +19 -24
  80. package/dist/Changes/index.js.map +1 -1
  81. package/dist/Validations/Validation.d.ts +2 -2
  82. package/dist/Validations/Validation.d.ts.map +1 -1
  83. package/dist/Validations/Validation.js +1 -1
  84. package/dist/Validations/Validation.js.map +1 -1
  85. package/dist/Validations/ValidationSet.d.ts +2 -2
  86. package/dist/Validations/ValidationSet.d.ts.map +1 -1
  87. package/dist/Validations/ValidationSet.js +2 -2
  88. package/dist/Validations/ValidationSet.js.map +1 -1
  89. package/dist/index.d.ts +0 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +0 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +9 -4
  95. package/src/Changes/{DeleteFeatureChange.ts → AddAndDeleteFeatureChanges.ts} +77 -107
  96. package/src/Changes/AddAssemblyAliasesChange.ts +0 -35
  97. package/src/Changes/AddAssemblyAndFeaturesFromFileChange.ts +5 -108
  98. package/src/Changes/AddAssemblyFromExternalChange.ts +0 -87
  99. package/src/Changes/AddAssemblyFromFileChange.ts +5 -169
  100. package/src/Changes/AddFeaturesFromFileChange.ts +5 -86
  101. package/src/Changes/AddRefSeqAliasesChange.ts +0 -44
  102. package/src/Changes/DeleteAssemblyChange.ts +0 -72
  103. package/src/Changes/DeleteUserChange.ts +0 -25
  104. package/src/Changes/FeatureAttributeChange.ts +0 -104
  105. package/src/Changes/ImportJBrowseConfigChange.ts +1 -27
  106. package/src/Changes/LocationEndChange.ts +0 -100
  107. package/src/Changes/LocationStartChange.ts +0 -100
  108. package/src/Changes/{MergeExonsChange.ts → MergeAndUndoMergeExonsChanges.ts} +70 -90
  109. package/src/Changes/{MergeTranscriptsChange.ts → MergeAndUndoMergeTranscriptsChanges.ts} +74 -66
  110. package/src/Changes/{SplitExonChange.ts → SplitAndUndoSplitExonChanges.ts} +95 -122
  111. package/src/Changes/StrandChange.ts +0 -94
  112. package/src/Changes/TypeChange.ts +0 -94
  113. package/src/Changes/UserChange.ts +0 -30
  114. package/src/Changes/index.ts +32 -24
  115. package/src/Validations/Validation.ts +2 -5
  116. package/src/Validations/ValidationSet.ts +3 -6
  117. package/src/index.ts +0 -1
  118. package/dist/Changes/AddFeatureChange.d.ts +0 -37
  119. package/dist/Changes/AddFeatureChange.d.ts.map +0 -1
  120. package/dist/Changes/AddFeatureChange.js +0 -169
  121. package/dist/Changes/AddFeatureChange.js.map +0 -1
  122. package/dist/Changes/DeleteFeatureChange.d.ts.map +0 -1
  123. package/dist/Changes/DeleteFeatureChange.js +0 -161
  124. package/dist/Changes/DeleteFeatureChange.js.map +0 -1
  125. package/dist/Changes/FromFileBaseChange.d.ts +0 -12
  126. package/dist/Changes/FromFileBaseChange.d.ts.map +0 -1
  127. package/dist/Changes/FromFileBaseChange.js +0 -196
  128. package/dist/Changes/FromFileBaseChange.js.map +0 -1
  129. package/dist/Changes/MergeExonsChange.d.ts +0 -30
  130. package/dist/Changes/MergeExonsChange.d.ts.map +0 -1
  131. package/dist/Changes/MergeExonsChange.js +0 -110
  132. package/dist/Changes/MergeExonsChange.js.map +0 -1
  133. package/dist/Changes/MergeTranscriptsChange.d.ts.map +0 -1
  134. package/dist/Changes/MergeTranscriptsChange.js.map +0 -1
  135. package/dist/Changes/SplitExonChange.d.ts +0 -34
  136. package/dist/Changes/SplitExonChange.d.ts.map +0 -1
  137. package/dist/Changes/SplitExonChange.js +0 -138
  138. package/dist/Changes/SplitExonChange.js.map +0 -1
  139. package/dist/Changes/UndoMergeExonsChange.d.ts +0 -28
  140. package/dist/Changes/UndoMergeExonsChange.d.ts.map +0 -1
  141. package/dist/Changes/UndoMergeExonsChange.js +0 -100
  142. package/dist/Changes/UndoMergeExonsChange.js.map +0 -1
  143. package/dist/Changes/UndoMergeTranscriptsChange.d.ts +0 -28
  144. package/dist/Changes/UndoMergeTranscriptsChange.d.ts.map +0 -1
  145. package/dist/Changes/UndoMergeTranscriptsChange.js +0 -100
  146. package/dist/Changes/UndoMergeTranscriptsChange.js.map +0 -1
  147. package/dist/Changes/UndoSplitExonChange.d.ts +0 -33
  148. package/dist/Changes/UndoSplitExonChange.d.ts.map +0 -1
  149. package/dist/Changes/UndoSplitExonChange.js +0 -107
  150. package/dist/Changes/UndoSplitExonChange.js.map +0 -1
  151. package/dist/Operations/GetAssembliesOperation.d.ts +0 -12
  152. package/dist/Operations/GetAssembliesOperation.d.ts.map +0 -1
  153. package/dist/Operations/GetAssembliesOperation.js +0 -16
  154. package/dist/Operations/GetAssembliesOperation.js.map +0 -1
  155. package/dist/Operations/GetFeaturesOperation.d.ts +0 -27
  156. package/dist/Operations/GetFeaturesOperation.d.ts.map +0 -1
  157. package/dist/Operations/GetFeaturesOperation.js +0 -38
  158. package/dist/Operations/GetFeaturesOperation.js.map +0 -1
  159. package/dist/Operations/index.d.ts +0 -9
  160. package/dist/Operations/index.d.ts.map +0 -1
  161. package/dist/Operations/index.js +0 -6
  162. package/dist/Operations/index.js.map +0 -1
  163. package/src/Changes/AddFeatureChange.ts +0 -236
  164. package/src/Changes/FromFileBaseChange.ts +0 -231
  165. package/src/Changes/UndoMergeExonsChange.ts +0 -149
  166. package/src/Changes/UndoMergeTranscriptsChange.ts +0 -153
  167. package/src/Changes/UndoSplitExonChange.ts +0 -174
  168. package/src/Operations/GetAssembliesOperation.ts +0 -28
  169. package/src/Operations/GetFeaturesOperation.ts +0 -58
  170. package/src/Operations/index.ts +0 -6
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
2
- /* eslint-disable @typescript-eslint/require-await */
3
1
  /* eslint-disable @typescript-eslint/no-unnecessary-condition */
4
2
  import { FeatureChange, } from '@apollo-annotation/common';
5
3
  export class FeatureAttributeChange extends FeatureChange {
@@ -24,86 +22,6 @@ export class FeatureAttributeChange extends FeatureChange {
24
22
  }
25
23
  return { typeName, changedIds, assembly, changes };
26
24
  }
27
- /**
28
- * Applies the required change to database
29
- * @param backend - parameters from backend
30
- * @returns
31
- */
32
- async executeOnServer(backend) {
33
- const { featureModel, session } = backend;
34
- const { changes, logger } = this;
35
- const featuresForChanges = [];
36
- // Loop the changes and check that all features are found
37
- for (const change of changes) {
38
- const { featureId } = change;
39
- // Search correct feature
40
- const topLevelFeature = await featureModel
41
- .findOne({ allIds: featureId })
42
- .session(session)
43
- .exec();
44
- if (!topLevelFeature) {
45
- const errMsg = `*** ERROR: The following featureId was not found in database ='${featureId}'`;
46
- logger.error(errMsg);
47
- throw new Error(errMsg);
48
- // throw new NotFoundException(errMsg) -- This is causing runtime error because Exception comes from @nestjs/common!!!
49
- }
50
- logger.debug?.(`*** Feature found: ${JSON.stringify(topLevelFeature)}`);
51
- const foundFeature = this.getFeatureFromId(topLevelFeature, featureId);
52
- if (!foundFeature) {
53
- const errMsg = 'ERROR when searching feature by featureId';
54
- logger.error(errMsg);
55
- throw new Error(errMsg);
56
- }
57
- logger.debug?.(`*** Found feature: ${JSON.stringify(foundFeature)}`);
58
- featuresForChanges.push({ feature: foundFeature, topLevelFeature });
59
- }
60
- const { INDEXED_IDS } = process.env;
61
- let idsToIndex;
62
- if (INDEXED_IDS) {
63
- idsToIndex = INDEXED_IDS.split(',');
64
- }
65
- // Let's update objects
66
- for (const [idx, change] of changes.entries()) {
67
- const { newAttributes } = change;
68
- const { feature, topLevelFeature } = featuresForChanges[idx];
69
- const indexedIdsChanged = idsToIndex?.some((id) => id in newAttributes || id in (feature?.attributes ?? {}));
70
- feature.attributes = newAttributes;
71
- if (indexedIdsChanged) {
72
- const indexedIds = this.getIndexedIds(topLevelFeature, idsToIndex);
73
- topLevelFeature.indexedIds = indexedIds;
74
- topLevelFeature.markModified('indexedIds');
75
- }
76
- if (topLevelFeature._id.equals(feature._id)) {
77
- topLevelFeature.markModified('attributes'); // Mark as modified. Without this save() -method is not updating data in database
78
- }
79
- else {
80
- topLevelFeature.markModified('children'); // Mark as modified. Without this save() -method is not updating data in database
81
- }
82
- try {
83
- await topLevelFeature.save();
84
- }
85
- catch (error) {
86
- logger.debug?.(`*** FAILED: ${error}`);
87
- throw error;
88
- }
89
- logger.debug?.(`*** Feature attributes modified (added, edited or deleted), docId: ${JSON.stringify(topLevelFeature)}`);
90
- }
91
- }
92
- async executeOnLocalGFF3(_backend) {
93
- throw new Error('applyToLocalGFF3 not implemented');
94
- }
95
- async executeOnClient(dataStore) {
96
- if (!dataStore) {
97
- throw new Error('No data store');
98
- }
99
- for (const [idx, changedId] of this.changedIds.entries()) {
100
- const feature = dataStore.getFeature(changedId);
101
- if (!feature) {
102
- throw new Error(`Could not find feature with identifier "${changedId}"`);
103
- }
104
- feature.setAttributes(new Map(Object.entries(this.changes[idx].newAttributes)));
105
- }
106
- }
107
25
  getInverse() {
108
26
  const { assembly, changedIds, changes, logger } = this;
109
27
  const inverseChangedIds = [...changedIds].reverse();
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureAttributeChange.js","sourceRoot":"","sources":["../../src/Changes/FeatureAttributeChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureAttributeChange.js","sourceRoot":"","sources":["../../src/Changes/FeatureAttributeChange.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAEL,aAAa,GAEd,MAAM,2BAA2B,CAAA;AAyBlC,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IACvD,QAAQ,GAAG,wBAAiC,CAAA;IAC5C,OAAO,CAAiC;IAExC,YAAY,IAAsC,EAAE,OAAuB;QACzE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAA;YAC7D,OAAO;gBACL,QAAQ;gBACR,UAAU;gBACV,QAAQ;gBACR,SAAS;gBACT,aAAa;gBACb,aAAa;aACd,CAAA;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACpD,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACtD,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,aAAa,EAAE,SAAS,CAAC,aAAa;SACvC,CAAC,CAAC,CAAA;QACH,OAAO,IAAI,sBAAsB,CAC/B;YACE,UAAU,EAAE,iBAAiB;YAC7B,QAAQ,EAAE,wBAAwB;YAClC,OAAO,EAAE,cAAc;YACvB,QAAQ;SACT,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAe;IAEf,OAAO,CACJ,MAAiC,CAAC,QAAQ,KAAK,wBAAwB,CACzE,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Change, type ChangeOptions, type ClientDataStore, type LocalGFF3DataStore, type ServerDataStore } from '@apollo-annotation/common';
1
+ import { Change, type ChangeOptions } from '@apollo-annotation/common';
2
2
  interface JBrowseAssembly {
3
3
  sequence: {
4
4
  adapter: {
@@ -38,9 +38,6 @@ export declare class ImportJBrowseConfigChange extends Change {
38
38
  newJBrowseConfig?: JBrowseConfig;
39
39
  constructor(json: SerializedImportJBrowseConfigChange, options?: ChangeOptions);
40
40
  toJSON(): SerializedImportJBrowseConfigChange;
41
- executeOnServer(backend: ServerDataStore): Promise<void>;
42
- executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
43
- executeOnClient(_dataStore: ClientDataStore): Promise<void>;
44
41
  getInverse(): ImportJBrowseConfigChange;
45
42
  }
46
43
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ImportJBrowseConfigChange.d.ts","sourceRoot":"","sources":["../../src/Changes/ImportJBrowseConfigChange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAA;AAElC,UAAU,eAAe;IACvB,QAAQ,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CACxC;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;IAC9B,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC,CAAA;IACD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,2BAA2B,CAAA;IACrC,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CACjC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAqCxE;AAED,qBAAa,yBAA0B,SAAQ,MAAM;IACnD,QAAQ,8BAAuC;IAC/C,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,gBAAgB,CAAC,EAAE,aAAa,CAAA;gBAG9B,IAAI,EAAE,mCAAmC,EACzC,OAAO,CAAC,EAAE,aAAa;IAOzB,MAAM,IAAI,mCAAmC;IAKvC,eAAe,CAAC,OAAO,EAAE,eAAe;IAYxC,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB;IAK/C,eAAe,CAAC,UAAU,EAAE,eAAe;IAEjD,UAAU;CAWX"}
1
+ {"version":3,"file":"ImportJBrowseConfigChange.d.ts","sourceRoot":"","sources":["../../src/Changes/ImportJBrowseConfigChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEtE,UAAU,eAAe;IACvB,QAAQ,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CACxC;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;IAC9B,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC,CAAA;IACD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,2BAA2B,CAAA;IACrC,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CACjC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAqCxE;AAED,qBAAa,yBAA0B,SAAQ,MAAM;IACnD,QAAQ,8BAAuC;IAC/C,gBAAgB,CAAC,EAAE,aAAa,CAAA;IAChC,gBAAgB,CAAC,EAAE,aAAa,CAAA;gBAG9B,IAAI,EAAE,mCAAmC,EACzC,OAAO,CAAC,EAAE,aAAa;IAOzB,MAAM,IAAI,mCAAmC;IAK7C,UAAU;CAWX"}
@@ -1,5 +1,4 @@
1
- /* eslint-disable @typescript-eslint/require-await */
2
- import { Change, } from '@apollo-annotation/common';
1
+ import { Change } from '@apollo-annotation/common';
3
2
  export function filterJBrowseConfig(config) {
4
3
  const { __v, _id, assemblies, configuration, internetAccounts, plugins, tracks, ...rest } = config;
5
4
  // Need to make sure that configuration.ApolloPlugin.hasRole isn't set
@@ -38,22 +37,6 @@ export class ImportJBrowseConfigChange extends Change {
38
37
  const { newJBrowseConfig, oldJBrowseConfig, typeName } = this;
39
38
  return { typeName, oldJBrowseConfig, newJBrowseConfig };
40
39
  }
41
- async executeOnServer(backend) {
42
- const { jbrowseConfigModel } = backend;
43
- const { logger, newJBrowseConfig } = this;
44
- await jbrowseConfigModel.deleteMany();
45
- if (!newJBrowseConfig) {
46
- return;
47
- }
48
- const filteredConfig = filterJBrowseConfig(newJBrowseConfig);
49
- await jbrowseConfigModel.create(filteredConfig);
50
- logger.debug?.('Stored new JBrowse Config');
51
- }
52
- async executeOnLocalGFF3(_backend) {
53
- throw new Error('executeOnLocalGFF3 not implemented');
54
- }
55
- // eslint-disable-next-line @typescript-eslint/no-empty-function
56
- async executeOnClient(_dataStore) { }
57
40
  getInverse() {
58
41
  const { logger, newJBrowseConfig, oldJBrowseConfig } = this;
59
42
  return new ImportJBrowseConfigChange({
@@ -1 +1 @@
1
- {"version":3,"file":"ImportJBrowseConfigChange.js","sourceRoot":"","sources":["../../src/Changes/ImportJBrowseConfigChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportJBrowseConfigChange.js","sourceRoot":"","sources":["../../src/Changes/ImportJBrowseConfigChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,2BAA2B,CAAA;AAoCtE,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,EACJ,GAAG,EACH,GAAG,EACH,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACR,GAAG,MAAM,CAAA;IACV,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAqB,CAAA;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,uBAAuB,CAC3D,CAAA;IACH,CAAC;IACD,IAAI,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC,YAAY,CAAA;QACnE,cAAc,CAAC,aAAa,GAAG;YAC7B,GAAG,aAAa;YAChB,YAAY,EAAE,gBAAgB;SAC/B,CAAA;IACH,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAC1C,CAAA;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IACxE,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,OAAO,yBAA0B,SAAQ,MAAM;IACnD,QAAQ,GAAG,2BAAoC,CAAA;IAC/C,gBAAgB,CAAgB;IAChC,gBAAgB,CAAgB;IAEhC,YACE,IAAyC,EACzC,OAAuB;QAEvB,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;IAC/C,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC7D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;IACzD,CAAC;IAED,UAAU;QACR,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;QAC3D,OAAO,IAAI,yBAAyB,CAClC;YACE,QAAQ,EAAE,2BAA2B;YACrC,gBAAgB,EAAE,gBAAgB;YAClC,gBAAgB,EAAE,gBAAgB;SACnC,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { type ChangeOptions, type ClientDataStore, FeatureChange, type LocalGFF3DataStore, type SerializedFeatureChange, type ServerDataStore } from '@apollo-annotation/common';
1
+ import { type ChangeOptions, FeatureChange, type SerializedFeatureChange } from '@apollo-annotation/common';
2
2
  interface SerializedLocationEndChangeBase extends SerializedFeatureChange {
3
3
  typeName: 'LocationEndChange';
4
4
  }
@@ -18,14 +18,6 @@ export declare class LocationEndChange extends FeatureChange {
18
18
  changes: LocationEndChangeDetails[];
19
19
  constructor(json: SerializedLocationEndChange, options?: ChangeOptions);
20
20
  toJSON(): SerializedLocationEndChange;
21
- /**
22
- * Applies the required change to database
23
- * @param backend - parameters from backend
24
- * @returns
25
- */
26
- executeOnServer(backend: ServerDataStore): Promise<void>;
27
- executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
28
- executeOnClient(dataStore: ClientDataStore): Promise<void>;
29
21
  getInverse(): LocationEndChange;
30
22
  }
31
23
  export declare function isLocationEndChange(change: unknown): change is LocationEndChange;
@@ -1 +1 @@
1
- {"version":3,"file":"LocationEndChange.d.ts","sourceRoot":"","sources":["../../src/Changes/LocationEndChange.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAA;AAGlC,UAAU,+BAAgC,SAAQ,uBAAuB;IACvE,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iCACR,SAAQ,+BAA+B,EACrC,wBAAwB;CAAG;AAE/B,UAAU,mCACR,SAAQ,+BAA+B;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAA;CACpC;AAED,MAAM,MAAM,2BAA2B,GACnC,iCAAiC,GACjC,mCAAmC,CAAA;AAEvC,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,sBAA+B;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAA;gBAEvB,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKtE,MAAM,IAAI,2BAA2B;IASrC;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,eAAe;IAuExC,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB;IAI/C,eAAe,CAAC,SAAS,EAAE,eAAe;IAchD,UAAU;CAkBX;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,iBAAiB,CAE7B"}
1
+ {"version":3,"file":"LocationEndChange.d.ts","sourceRoot":"","sources":["../../src/Changes/LocationEndChange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAElC,UAAU,+BAAgC,SAAQ,uBAAuB;IACvE,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iCACR,SAAQ,+BAA+B,EACrC,wBAAwB;CAAG;AAE/B,UAAU,mCACR,SAAQ,+BAA+B;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAA;CACpC;AAED,MAAM,MAAM,2BAA2B,GACnC,iCAAiC,GACjC,mCAAmC,CAAA;AAEvC,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,sBAA+B;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAA;gBAEvB,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKtE,MAAM,IAAI,2BAA2B;IASrC,UAAU;CAkBX;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,iBAAiB,CAE7B"}
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
2
- /* eslint-disable @typescript-eslint/require-await */
3
1
  /* eslint-disable @typescript-eslint/no-unnecessary-condition */
4
2
  import { FeatureChange, } from '@apollo-annotation/common';
5
3
  export class LocationEndChange extends FeatureChange {
@@ -17,94 +15,6 @@ export class LocationEndChange extends FeatureChange {
17
15
  }
18
16
  return { typeName, changedIds, assembly, changes };
19
17
  }
20
- /**
21
- * Applies the required change to database
22
- * @param backend - parameters from backend
23
- * @returns
24
- */
25
- async executeOnServer(backend) {
26
- const { featureModel, session } = backend;
27
- const { changes, logger } = this;
28
- // Let's first check that all features are found and those old values match with expected ones. We do this just to be sure that all changes can be done.
29
- const topLevelFeatures = [];
30
- for (const change of changes) {
31
- const { featureId, oldEnd, newEnd } = change;
32
- // See if we already have top-level feature for this feature
33
- let topLevelFeature;
34
- let feature;
35
- for (const tlv of topLevelFeatures) {
36
- const childFeature = this.getFeatureFromId(tlv, featureId);
37
- if (childFeature) {
38
- topLevelFeature = tlv;
39
- feature = childFeature;
40
- break;
41
- }
42
- }
43
- if (!topLevelFeature) {
44
- // Don't already have top-level feature, so let's query it
45
- topLevelFeature = await featureModel
46
- .findOne({ allIds: featureId })
47
- .session(session)
48
- .exec();
49
- if (topLevelFeature) {
50
- topLevelFeatures.push(topLevelFeature);
51
- }
52
- }
53
- if (!topLevelFeature) {
54
- const errMsg = `*** ERROR: The following featureId was not found in database ='${featureId}'`;
55
- logger.error(errMsg);
56
- throw new Error(errMsg);
57
- // throw new NotFoundException(errMsg) -- This is causing runtime error because Exception comes from @nestjs/common!!!
58
- }
59
- logger.debug?.(`*** TOP level feature found: ${JSON.stringify(topLevelFeature)}`);
60
- if (!feature) {
61
- feature = this.getFeatureFromId(topLevelFeature, featureId);
62
- }
63
- if (!feature) {
64
- const errMsg = 'ERROR when searching feature by featureId';
65
- logger.error(errMsg);
66
- throw new Error(errMsg);
67
- }
68
- logger.debug?.(`*** Found feature: ${JSON.stringify(feature)}`);
69
- if (feature.max !== oldEnd) {
70
- const errMsg = 'Expected previous max does not match';
71
- logger.error(errMsg);
72
- throw new Error(errMsg);
73
- }
74
- feature.max = newEnd;
75
- if (topLevelFeature._id.equals(feature._id)) {
76
- topLevelFeature.markModified('end'); // Mark as modified. Without this save() -method is not updating data in database
77
- }
78
- else {
79
- topLevelFeature.markModified('children'); // Mark as modified. Without this save() -method is not updating data in database
80
- }
81
- }
82
- for (const tlv of topLevelFeatures) {
83
- try {
84
- await tlv.save();
85
- }
86
- catch (error) {
87
- logger.debug?.(`*** FAILED: ${error}`);
88
- throw error;
89
- }
90
- }
91
- }
92
- async executeOnLocalGFF3(_backend) {
93
- throw new Error('executeOnLocalGFF3 not implemented');
94
- }
95
- async executeOnClient(dataStore) {
96
- if (!dataStore) {
97
- throw new Error('No data store');
98
- }
99
- for (const change of this.changes) {
100
- const { featureId, newEnd } = change;
101
- const feature = dataStore.getFeature(featureId);
102
- if (!feature) {
103
- throw new Error(`Could not find feature with identifier "${featureId}"`);
104
- }
105
- feature.setMax(newEnd);
106
- }
107
- }
108
18
  getInverse() {
109
19
  const { assembly, changedIds, changes, logger, typeName } = this;
110
20
  const inverseChangedIds = [...changedIds].reverse();
@@ -1 +1 @@
1
- {"version":3,"file":"LocationEndChange.js","sourceRoot":"","sources":["../../src/Changes/LocationEndChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocationEndChange.js","sourceRoot":"","sources":["../../src/Changes/LocationEndChange.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAEL,aAAa,GAEd,MAAM,2BAA2B,CAAA;AAyBlC,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,GAAG,mBAA4B,CAAA;IACvC,OAAO,CAA4B;IAEnC,YAAY,IAAiC,EAAE,OAAuB;QACpE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAA;YAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QACtE,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACpD,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAChE,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC,CAAC,CAAA;QACH,OAAO,IAAI,iBAAiB,CAC1B;YACE,UAAU,EAAE,iBAAiB;YAC7B,QAAQ;YACR,OAAO,EAAE,cAAc;YACvB,QAAQ;SACT,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAe;IAEf,OAAQ,MAA4B,CAAC,QAAQ,KAAK,mBAAmB,CAAA;AACvE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ChangeOptions, type ClientDataStore, FeatureChange, type LocalGFF3DataStore, type SerializedFeatureChange, type ServerDataStore } from '@apollo-annotation/common';
1
+ import { type ChangeOptions, FeatureChange, type SerializedFeatureChange } from '@apollo-annotation/common';
2
2
  interface SerializedLocationStartChangeBase extends SerializedFeatureChange {
3
3
  typeName: 'LocationStartChange';
4
4
  }
@@ -18,14 +18,6 @@ export declare class LocationStartChange extends FeatureChange {
18
18
  changes: LocationStartChangeDetails[];
19
19
  constructor(json: SerializedLocationStartChange, options?: ChangeOptions);
20
20
  toJSON(): SerializedLocationStartChange;
21
- /**
22
- * Applies the required change to database
23
- * @param backend - parameters from backend
24
- * @returns
25
- */
26
- executeOnServer(backend: ServerDataStore): Promise<void>;
27
- executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
28
- executeOnClient(dataStore: ClientDataStore): Promise<void>;
29
21
  getInverse(): LocationStartChange;
30
22
  }
31
23
  export declare function isLocationStartChange(change: unknown): change is LocationStartChange;
@@ -1 +1 @@
1
- {"version":3,"file":"LocationStartChange.d.ts","sourceRoot":"","sources":["../../src/Changes/LocationStartChange.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAA;AAGlC,UAAU,iCAAkC,SAAQ,uBAAuB;IACzE,QAAQ,EAAE,qBAAqB,CAAA;CAChC;AAED,UAAU,0BAA0B;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,mCACR,SAAQ,iCAAiC,EACvC,0BAA0B;CAAG;AAEjC,UAAU,qCACR,SAAQ,iCAAiC;IACzC,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACtC;AAED,MAAM,MAAM,6BAA6B,GACrC,mCAAmC,GACnC,qCAAqC,CAAA;AAEzC,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,wBAAiC;IACzC,OAAO,EAAE,0BAA0B,EAAE,CAAA;gBAEzB,IAAI,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKxE,MAAM,IAAI,6BAA6B;IASvC;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,eAAe;IAuExC,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB;IAI/C,eAAe,CAAC,SAAS,EAAE,eAAe;IAchD,UAAU;CAkBX;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,mBAAmB,CAE/B"}
1
+ {"version":3,"file":"LocationStartChange.d.ts","sourceRoot":"","sources":["../../src/Changes/LocationStartChange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAElC,UAAU,iCAAkC,SAAQ,uBAAuB;IACzE,QAAQ,EAAE,qBAAqB,CAAA;CAChC;AAED,UAAU,0BAA0B;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,mCACR,SAAQ,iCAAiC,EACvC,0BAA0B;CAAG;AAEjC,UAAU,qCACR,SAAQ,iCAAiC;IACzC,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACtC;AAED,MAAM,MAAM,6BAA6B,GACrC,mCAAmC,GACnC,qCAAqC,CAAA;AAEzC,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,wBAAiC;IACzC,OAAO,EAAE,0BAA0B,EAAE,CAAA;gBAEzB,IAAI,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKxE,MAAM,IAAI,6BAA6B;IASvC,UAAU;CAkBX;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,mBAAmB,CAE/B"}
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
2
- /* eslint-disable @typescript-eslint/require-await */
3
1
  /* eslint-disable @typescript-eslint/no-unnecessary-condition */
4
2
  import { FeatureChange, } from '@apollo-annotation/common';
5
3
  export class LocationStartChange extends FeatureChange {
@@ -17,94 +15,6 @@ export class LocationStartChange extends FeatureChange {
17
15
  }
18
16
  return { typeName, changedIds, assembly, changes };
19
17
  }
20
- /**
21
- * Applies the required change to database
22
- * @param backend - parameters from backend
23
- * @returns
24
- */
25
- async executeOnServer(backend) {
26
- const { featureModel, session } = backend;
27
- const { changes, logger } = this;
28
- // Let's first check that all features are found and those old values match with expected ones. We do this just to be sure that all changes can be done.
29
- const topLevelFeatures = [];
30
- for (const change of changes) {
31
- const { featureId, oldStart, newStart } = change;
32
- // See if we already have top-level feature for this feature
33
- let topLevelFeature;
34
- let feature;
35
- for (const tlv of topLevelFeatures) {
36
- const childFeature = this.getFeatureFromId(tlv, featureId);
37
- if (childFeature) {
38
- topLevelFeature = tlv;
39
- feature = childFeature;
40
- break;
41
- }
42
- }
43
- if (!topLevelFeature) {
44
- // Don't already have top-level feature, so let's query it
45
- topLevelFeature = await featureModel
46
- .findOne({ allIds: featureId })
47
- .session(session)
48
- .exec();
49
- if (topLevelFeature) {
50
- topLevelFeatures.push(topLevelFeature);
51
- }
52
- }
53
- if (!topLevelFeature) {
54
- const errMsg = `*** ERROR: The following featureId was not found in database ='${featureId}'`;
55
- logger.error(errMsg);
56
- throw new Error(errMsg);
57
- // throw new NotFoundException(errMsg) -- This is causing runtime error because Exception comes from @nestjs/common!!!
58
- }
59
- logger.debug?.(`*** TOP level feature found: ${JSON.stringify(topLevelFeature)}`);
60
- if (!feature) {
61
- feature = this.getFeatureFromId(topLevelFeature, featureId);
62
- }
63
- if (!feature) {
64
- const errMsg = 'ERROR when searching feature by featureId';
65
- logger.error(errMsg);
66
- throw new Error(errMsg);
67
- }
68
- logger.debug?.(`*** Found feature: ${JSON.stringify(feature)}`);
69
- if (feature.min !== oldStart) {
70
- const errMsg = 'Expected previous max does not match';
71
- logger.error(errMsg);
72
- throw new Error(errMsg);
73
- }
74
- feature.min = newStart;
75
- if (topLevelFeature._id.equals(feature._id)) {
76
- topLevelFeature.markModified('start'); // Mark as modified. Without this save() -method is not updating data in database
77
- }
78
- else {
79
- topLevelFeature.markModified('children'); // Mark as modified. Without this save() -method is not updating data in database
80
- }
81
- }
82
- for (const tlv of topLevelFeatures) {
83
- try {
84
- await tlv.save();
85
- }
86
- catch (error) {
87
- logger.debug?.(`*** FAILED: ${error}`);
88
- throw error;
89
- }
90
- }
91
- }
92
- async executeOnLocalGFF3(_backend) {
93
- throw new Error('executeOnLocalGFF3 not implemented');
94
- }
95
- async executeOnClient(dataStore) {
96
- if (!dataStore) {
97
- throw new Error('No data store');
98
- }
99
- for (const change of this.changes) {
100
- const { featureId, newStart } = change;
101
- const feature = dataStore.getFeature(featureId);
102
- if (!feature) {
103
- throw new Error(`Could not find feature with identifier "${featureId}"`);
104
- }
105
- feature.setMin(newStart);
106
- }
107
- }
108
18
  getInverse() {
109
19
  const { assembly, changedIds, changes, logger, typeName } = this;
110
20
  const inverseChangedIds = [...changedIds].reverse();
@@ -1 +1 @@
1
- {"version":3,"file":"LocationStartChange.js","sourceRoot":"","sources":["../../src/Changes/LocationStartChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocationStartChange.js","sourceRoot":"","sources":["../../src/Changes/LocationStartChange.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAEL,aAAa,GAEd,MAAM,2BAA2B,CAAA;AAyBlC,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,GAAG,qBAA8B,CAAA;IACzC,OAAO,CAA8B;IAErC,YAAY,IAAmC,EAAE,OAAuB;QACtE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAA;YACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;QAC1E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACpD,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAChE,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClE,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B,CAAC,CAAC,CAAA;QACH,OAAO,IAAI,mBAAmB,CAC5B;YACE,UAAU,EAAE,iBAAiB;YAC7B,QAAQ;YACR,OAAO,EAAE,cAAc;YACvB,QAAQ;SACT,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAe;IAEf,OAAQ,MAA8B,CAAC,QAAQ,KAAK,qBAAqB,CAAA;AAC3E,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { type ChangeOptions, FeatureChange, type SerializedFeatureChange } from '@apollo-annotation/common';
2
+ import type { AnnotationFeatureSnapshot } from '@apollo-annotation/mst';
3
+ interface SerializedMergeExonsChangeBase extends SerializedFeatureChange {
4
+ typeName: 'MergeExonsChange';
5
+ }
6
+ export interface MergeExonsChangeDetails {
7
+ firstExon: AnnotationFeatureSnapshot;
8
+ secondExon: AnnotationFeatureSnapshot;
9
+ parentFeatureId: string;
10
+ }
11
+ interface SerializedMergeExonsChangeSingle extends SerializedMergeExonsChangeBase, MergeExonsChangeDetails {
12
+ }
13
+ interface SerializedMergeExonsChangeMultiple extends SerializedMergeExonsChangeBase {
14
+ changes: MergeExonsChangeDetails[];
15
+ }
16
+ export type SerializedMergeExonsChange = SerializedMergeExonsChangeSingle | SerializedMergeExonsChangeMultiple;
17
+ interface SerializedUndoMergeExonsChangeBase extends SerializedFeatureChange {
18
+ typeName: 'UndoMergeExonsChange';
19
+ }
20
+ export interface UndoMergeExonsChangeDetails {
21
+ exonsToRestore: AnnotationFeatureSnapshot[];
22
+ parentFeatureId: string;
23
+ }
24
+ interface SerializedUndoMergeExonsChangeSingle extends SerializedUndoMergeExonsChangeBase, UndoMergeExonsChangeDetails {
25
+ }
26
+ interface SerializedUndoMergeExonsChangeMultiple extends SerializedUndoMergeExonsChangeBase {
27
+ changes: UndoMergeExonsChangeDetails[];
28
+ }
29
+ export type SerializedUndoMergeExonsChange = SerializedUndoMergeExonsChangeSingle | SerializedUndoMergeExonsChangeMultiple;
30
+ export declare class MergeExonsChange extends FeatureChange {
31
+ typeName: "MergeExonsChange";
32
+ changes: MergeExonsChangeDetails[];
33
+ constructor(json: SerializedMergeExonsChange, options?: ChangeOptions);
34
+ get notification(): string;
35
+ toJSON(): SerializedMergeExonsChange;
36
+ getInverse(): UndoMergeExonsChange;
37
+ }
38
+ export declare class UndoMergeExonsChange extends FeatureChange {
39
+ typeName: "UndoMergeExonsChange";
40
+ changes: UndoMergeExonsChangeDetails[];
41
+ constructor(json: SerializedUndoMergeExonsChange, options?: ChangeOptions);
42
+ toJSON(): SerializedUndoMergeExonsChange;
43
+ getInverse(): MergeExonsChange;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=MergeAndUndoMergeExonsChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergeAndUndoMergeExonsChanges.d.ts","sourceRoot":"","sources":["../../src/Changes/MergeAndUndoMergeExonsChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAEvE,UAAU,8BAA+B,SAAQ,uBAAuB;IACtE,QAAQ,EAAE,kBAAkB,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,yBAAyB,CAAA;IACpC,UAAU,EAAE,yBAAyB,CAAA;IACrC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,gCACR,SAAQ,8BAA8B,EACpC,uBAAuB;CAAG;AAE9B,UAAU,kCACR,SAAQ,8BAA8B;IACtC,OAAO,EAAE,uBAAuB,EAAE,CAAA;CACnC;AAED,MAAM,MAAM,0BAA0B,GAClC,gCAAgC,GAChC,kCAAkC,CAAA;AAEtC,UAAU,kCAAmC,SAAQ,uBAAuB;IAC1E,QAAQ,EAAE,sBAAsB,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,yBAAyB,EAAE,CAAA;IAC3C,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,oCACR,SAAQ,kCAAkC,EACxC,2BAA2B;CAAG;AAElC,UAAU,sCACR,SAAQ,kCAAkC;IAC1C,OAAO,EAAE,2BAA2B,EAAE,CAAA;CACvC;AAED,MAAM,MAAM,8BAA8B,GACtC,oCAAoC,GACpC,sCAAsC,CAAA;AAE1C,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,QAAQ,qBAA8B;IACtC,OAAO,EAAE,uBAAuB,EAAE,CAAA;gBAEtB,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKrE,IAAI,YAAY,WAEf;IAED,MAAM,IAAI,0BAA0B;IAiBpC,UAAU;CAkDX;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,QAAQ,yBAAkC;IAC1C,OAAO,EAAE,2BAA2B,EAAE,CAAA;gBAE1B,IAAI,EAAE,8BAA8B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKzE,MAAM,IAAI,8BAA8B;IAgBxC,UAAU;CAqBX"}
@@ -0,0 +1,83 @@
1
+ import { FeatureChange, } from '@apollo-annotation/common';
2
+ export class MergeExonsChange extends FeatureChange {
3
+ typeName = 'MergeExonsChange';
4
+ changes;
5
+ constructor(json, options) {
6
+ super(json, options);
7
+ this.changes = 'changes' in json ? json.changes : [json];
8
+ }
9
+ // eslint-disable-next-line @typescript-eslint/class-literal-property-style
10
+ get notification() {
11
+ return 'Exons successfully merged';
12
+ }
13
+ toJSON() {
14
+ const { assembly, changedIds, changes, typeName } = this;
15
+ if (changes.length === 1) {
16
+ const [{ firstExon, secondExon, parentFeatureId }] = changes;
17
+ return {
18
+ typeName,
19
+ changedIds,
20
+ assembly,
21
+ firstExon,
22
+ secondExon,
23
+ parentFeatureId,
24
+ };
25
+ }
26
+ return { typeName, changedIds, assembly, changes };
27
+ }
28
+ getInverse() {
29
+ const { assembly, changedIds, changes, logger } = this;
30
+ const inverseChangedIds = [...changedIds].reverse();
31
+ const inverseChanges = [...changes].reverse().map((mergeExonChange) => ({
32
+ exonsToRestore: [mergeExonChange.firstExon, mergeExonChange.secondExon],
33
+ parentFeatureId: mergeExonChange.parentFeatureId,
34
+ }));
35
+ logger.debug?.(`INVERSE CHANGE '${JSON.stringify(inverseChanges)}'`);
36
+ return new UndoMergeExonsChange({
37
+ changedIds: inverseChangedIds,
38
+ typeName: 'UndoMergeExonsChange',
39
+ changes: inverseChanges,
40
+ assembly,
41
+ }, { logger });
42
+ }
43
+ }
44
+ export class UndoMergeExonsChange extends FeatureChange {
45
+ typeName = 'UndoMergeExonsChange';
46
+ changes;
47
+ constructor(json, options) {
48
+ super(json, options);
49
+ this.changes = 'changes' in json ? json.changes : [json];
50
+ }
51
+ toJSON() {
52
+ const { assembly, changedIds, changes, typeName } = this;
53
+ if (changes.length === 1) {
54
+ const [{ exonsToRestore, parentFeatureId }] = changes;
55
+ return {
56
+ typeName,
57
+ changedIds,
58
+ assembly,
59
+ exonsToRestore,
60
+ parentFeatureId,
61
+ };
62
+ }
63
+ return { typeName, changedIds, assembly, changes };
64
+ }
65
+ getInverse() {
66
+ const { assembly, changedIds, changes, logger } = this;
67
+ const inverseChangedIds = [...changedIds].reverse();
68
+ const inverseChanges = [...changes]
69
+ .reverse()
70
+ .map((undoMergeExonsChange) => ({
71
+ firstExon: undoMergeExonsChange.exonsToRestore[0],
72
+ secondExon: undoMergeExonsChange.exonsToRestore[1],
73
+ parentFeatureId: undoMergeExonsChange.parentFeatureId,
74
+ }));
75
+ return new MergeExonsChange({
76
+ changedIds: inverseChangedIds,
77
+ typeName: 'MergeExonsChange',
78
+ changes: inverseChanges,
79
+ assembly,
80
+ }, { logger });
81
+ }
82
+ }
83
+ //# sourceMappingURL=MergeAndUndoMergeExonsChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergeAndUndoMergeExonsChanges.js","sourceRoot":"","sources":["../../src/Changes/MergeAndUndoMergeExonsChanges.ts"],"names":[],"mappings":"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"}