@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.
- package/dist/Changes/{DeleteFeatureChange.d.ts → AddAndDeleteFeatureChanges.d.ts} +26 -11
- package/dist/Changes/AddAndDeleteFeatureChanges.d.ts.map +1 -0
- package/dist/Changes/AddAndDeleteFeatureChanges.js +117 -0
- package/dist/Changes/AddAndDeleteFeatureChanges.js.map +1 -0
- package/dist/Changes/AddAssemblyAliasesChange.d.ts +1 -4
- package/dist/Changes/AddAssemblyAliasesChange.d.ts.map +1 -1
- package/dist/Changes/AddAssemblyAliasesChange.js +0 -27
- package/dist/Changes/AddAssemblyAliasesChange.js.map +1 -1
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts +2 -11
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts.map +1 -1
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js +2 -82
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js.map +1 -1
- package/dist/Changes/AddAssemblyFromExternalChange.d.ts +1 -9
- package/dist/Changes/AddAssemblyFromExternalChange.d.ts.map +1 -1
- package/dist/Changes/AddAssemblyFromExternalChange.js +0 -72
- package/dist/Changes/AddAssemblyFromExternalChange.js.map +1 -1
- package/dist/Changes/AddAssemblyFromFileChange.d.ts +2 -17
- package/dist/Changes/AddAssemblyFromFileChange.d.ts.map +1 -1
- package/dist/Changes/AddAssemblyFromFileChange.js +2 -119
- package/dist/Changes/AddAssemblyFromFileChange.js.map +1 -1
- package/dist/Changes/AddFeaturesFromFileChange.d.ts +2 -11
- package/dist/Changes/AddFeaturesFromFileChange.d.ts.map +1 -1
- package/dist/Changes/AddFeaturesFromFileChange.js +2 -66
- package/dist/Changes/AddFeaturesFromFileChange.js.map +1 -1
- package/dist/Changes/AddRefSeqAliasesChange.d.ts +1 -4
- package/dist/Changes/AddRefSeqAliasesChange.d.ts.map +1 -1
- package/dist/Changes/AddRefSeqAliasesChange.js +0 -34
- package/dist/Changes/AddRefSeqAliasesChange.js.map +1 -1
- package/dist/Changes/DeleteAssemblyChange.d.ts +1 -9
- package/dist/Changes/DeleteAssemblyChange.d.ts.map +1 -1
- package/dist/Changes/DeleteAssemblyChange.js +0 -53
- package/dist/Changes/DeleteAssemblyChange.js.map +1 -1
- package/dist/Changes/DeleteUserChange.d.ts +1 -4
- package/dist/Changes/DeleteUserChange.d.ts.map +1 -1
- package/dist/Changes/DeleteUserChange.js +0 -19
- package/dist/Changes/DeleteUserChange.js.map +1 -1
- package/dist/Changes/FeatureAttributeChange.d.ts +1 -9
- package/dist/Changes/FeatureAttributeChange.d.ts.map +1 -1
- package/dist/Changes/FeatureAttributeChange.js +0 -82
- package/dist/Changes/FeatureAttributeChange.js.map +1 -1
- package/dist/Changes/ImportJBrowseConfigChange.d.ts +1 -4
- package/dist/Changes/ImportJBrowseConfigChange.d.ts.map +1 -1
- package/dist/Changes/ImportJBrowseConfigChange.js +1 -18
- package/dist/Changes/ImportJBrowseConfigChange.js.map +1 -1
- package/dist/Changes/LocationEndChange.d.ts +1 -9
- package/dist/Changes/LocationEndChange.d.ts.map +1 -1
- package/dist/Changes/LocationEndChange.js +0 -90
- package/dist/Changes/LocationEndChange.js.map +1 -1
- package/dist/Changes/LocationStartChange.d.ts +1 -9
- package/dist/Changes/LocationStartChange.d.ts.map +1 -1
- package/dist/Changes/LocationStartChange.js +0 -90
- package/dist/Changes/LocationStartChange.js.map +1 -1
- package/dist/Changes/MergeAndUndoMergeExonsChanges.d.ts +46 -0
- package/dist/Changes/MergeAndUndoMergeExonsChanges.d.ts.map +1 -0
- package/dist/Changes/MergeAndUndoMergeExonsChanges.js +83 -0
- package/dist/Changes/MergeAndUndoMergeExonsChanges.js.map +1 -0
- package/dist/Changes/{MergeTranscriptsChange.d.ts → MergeAndUndoMergeTranscriptsChanges.d.ts} +22 -6
- package/dist/Changes/MergeAndUndoMergeTranscriptsChanges.d.ts.map +1 -0
- package/dist/Changes/{MergeTranscriptsChange.js → MergeAndUndoMergeTranscriptsChanges.js} +40 -50
- package/dist/Changes/MergeAndUndoMergeTranscriptsChanges.js.map +1 -0
- package/dist/Changes/SplitAndUndoSplitExonChanges.d.ts +55 -0
- package/dist/Changes/SplitAndUndoSplitExonChanges.d.ts.map +1 -0
- package/dist/Changes/SplitAndUndoSplitExonChanges.js +115 -0
- package/dist/Changes/SplitAndUndoSplitExonChanges.js.map +1 -0
- package/dist/Changes/StrandChange.d.ts +1 -9
- package/dist/Changes/StrandChange.d.ts.map +1 -1
- package/dist/Changes/StrandChange.js +0 -77
- package/dist/Changes/StrandChange.js.map +1 -1
- package/dist/Changes/TypeChange.d.ts +1 -9
- package/dist/Changes/TypeChange.d.ts.map +1 -1
- package/dist/Changes/TypeChange.js +0 -77
- package/dist/Changes/TypeChange.js.map +1 -1
- package/dist/Changes/UserChange.d.ts +1 -4
- package/dist/Changes/UserChange.d.ts.map +1 -1
- package/dist/Changes/UserChange.js +0 -23
- package/dist/Changes/UserChange.js.map +1 -1
- package/dist/Changes/index.d.ts +29 -22
- package/dist/Changes/index.d.ts.map +1 -1
- package/dist/Changes/index.js +19 -24
- package/dist/Changes/index.js.map +1 -1
- package/dist/Validations/Validation.d.ts +2 -2
- package/dist/Validations/Validation.d.ts.map +1 -1
- package/dist/Validations/Validation.js +1 -1
- package/dist/Validations/Validation.js.map +1 -1
- package/dist/Validations/ValidationSet.d.ts +2 -2
- package/dist/Validations/ValidationSet.d.ts.map +1 -1
- package/dist/Validations/ValidationSet.js +2 -2
- package/dist/Validations/ValidationSet.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -4
- package/src/Changes/{DeleteFeatureChange.ts → AddAndDeleteFeatureChanges.ts} +77 -107
- package/src/Changes/AddAssemblyAliasesChange.ts +0 -35
- package/src/Changes/AddAssemblyAndFeaturesFromFileChange.ts +5 -108
- package/src/Changes/AddAssemblyFromExternalChange.ts +0 -87
- package/src/Changes/AddAssemblyFromFileChange.ts +5 -169
- package/src/Changes/AddFeaturesFromFileChange.ts +5 -86
- package/src/Changes/AddRefSeqAliasesChange.ts +0 -44
- package/src/Changes/DeleteAssemblyChange.ts +0 -72
- package/src/Changes/DeleteUserChange.ts +0 -25
- package/src/Changes/FeatureAttributeChange.ts +0 -104
- package/src/Changes/ImportJBrowseConfigChange.ts +1 -27
- package/src/Changes/LocationEndChange.ts +0 -100
- package/src/Changes/LocationStartChange.ts +0 -100
- package/src/Changes/{MergeExonsChange.ts → MergeAndUndoMergeExonsChanges.ts} +70 -90
- package/src/Changes/{MergeTranscriptsChange.ts → MergeAndUndoMergeTranscriptsChanges.ts} +74 -66
- package/src/Changes/{SplitExonChange.ts → SplitAndUndoSplitExonChanges.ts} +95 -122
- package/src/Changes/StrandChange.ts +0 -94
- package/src/Changes/TypeChange.ts +0 -94
- package/src/Changes/UserChange.ts +0 -30
- package/src/Changes/index.ts +32 -24
- package/src/Validations/Validation.ts +2 -5
- package/src/Validations/ValidationSet.ts +3 -6
- package/src/index.ts +0 -1
- package/dist/Changes/AddFeatureChange.d.ts +0 -37
- package/dist/Changes/AddFeatureChange.d.ts.map +0 -1
- package/dist/Changes/AddFeatureChange.js +0 -169
- package/dist/Changes/AddFeatureChange.js.map +0 -1
- package/dist/Changes/DeleteFeatureChange.d.ts.map +0 -1
- package/dist/Changes/DeleteFeatureChange.js +0 -161
- package/dist/Changes/DeleteFeatureChange.js.map +0 -1
- package/dist/Changes/FromFileBaseChange.d.ts +0 -12
- package/dist/Changes/FromFileBaseChange.d.ts.map +0 -1
- package/dist/Changes/FromFileBaseChange.js +0 -196
- package/dist/Changes/FromFileBaseChange.js.map +0 -1
- package/dist/Changes/MergeExonsChange.d.ts +0 -30
- package/dist/Changes/MergeExonsChange.d.ts.map +0 -1
- package/dist/Changes/MergeExonsChange.js +0 -110
- package/dist/Changes/MergeExonsChange.js.map +0 -1
- package/dist/Changes/MergeTranscriptsChange.d.ts.map +0 -1
- package/dist/Changes/MergeTranscriptsChange.js.map +0 -1
- package/dist/Changes/SplitExonChange.d.ts +0 -34
- package/dist/Changes/SplitExonChange.d.ts.map +0 -1
- package/dist/Changes/SplitExonChange.js +0 -138
- package/dist/Changes/SplitExonChange.js.map +0 -1
- package/dist/Changes/UndoMergeExonsChange.d.ts +0 -28
- package/dist/Changes/UndoMergeExonsChange.d.ts.map +0 -1
- package/dist/Changes/UndoMergeExonsChange.js +0 -100
- package/dist/Changes/UndoMergeExonsChange.js.map +0 -1
- package/dist/Changes/UndoMergeTranscriptsChange.d.ts +0 -28
- package/dist/Changes/UndoMergeTranscriptsChange.d.ts.map +0 -1
- package/dist/Changes/UndoMergeTranscriptsChange.js +0 -100
- package/dist/Changes/UndoMergeTranscriptsChange.js.map +0 -1
- package/dist/Changes/UndoSplitExonChange.d.ts +0 -33
- package/dist/Changes/UndoSplitExonChange.d.ts.map +0 -1
- package/dist/Changes/UndoSplitExonChange.js +0 -107
- package/dist/Changes/UndoSplitExonChange.js.map +0 -1
- package/dist/Operations/GetAssembliesOperation.d.ts +0 -12
- package/dist/Operations/GetAssembliesOperation.d.ts.map +0 -1
- package/dist/Operations/GetAssembliesOperation.js +0 -16
- package/dist/Operations/GetAssembliesOperation.js.map +0 -1
- package/dist/Operations/GetFeaturesOperation.d.ts +0 -27
- package/dist/Operations/GetFeaturesOperation.d.ts.map +0 -1
- package/dist/Operations/GetFeaturesOperation.js +0 -38
- package/dist/Operations/GetFeaturesOperation.js.map +0 -1
- package/dist/Operations/index.d.ts +0 -9
- package/dist/Operations/index.d.ts.map +0 -1
- package/dist/Operations/index.js +0 -6
- package/dist/Operations/index.js.map +0 -1
- package/src/Changes/AddFeatureChange.ts +0 -236
- package/src/Changes/FromFileBaseChange.ts +0 -231
- package/src/Changes/UndoMergeExonsChange.ts +0 -149
- package/src/Changes/UndoMergeTranscriptsChange.ts +0 -153
- package/src/Changes/UndoSplitExonChange.ts +0 -174
- package/src/Operations/GetAssembliesOperation.ts +0 -28
- package/src/Operations/GetFeaturesOperation.ts +0 -58
- package/src/Operations/index.ts +0 -6
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export class AddAssemblyFromFileChange extends FromFileBaseChange {
|
|
1
|
+
import { AssemblySpecificChange, } from '@apollo-annotation/common';
|
|
2
|
+
export class AddAssemblyFromFileChange extends AssemblySpecificChange {
|
|
4
3
|
typeName = 'AddAssemblyFromFileChange';
|
|
5
4
|
changes;
|
|
6
5
|
constructor(json, options) {
|
|
@@ -18,122 +17,6 @@ export class AddAssemblyFromFileChange extends FromFileBaseChange {
|
|
|
18
17
|
}
|
|
19
18
|
return { typeName, assembly, changes };
|
|
20
19
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Applies the required change to database
|
|
23
|
-
* @param backend - parameters from backend
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
async executeOnServer(backend) {
|
|
27
|
-
const { changes } = this;
|
|
28
|
-
for (const change of changes) {
|
|
29
|
-
const { assemblyName, fileIds } = change;
|
|
30
|
-
await ('gzi' in fileIds
|
|
31
|
-
? this.executeOnServerIndexed(backend, assemblyName, fileIds)
|
|
32
|
-
: this.executeOnServerFasta(backend, assemblyName, fileIds.fa));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
async executeOnServerIndexed(backend, assemblyName, fileIds) {
|
|
36
|
-
const { CHUNK_SIZE } = process.env;
|
|
37
|
-
const customChunkSize = CHUNK_SIZE && Number(CHUNK_SIZE);
|
|
38
|
-
const { FILE_UPLOAD_FOLDER } = process.env;
|
|
39
|
-
if (!FILE_UPLOAD_FOLDER) {
|
|
40
|
-
throw new Error('No FILE_UPLOAD_FOLDER found in .env file');
|
|
41
|
-
}
|
|
42
|
-
const { fa: faId, fai: faiId, gzi: gziId } = fileIds;
|
|
43
|
-
const { assemblyModel, checkModel, fileModel, filesService, refSeqModel, user, } = backend;
|
|
44
|
-
const faDoc = await fileModel.findById(faId);
|
|
45
|
-
const faChecksum = faDoc?.checksum;
|
|
46
|
-
if (!faChecksum) {
|
|
47
|
-
throw new Error(`No checksum for file document ${faDoc?.id}`);
|
|
48
|
-
}
|
|
49
|
-
const faiDoc = await fileModel.findById(faiId);
|
|
50
|
-
const faiChecksum = faiDoc?.checksum;
|
|
51
|
-
if (!faiChecksum) {
|
|
52
|
-
throw new Error(`No checksum for file document ${faiDoc?.id}`);
|
|
53
|
-
}
|
|
54
|
-
const gziDoc = await fileModel.findById(gziId);
|
|
55
|
-
const gziChecksum = gziDoc?.checksum;
|
|
56
|
-
if (!gziChecksum) {
|
|
57
|
-
throw new Error(`No checksum for file document ${gziDoc?.id}`);
|
|
58
|
-
}
|
|
59
|
-
const fasta = filesService.getFileHandle(faDoc);
|
|
60
|
-
const fai = filesService.getFileHandle(faiDoc);
|
|
61
|
-
const gzi = filesService.getFileHandle(gziDoc);
|
|
62
|
-
const sequenceAdapter = new BgzipIndexedFasta({ fasta, fai, gzi });
|
|
63
|
-
const allSequenceSizes = await sequenceAdapter.getSequenceSizes();
|
|
64
|
-
await Promise.all([fasta.close(), fai.close(), gzi.close()]);
|
|
65
|
-
const assemblyDoc = await assemblyModel
|
|
66
|
-
.findOne({ name: assemblyName })
|
|
67
|
-
.exec();
|
|
68
|
-
if (assemblyDoc) {
|
|
69
|
-
throw new Error(`Assembly "${assemblyName}" already exists`);
|
|
70
|
-
}
|
|
71
|
-
const checkDocs = await checkModel.find({ isDefault: true }).exec();
|
|
72
|
-
const checks = checkDocs.map((checkDoc) => checkDoc._id.toHexString());
|
|
73
|
-
const [newAssemblyDoc] = await assemblyModel.create([
|
|
74
|
-
{
|
|
75
|
-
_id: this.assembly,
|
|
76
|
-
name: assemblyName,
|
|
77
|
-
user,
|
|
78
|
-
status: -1,
|
|
79
|
-
fileIds,
|
|
80
|
-
checks,
|
|
81
|
-
},
|
|
82
|
-
]);
|
|
83
|
-
this.logger.debug?.(`Added new assembly "${assemblyName}", docId "${newAssemblyDoc._id}"`);
|
|
84
|
-
for (const sequenceName in allSequenceSizes) {
|
|
85
|
-
const [newRefSeqDoc] = await refSeqModel.create([
|
|
86
|
-
{
|
|
87
|
-
name: sequenceName,
|
|
88
|
-
assembly: newAssemblyDoc._id,
|
|
89
|
-
length: allSequenceSizes[sequenceName],
|
|
90
|
-
...(customChunkSize ? { chunkSize: customChunkSize } : null),
|
|
91
|
-
user,
|
|
92
|
-
status: -1,
|
|
93
|
-
},
|
|
94
|
-
]);
|
|
95
|
-
this.logger.debug?.(`Added new refSeq "${sequenceName}", docId "${newRefSeqDoc._id}"`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async executeOnServerFasta(backend, assemblyName, fileId) {
|
|
99
|
-
const { assemblyModel, checkModel, fileModel, user } = backend;
|
|
100
|
-
// Get file checksum
|
|
101
|
-
const fileDoc = await fileModel.findById(fileId).exec();
|
|
102
|
-
if (!fileDoc) {
|
|
103
|
-
throw new Error(`File "${fileId}" not found in Mongo`);
|
|
104
|
-
}
|
|
105
|
-
this.logger.debug?.(`FileId "${fileId}", checksum "${fileDoc.checksum}"`);
|
|
106
|
-
// Check and add new assembly
|
|
107
|
-
const assemblyDoc = await assemblyModel
|
|
108
|
-
.findOne({ name: assemblyName })
|
|
109
|
-
.exec();
|
|
110
|
-
if (assemblyDoc) {
|
|
111
|
-
throw new Error(`Assembly "${assemblyName}" already exists`);
|
|
112
|
-
}
|
|
113
|
-
const checkDocs = await checkModel.find({ default: true }).exec();
|
|
114
|
-
const checks = checkDocs.map((checkDoc) => checkDoc._id.toHexString());
|
|
115
|
-
// Add assembly
|
|
116
|
-
const [newAssemblyDoc] = await assemblyModel.create([
|
|
117
|
-
{
|
|
118
|
-
_id: this.assembly,
|
|
119
|
-
name: assemblyName,
|
|
120
|
-
user,
|
|
121
|
-
status: -1,
|
|
122
|
-
fileIds: { fa: fileId },
|
|
123
|
-
checks,
|
|
124
|
-
},
|
|
125
|
-
]);
|
|
126
|
-
this.logger.debug?.(`Added new assembly "${assemblyName}", docId "${newAssemblyDoc._id}"`);
|
|
127
|
-
this.logger.debug?.(`File type: "${fileDoc.type}", assemblyId: "${newAssemblyDoc._id}"`);
|
|
128
|
-
// Add refSeqs
|
|
129
|
-
// We cannot use Mongo 'session' / transaction here because Mongo has 16 MB limit for transaction
|
|
130
|
-
await this.addRefSeqIntoDb(fileDoc, newAssemblyDoc._id.toString(), backend);
|
|
131
|
-
}
|
|
132
|
-
async executeOnLocalGFF3(_backend) {
|
|
133
|
-
throw new Error('executeOnLocalGFF3 not implemented');
|
|
134
|
-
}
|
|
135
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
136
|
-
async executeOnClient(_dataStore) { }
|
|
137
20
|
getInverse() {
|
|
138
21
|
const { assembly, changes, logger, typeName } = this;
|
|
139
22
|
return new AddAssemblyFromFileChange({ typeName, changes, assembly }, { logger });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddAssemblyFromFileChange.js","sourceRoot":"","sources":["../../src/Changes/AddAssemblyFromFileChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddAssemblyFromFileChange.js","sourceRoot":"","sources":["../../src/Changes/AddAssemblyFromFileChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,2BAA2B,CAAA;AAyBlC,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,GAAG,2BAAoC,CAAA;IAC/C,OAAO,CAAoC;IAE3C,YACE,IAAyC,EACzC,OAAuB;QAEvB,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,IAAI,YAAY;QACd,OAAO,aAAa,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,2DAA2D,CAAA;IAC7G,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAA;YAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAA;QACtD,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACxC,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACpD,OAAO,IAAI,yBAAyB,CAClC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC/B,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { FromFileBaseChange } from './FromFileBaseChange.js';
|
|
1
|
+
import { AssemblySpecificChange, type ChangeOptions, type SerializedAssemblySpecificChange } from '@apollo-annotation/common';
|
|
3
2
|
export interface SerializedAddFeaturesFromFileChangeBase extends SerializedAssemblySpecificChange {
|
|
4
3
|
typeName: 'AddFeaturesFromFileChange';
|
|
5
4
|
deleteExistingFeatures?: boolean;
|
|
@@ -17,21 +16,13 @@ export interface SerializedAddFeaturesFromFileChangeMultiple extends SerializedA
|
|
|
17
16
|
changes: AddFeaturesFromFileChangeDetails[];
|
|
18
17
|
}
|
|
19
18
|
export type SerializedAddFeaturesFromFileChange = SerializedAddFeaturesFromFileChangeSingle | SerializedAddFeaturesFromFileChangeMultiple;
|
|
20
|
-
export declare class AddFeaturesFromFileChange extends
|
|
19
|
+
export declare class AddFeaturesFromFileChange extends AssemblySpecificChange {
|
|
21
20
|
typeName: "AddFeaturesFromFileChange";
|
|
22
21
|
changes: AddFeaturesFromFileChangeDetails[];
|
|
23
22
|
deleteExistingFeatures: boolean;
|
|
24
23
|
constructor(json: SerializedAddFeaturesFromFileChange, options?: ChangeOptions);
|
|
25
24
|
get notification(): string;
|
|
26
25
|
toJSON(): SerializedAddFeaturesFromFileChange;
|
|
27
|
-
/**
|
|
28
|
-
* Applies the required change to database
|
|
29
|
-
* @param backend - parameters from backend
|
|
30
|
-
* @returns
|
|
31
|
-
*/
|
|
32
|
-
executeOnServer(backend: ServerDataStore): Promise<void>;
|
|
33
|
-
executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
|
|
34
|
-
executeOnClient(_dataStore: ClientDataStore): Promise<void>;
|
|
35
26
|
getInverse(): AddFeaturesFromFileChange;
|
|
36
27
|
}
|
|
37
28
|
//# sourceMappingURL=AddFeaturesFromFileChange.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFeaturesFromFileChange.d.ts","sourceRoot":"","sources":["../../src/Changes/AddFeaturesFromFileChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddFeaturesFromFileChange.d.ts","sourceRoot":"","sources":["../../src/Changes/AddFeaturesFromFileChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,uCACf,SAAQ,gCAAgC;IACxC,QAAQ,EAAE,2BAA2B,CAAA;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACzD;AAED,MAAM,WAAW,yCACf,SAAQ,uCAAuC,EAC7C,gCAAgC;CAAG;AAEvC,MAAM,WAAW,2CACf,SAAQ,uCAAuC;IAC/C,OAAO,EAAE,gCAAgC,EAAE,CAAA;CAC5C;AAED,MAAM,MAAM,mCAAmC,GAC3C,yCAAyC,GACzC,2CAA2C,CAAA;AAE/C,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,8BAAuC;IAC/C,OAAO,EAAE,gCAAgC,EAAE,CAAA;IAC3C,sBAAsB,UAAQ;gBAG5B,IAAI,EAAE,mCAAmC,EACzC,OAAO,CAAC,EAAE,aAAa;IAQzB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,IAAI,mCAAmC;IAS7C,UAAU;CAOX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class AddFeaturesFromFileChange extends
|
|
1
|
+
import { AssemblySpecificChange, } from '@apollo-annotation/common';
|
|
2
|
+
export class AddFeaturesFromFileChange extends AssemblySpecificChange {
|
|
3
3
|
typeName = 'AddFeaturesFromFileChange';
|
|
4
4
|
changes;
|
|
5
5
|
deleteExistingFeatures = false;
|
|
@@ -20,70 +20,6 @@ export class AddFeaturesFromFileChange extends FromFileBaseChange {
|
|
|
20
20
|
}
|
|
21
21
|
return { typeName, assembly, changes, deleteExistingFeatures };
|
|
22
22
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Applies the required change to database
|
|
25
|
-
* @param backend - parameters from backend
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
async executeOnServer(backend) {
|
|
29
|
-
const { fileModel, filesService } = backend;
|
|
30
|
-
const { changes, deleteExistingFeatures, logger } = this;
|
|
31
|
-
if (deleteExistingFeatures) {
|
|
32
|
-
await this.removeExistingFeatures(backend);
|
|
33
|
-
}
|
|
34
|
-
for (const change of changes) {
|
|
35
|
-
const { fileId, parseOptions } = change;
|
|
36
|
-
const { FILE_UPLOAD_FOLDER } = process.env;
|
|
37
|
-
if (!FILE_UPLOAD_FOLDER) {
|
|
38
|
-
throw new Error('No FILE_UPLOAD_FOLDER found in .env file');
|
|
39
|
-
}
|
|
40
|
-
// Get file checksum
|
|
41
|
-
const fileDoc = await fileModel.findById(fileId).exec();
|
|
42
|
-
if (!fileDoc) {
|
|
43
|
-
throw new Error(`File "${fileId}" not found in Mongo`);
|
|
44
|
-
}
|
|
45
|
-
logger.debug?.(`FileId "${fileId}", checksum "${fileDoc.checksum}"`);
|
|
46
|
-
let errorCount = 0;
|
|
47
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
48
|
-
const errorLogger = (error) => {
|
|
49
|
-
if (errorCount <= 99) {
|
|
50
|
-
logger.warn('Error parsing or adding feature');
|
|
51
|
-
logger.warn(error);
|
|
52
|
-
if (errorCount === 99) {
|
|
53
|
-
logger.warn('Reached 100 feature errors, omitting further warnings from log');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
errorCount++;
|
|
57
|
-
};
|
|
58
|
-
// Read data from compressed file and parse the content
|
|
59
|
-
const { bufferSize = 10_000, strict = true } = parseOptions ?? {};
|
|
60
|
-
const featureStream = filesService.parseGFF3(filesService.getFileStream(fileDoc), { bufferSize, errorCallback: strict ? undefined : errorLogger });
|
|
61
|
-
let featureCount = 0;
|
|
62
|
-
for await (const gff3Feature of featureStream) {
|
|
63
|
-
// Add new feature into database
|
|
64
|
-
try {
|
|
65
|
-
await this.addFeatureIntoDb(gff3Feature, backend);
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
// if the first feature is an error, assume the file isn't valid and throw
|
|
69
|
-
if (strict || featureCount === 0) {
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
errorLogger(error);
|
|
73
|
-
}
|
|
74
|
-
featureCount++;
|
|
75
|
-
if (featureCount % 1000 === 0) {
|
|
76
|
-
logger.debug?.(`Processed ${featureCount} features`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
logger.debug?.('New features added into database!');
|
|
81
|
-
}
|
|
82
|
-
async executeOnLocalGFF3(_backend) {
|
|
83
|
-
throw new Error('executeOnLocalGFF3 not implemented');
|
|
84
|
-
}
|
|
85
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
86
|
-
async executeOnClient(_dataStore) { }
|
|
87
23
|
getInverse() {
|
|
88
24
|
const { assembly, changes, logger, typeName } = this;
|
|
89
25
|
return new AddFeaturesFromFileChange({ typeName, changes, assembly }, { logger });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFeaturesFromFileChange.js","sourceRoot":"","sources":["../../src/Changes/AddFeaturesFromFileChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddFeaturesFromFileChange.js","sourceRoot":"","sources":["../../src/Changes/AddFeaturesFromFileChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,2BAA2B,CAAA;AA0BlC,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,GAAG,2BAAoC,CAAA;IAC/C,OAAO,CAAoC;IAC3C,sBAAsB,GAAG,KAAK,CAAA;IAE9B,YACE,IAAyC,EACzC,OAAuB;QAEvB,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAA;QAClE,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,2EAA2E;IAC3E,IAAI,YAAY;QACd,OAAO,iEAAiE,CAAA;IAC1E,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAA;YAC5B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAA;QAC/D,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;IAChE,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACpD,OAAO,IAAI,yBAAyB,CAClC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC/B,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssemblySpecificChange, type Change, type ChangeOptions, type
|
|
1
|
+
import { AssemblySpecificChange, type Change, type ChangeOptions, type SerializedAssemblySpecificChange } from '@apollo-annotation/common';
|
|
2
2
|
export interface SerializedRefSeqAliases {
|
|
3
3
|
refName: string;
|
|
4
4
|
aliases: string[];
|
|
@@ -11,11 +11,8 @@ export declare class AddRefSeqAliasesChange extends AssemblySpecificChange {
|
|
|
11
11
|
typeName: "AddRefSeqAliasesChange";
|
|
12
12
|
refSeqAliases: SerializedRefSeqAliases[];
|
|
13
13
|
constructor(json: SerializedRefSeqAliasesChange, options?: ChangeOptions);
|
|
14
|
-
executeOnClient(clientDataStore: ClientDataStore): Promise<void>;
|
|
15
14
|
getInverse(): Change;
|
|
16
15
|
toJSON(): SerializedRefSeqAliasesChange;
|
|
17
|
-
executeOnServer(backend: ServerDataStore): Promise<void>;
|
|
18
|
-
executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<unknown>;
|
|
19
16
|
get notification(): string;
|
|
20
17
|
}
|
|
21
18
|
//# sourceMappingURL=AddRefSeqAliasesChange.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddRefSeqAliasesChange.d.ts","sourceRoot":"","sources":["../../src/Changes/AddRefSeqAliasesChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddRefSeqAliasesChange.d.ts","sourceRoot":"","sources":["../../src/Changes/AddRefSeqAliasesChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,6BACf,SAAQ,gCAAgC;IACxC,QAAQ,EAAE,wBAAwB,CAAA;IAClC,aAAa,EAAE,uBAAuB,EAAE,CAAA;CACzC;AAED,qBAAa,sBAAuB,SAAQ,sBAAsB;IAChE,QAAQ,2BAAoC;IAC5C,aAAa,EAAE,uBAAuB,EAAE,CAAA;gBAE5B,IAAI,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,aAAa;IAKxE,UAAU,IAAI,MAAM;IAIpB,MAAM,IAAI,6BAA6B;IAMvC,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
1
|
import { AssemblySpecificChange, } from '@apollo-annotation/common';
|
|
5
|
-
import { getSession } from '@jbrowse/core/util';
|
|
6
2
|
export class AddRefSeqAliasesChange extends AssemblySpecificChange {
|
|
7
3
|
typeName = 'AddRefSeqAliasesChange';
|
|
8
4
|
refSeqAliases;
|
|
@@ -10,22 +6,6 @@ export class AddRefSeqAliasesChange extends AssemblySpecificChange {
|
|
|
10
6
|
super(json, options);
|
|
11
7
|
this.refSeqAliases = json.refSeqAliases;
|
|
12
8
|
}
|
|
13
|
-
executeOnClient(clientDataStore) {
|
|
14
|
-
const { assemblyManager } = getSession(clientDataStore);
|
|
15
|
-
const assembly = assemblyManager.get(this.assembly);
|
|
16
|
-
if (!assembly) {
|
|
17
|
-
throw new Error(`assembly ${this.assembly} not found`);
|
|
18
|
-
}
|
|
19
|
-
const sessionAliases = assembly.refNameAliases ?? {};
|
|
20
|
-
for (const refSeqAlias of this.refSeqAliases) {
|
|
21
|
-
const { aliases, refName } = refSeqAlias;
|
|
22
|
-
for (const alias of aliases) {
|
|
23
|
-
sessionAliases[alias] = refName;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
assembly.setRefNameAliases(sessionAliases);
|
|
27
|
-
return Promise.resolve();
|
|
28
|
-
}
|
|
29
9
|
getInverse() {
|
|
30
10
|
throw new Error('Method not implemented.');
|
|
31
11
|
}
|
|
@@ -33,20 +13,6 @@ export class AddRefSeqAliasesChange extends AssemblySpecificChange {
|
|
|
33
13
|
const { assembly, refSeqAliases, typeName } = this;
|
|
34
14
|
return { assembly, typeName, refSeqAliases };
|
|
35
15
|
}
|
|
36
|
-
async executeOnServer(backend) {
|
|
37
|
-
const { refSeqModel, session } = backend;
|
|
38
|
-
const { assembly, logger, refSeqAliases } = this;
|
|
39
|
-
for (const refSeqAlias of refSeqAliases) {
|
|
40
|
-
logger.debug?.(`Updating Refname alias for assembly: ${assembly}, refSeqAlias: ${JSON.stringify(refSeqAlias)}`);
|
|
41
|
-
const { aliases, refName } = refSeqAlias;
|
|
42
|
-
await refSeqModel
|
|
43
|
-
.updateOne({ assembly, name: refName }, { $set: { aliases } })
|
|
44
|
-
.session(session);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
executeOnLocalGFF3(_backend) {
|
|
48
|
-
throw new Error('Method not implemented.');
|
|
49
|
-
}
|
|
50
16
|
// eslint-disable-next-line @typescript-eslint/class-literal-property-style
|
|
51
17
|
get notification() {
|
|
52
18
|
return 'RefSeq aliases have been added.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddRefSeqAliasesChange.js","sourceRoot":"","sources":["../../src/Changes/AddRefSeqAliasesChange.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AddRefSeqAliasesChange.js","sourceRoot":"","sources":["../../src/Changes/AddRefSeqAliasesChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,2BAA2B,CAAA;AAalC,MAAM,OAAO,sBAAuB,SAAQ,sBAAsB;IAChE,QAAQ,GAAG,wBAAiC,CAAA;IAC5C,aAAa,CAA2B;IAExC,YAAY,IAAmC,EAAE,OAAuB;QACtE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACzC,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;IAC9C,CAAC;IAED,2EAA2E;IAC3E,IAAI,YAAY;QACd,OAAO,iCAAiC,CAAA;IAC1C,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssemblySpecificChange, type
|
|
1
|
+
import { AssemblySpecificChange, type SerializedAssemblySpecificChange } from '@apollo-annotation/common';
|
|
2
2
|
export interface SerializedDeleteAssemblyChange extends SerializedAssemblySpecificChange {
|
|
3
3
|
typeName: 'DeleteAssemblyChange';
|
|
4
4
|
}
|
|
@@ -6,14 +6,6 @@ export declare class DeleteAssemblyChange extends AssemblySpecificChange {
|
|
|
6
6
|
typeName: "DeleteAssemblyChange";
|
|
7
7
|
get notification(): string;
|
|
8
8
|
toJSON(): SerializedDeleteAssemblyChange;
|
|
9
|
-
/**
|
|
10
|
-
* Applies the required change to database
|
|
11
|
-
* @param backend - parameters from backend
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
executeOnServer(backend: ServerDataStore): Promise<void>;
|
|
15
|
-
executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
|
|
16
|
-
executeOnClient(dataStore: ClientDataStore): Promise<void>;
|
|
17
9
|
getInverse(): DeleteAssemblyChange;
|
|
18
10
|
}
|
|
19
11
|
//# sourceMappingURL=DeleteAssemblyChange.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssemblyChange.d.ts","sourceRoot":"","sources":["../../src/Changes/DeleteAssemblyChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteAssemblyChange.d.ts","sourceRoot":"","sources":["../../src/Changes/DeleteAssemblyChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,8BACf,SAAQ,gCAAgC;IACxC,QAAQ,EAAE,sBAAsB,CAAA;CACjC;AACD,qBAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,QAAQ,yBAAkC;IAE1C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,IAAI,8BAA8B;IAKxC,UAAU;CAOX"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
|
-
/* eslint-disable @typescript-eslint/require-await */
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
6
1
|
import { AssemblySpecificChange, } from '@apollo-annotation/common';
|
|
7
|
-
import { getSession } from '@jbrowse/core/util';
|
|
8
2
|
export class DeleteAssemblyChange extends AssemblySpecificChange {
|
|
9
3
|
typeName = 'DeleteAssemblyChange';
|
|
10
4
|
get notification() {
|
|
@@ -14,53 +8,6 @@ export class DeleteAssemblyChange extends AssemblySpecificChange {
|
|
|
14
8
|
const { assembly, typeName } = this;
|
|
15
9
|
return { typeName, assembly };
|
|
16
10
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Applies the required change to database
|
|
19
|
-
* @param backend - parameters from backend
|
|
20
|
-
* @returns
|
|
21
|
-
*/
|
|
22
|
-
async executeOnServer(backend) {
|
|
23
|
-
const { assemblyModel, featureModel, refSeqChunkModel, refSeqModel, session, } = backend;
|
|
24
|
-
const { assembly, logger } = this;
|
|
25
|
-
const assemblyDoc = await assemblyModel
|
|
26
|
-
.findById(assembly)
|
|
27
|
-
.session(session)
|
|
28
|
-
.exec();
|
|
29
|
-
if (!assemblyDoc) {
|
|
30
|
-
const errMsg = `*** ERROR: Assembly with id "${assembly}" not found`;
|
|
31
|
-
logger.error(errMsg);
|
|
32
|
-
throw new Error(errMsg);
|
|
33
|
-
}
|
|
34
|
-
// We cannot use Mongo 'session' / transaction here because Mongo has 16 MB limit for transaction
|
|
35
|
-
// Get RefSeqs
|
|
36
|
-
const refSeqs = await refSeqModel.find({ assembly }).exec();
|
|
37
|
-
const refSeqIds = refSeqs.map((refSeq) => refSeq._id);
|
|
38
|
-
// Get and delete RefSeqChunks
|
|
39
|
-
await refSeqChunkModel.deleteMany({ refSeq: refSeqIds }).exec();
|
|
40
|
-
// Get and delete Features
|
|
41
|
-
await featureModel.deleteMany({ refSeq: refSeqIds }).exec();
|
|
42
|
-
// Delete RefSeqs and Assembly
|
|
43
|
-
await refSeqModel.deleteMany({ assembly }).exec();
|
|
44
|
-
await assemblyModel.findByIdAndDelete(assembly).exec();
|
|
45
|
-
logger.debug?.(`Assembly "${assembly}" deleted from database.`);
|
|
46
|
-
}
|
|
47
|
-
async executeOnLocalGFF3(_backend) {
|
|
48
|
-
throw new Error('executeOnLocalGFF3 not implemented');
|
|
49
|
-
}
|
|
50
|
-
async executeOnClient(dataStore) {
|
|
51
|
-
const { assembly } = this;
|
|
52
|
-
if (!dataStore) {
|
|
53
|
-
throw new Error('No data store');
|
|
54
|
-
}
|
|
55
|
-
const session = getSession(dataStore);
|
|
56
|
-
// If assemblyId is not present in client data store
|
|
57
|
-
if (dataStore.assemblies.has(assembly)) {
|
|
58
|
-
dataStore.deleteAssembly(assembly);
|
|
59
|
-
}
|
|
60
|
-
await session.removeAssembly?.(assembly);
|
|
61
|
-
// @ts-expect-error this isn't on the AbstractSessionModel
|
|
62
|
-
await session.removeSessionAssembly?.(assembly);
|
|
63
|
-
}
|
|
64
11
|
getInverse() {
|
|
65
12
|
const { assembly, logger } = this;
|
|
66
13
|
return new DeleteAssemblyChange({ typeName: 'DeleteAssemblyChange', assembly }, { logger });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssemblyChange.js","sourceRoot":"","sources":["../../src/Changes/DeleteAssemblyChange.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DeleteAssemblyChange.js","sourceRoot":"","sources":["../../src/Changes/DeleteAssemblyChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAEvB,MAAM,2BAA2B,CAAA;AAMlC,MAAM,OAAO,oBAAqB,SAAQ,sBAAsB;IAC9D,QAAQ,GAAG,sBAA+B,CAAA;IAE1C,IAAI,YAAY;QACd,OAAO,aAAa,IAAI,CAAC,QAAQ,yBAAyB,CAAA;IAC5D,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACnC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAC/B,CAAC;IAED,UAAU;QACR,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACjC,OAAO,IAAI,oBAAoB,CAC7B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,EAC9C,EAAE,MAAM,EAAE,CACX,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Change, type ChangeOptions, type
|
|
1
|
+
import { Change, type ChangeOptions, type SerializedChange } from '@apollo-annotation/common';
|
|
2
2
|
export interface SerializedDeleteUserChangeBase extends SerializedChange {
|
|
3
3
|
typeName: 'DeleteUserChange';
|
|
4
4
|
userId: string;
|
|
@@ -17,9 +17,6 @@ export declare class DeleteUserChange extends Change {
|
|
|
17
17
|
userId: string;
|
|
18
18
|
constructor(json: SerializedDeleteUserChange, options?: ChangeOptions);
|
|
19
19
|
toJSON(): SerializedDeleteUserChange;
|
|
20
|
-
executeOnServer(backend: ServerDataStore): Promise<void>;
|
|
21
|
-
executeOnLocalGFF3(_backend: LocalGFF3DataStore): Promise<void>;
|
|
22
|
-
executeOnClient(_dataStore: ClientDataStore): Promise<void>;
|
|
23
20
|
getInverse(): DeleteUserChange;
|
|
24
21
|
}
|
|
25
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteUserChange.d.ts","sourceRoot":"","sources":["../../src/Changes/DeleteUserChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteUserChange.d.ts","sourceRoot":"","sources":["../../src/Changes/DeleteUserChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB;IACtE,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,uBAAuB;CAAG;AAE3C,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,qBAAa,gBAAiB,SAAQ,MAAM;IAC1C,QAAQ,qBAA8B;IACtC,OAAO,EAAE,uBAAuB,EAAE,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;gBAEF,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE,aAAa;IAMrE,MAAM,IAAI,0BAA0B;IAKpC,UAAU;CAcX"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/require-await */
|
|
2
1
|
import { Change, } from '@apollo-annotation/common';
|
|
3
2
|
export class DeleteUserChange extends Change {
|
|
4
3
|
typeName = 'DeleteUserChange';
|
|
@@ -13,24 +12,6 @@ export class DeleteUserChange extends Change {
|
|
|
13
12
|
const { typeName, userId } = this;
|
|
14
13
|
return { typeName, userId };
|
|
15
14
|
}
|
|
16
|
-
async executeOnServer(backend) {
|
|
17
|
-
const { session, userModel } = backend;
|
|
18
|
-
const { logger, userId } = this;
|
|
19
|
-
const user = await userModel
|
|
20
|
-
.findOneAndDelete({ _id: userId })
|
|
21
|
-
.session(session)
|
|
22
|
-
.exec();
|
|
23
|
-
if (!user) {
|
|
24
|
-
const errMsg = `*** ERROR: User with id "${userId}" not found`;
|
|
25
|
-
logger.error(errMsg);
|
|
26
|
-
throw new Error(errMsg);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
async executeOnLocalGFF3(_backend) {
|
|
30
|
-
throw new Error('executeOnLocalGFF3 not implemented');
|
|
31
|
-
}
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
33
|
-
async executeOnClient(_dataStore) { }
|
|
34
15
|
getInverse() {
|
|
35
16
|
const { logger, typeName, userId } = this;
|
|
36
17
|
return new DeleteUserChange({ typeName, userId }, { logger });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteUserChange.js","sourceRoot":"","sources":["../../src/Changes/DeleteUserChange.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DeleteUserChange.js","sourceRoot":"","sources":["../../src/Changes/DeleteUserChange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,GAGP,MAAM,2BAA2B,CAAA;AAuBlC,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAC1C,QAAQ,GAAG,kBAA2B,CAAA;IACtC,OAAO,CAA2B;IAClC,MAAM,CAAQ;IAEd,YAAY,IAAgC,EAAE,OAAuB;QACnE,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;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAC7B,CAAC;IAED,UAAU;QACR,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACzC,OAAO,IAAI,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,gEAAgE;QAChE,wCAAwC;QACxC,eAAe;QACf,iBAAiB;QACjB,oCAAoC;QACpC,4CAA4C;QAC5C,UAAU;QACV,8EAA8E;QAC9E,kCAAkC;QAClC,IAAI;IACN,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ChangeOptions,
|
|
1
|
+
import { type ChangeOptions, FeatureChange, type SerializedFeatureChange } from '@apollo-annotation/common';
|
|
2
2
|
interface SerializedFeatureAttributeChangeBase extends SerializedFeatureChange {
|
|
3
3
|
typeName: 'FeatureAttributeChange';
|
|
4
4
|
}
|
|
@@ -18,14 +18,6 @@ export declare class FeatureAttributeChange extends FeatureChange {
|
|
|
18
18
|
changes: FeatureAttributeChangeDetails[];
|
|
19
19
|
constructor(json: SerializedFeatureAttributeChange, options?: ChangeOptions);
|
|
20
20
|
toJSON(): SerializedFeatureAttributeChange;
|
|
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(): FeatureAttributeChange;
|
|
30
22
|
}
|
|
31
23
|
export declare function isFeatureAttributeChange(change: unknown): change is FeatureAttributeChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureAttributeChange.d.ts","sourceRoot":"","sources":["../../src/Changes/FeatureAttributeChange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeatureAttributeChange.d.ts","sourceRoot":"","sources":["../../src/Changes/FeatureAttributeChange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAA;AAElC,UAAU,oCAAqC,SAAQ,uBAAuB;IAC5E,QAAQ,EAAE,wBAAwB,CAAA;CACnC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACxC;AAED,UAAU,sCACR,SAAQ,oCAAoC,EAC1C,6BAA6B;CAAG;AAEpC,UAAU,wCACR,SAAQ,oCAAoC;IAC5C,OAAO,EAAE,6BAA6B,EAAE,CAAA;CACzC;AAED,MAAM,MAAM,gCAAgC,GACxC,sCAAsC,GACtC,wCAAwC,CAAA;AAE5C,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,QAAQ,2BAAoC;IAC5C,OAAO,EAAE,6BAA6B,EAAE,CAAA;gBAE5B,IAAI,EAAE,gCAAgC,EAAE,OAAO,CAAC,EAAE,aAAa;IAK3E,MAAM,IAAI,gCAAgC;IAgB1C,UAAU;CAkBX;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,sBAAsB,CAIlC"}
|