@naturalcycles/abba 2.1.0 → 2.1.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/abba.js +3 -7
- package/dist/dao/bucket.dao.d.ts +1 -0
- package/dist/dao/bucket.dao.js +3 -0
- package/dist/dao/userAssignment.dao.d.ts +1 -0
- package/dist/dao/userAssignment.dao.js +3 -0
- package/package.json +1 -1
- package/src/abba.ts +7 -9
- package/src/dao/bucket.dao.ts +4 -0
- package/src/dao/userAssignment.dao.ts +4 -0
package/dist/abba.js
CHANGED
|
@@ -121,7 +121,7 @@ export class Abba {
|
|
|
121
121
|
await this.experimentDao.saveBatch(requiresUpdating, { saveMethod: 'update' });
|
|
122
122
|
}
|
|
123
123
|
async softDeleteExperiment(experimentId) {
|
|
124
|
-
await this.experimentDao.patchById(experimentId, { deleted: true, exclusions: [] });
|
|
124
|
+
await this.experimentDao.patchById(experimentId, { deleted: true, exclusions: [] }, { saveMethod: 'update' });
|
|
125
125
|
await this.updateExclusions(experimentId, []);
|
|
126
126
|
}
|
|
127
127
|
/**
|
|
@@ -135,12 +135,8 @@ export class Abba {
|
|
|
135
135
|
const hasBeenInactiveFor15Mins = experiment.status === AssignmentStatus.Inactive &&
|
|
136
136
|
localTime(experiment.updated).isOlderThan(15, 'minute');
|
|
137
137
|
_assert(hasBeenInactiveFor15Mins, 'Experiment must be inactive for at least 15 minutes before deletion');
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
.filterEq('experimentId', experimentId);
|
|
141
|
-
await this.userAssignmentDao.deleteByQuery(userAssignmentDeleteQuery, { chunkSize: 50000 });
|
|
142
|
-
const bucketDeleteQuery = this.bucketDao.query().filterEq('experimentId', experimentId);
|
|
143
|
-
await this.bucketDao.deleteByQuery(bucketDeleteQuery);
|
|
138
|
+
await this.userAssignmentDao.deleteByExperimentId(experimentId);
|
|
139
|
+
await this.bucketDao.deleteByExperimentId(experimentId);
|
|
144
140
|
await this.experimentDao.deleteById(experimentId);
|
|
145
141
|
await this.updateExclusions(experimentId, []);
|
|
146
142
|
}
|
package/dist/dao/bucket.dao.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ type BucketDBM = BaseBucket & {
|
|
|
6
6
|
};
|
|
7
7
|
export declare class BucketDao extends CommonDao<Bucket, BucketDBM> {
|
|
8
8
|
getByExperimentId(experimentId: string): Promise<Bucket[]>;
|
|
9
|
+
deleteByExperimentId(experimentId: string): Promise<void>;
|
|
9
10
|
}
|
|
10
11
|
export declare function bucketDao(db: CommonDB): BucketDao;
|
|
11
12
|
export {};
|
package/dist/dao/bucket.dao.js
CHANGED
|
@@ -3,6 +3,9 @@ export class BucketDao extends CommonDao {
|
|
|
3
3
|
async getByExperimentId(experimentId) {
|
|
4
4
|
return await this.query().filterEq('experimentId', experimentId).runQuery();
|
|
5
5
|
}
|
|
6
|
+
async deleteByExperimentId(experimentId) {
|
|
7
|
+
await this.query().filterEq('experimentId', experimentId).deleteByQuery();
|
|
8
|
+
}
|
|
6
9
|
}
|
|
7
10
|
export function bucketDao(db) {
|
|
8
11
|
return new BucketDao({
|
|
@@ -4,6 +4,7 @@ import type { UserAssignment } from '../types.js';
|
|
|
4
4
|
export declare class UserAssignmentDao extends CommonDao<UserAssignment> {
|
|
5
5
|
getUserAssignmentByExperimentId(userId: string, experimentId: string): Promise<UserAssignment | null>;
|
|
6
6
|
getUserAssigmentsByExperimentIds(userId: string, experimentIds: string[]): Promise<UserAssignment[]>;
|
|
7
|
+
deleteByExperimentId(experimentId: string): Promise<void>;
|
|
7
8
|
getCountByExperimentId(experimentId: string): Promise<number>;
|
|
8
9
|
getCountByBucketId(bucketId: string): Promise<number>;
|
|
9
10
|
}
|
|
@@ -9,6 +9,9 @@ export class UserAssignmentDao extends CommonDao {
|
|
|
9
9
|
const query = this.query().filterEq('userId', userId).filterIn('experimentId', experimentIds);
|
|
10
10
|
return await this.runQuery(query);
|
|
11
11
|
}
|
|
12
|
+
async deleteByExperimentId(experimentId) {
|
|
13
|
+
await this.query().filterEq('experimentId', experimentId).deleteByQuery();
|
|
14
|
+
}
|
|
12
15
|
async getCountByExperimentId(experimentId) {
|
|
13
16
|
return await this.query().filterEq('experimentId', experimentId).runQueryCount();
|
|
14
17
|
}
|
package/package.json
CHANGED
package/src/abba.ts
CHANGED
|
@@ -185,7 +185,11 @@ export class Abba {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
async softDeleteExperiment(experimentId: string): Promise<void> {
|
|
188
|
-
await this.experimentDao.patchById(
|
|
188
|
+
await this.experimentDao.patchById(
|
|
189
|
+
experimentId,
|
|
190
|
+
{ deleted: true, exclusions: [] },
|
|
191
|
+
{ saveMethod: 'update' },
|
|
192
|
+
)
|
|
189
193
|
await this.updateExclusions(experimentId, [])
|
|
190
194
|
}
|
|
191
195
|
|
|
@@ -206,14 +210,8 @@ export class Abba {
|
|
|
206
210
|
'Experiment must be inactive for at least 15 minutes before deletion',
|
|
207
211
|
)
|
|
208
212
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
.filterEq('experimentId', experimentId)
|
|
212
|
-
await this.userAssignmentDao.deleteByQuery(userAssignmentDeleteQuery, { chunkSize: 50000 })
|
|
213
|
-
|
|
214
|
-
const bucketDeleteQuery = this.bucketDao.query().filterEq('experimentId', experimentId)
|
|
215
|
-
await this.bucketDao.deleteByQuery(bucketDeleteQuery)
|
|
216
|
-
|
|
213
|
+
await this.userAssignmentDao.deleteByExperimentId(experimentId)
|
|
214
|
+
await this.bucketDao.deleteByExperimentId(experimentId)
|
|
217
215
|
await this.experimentDao.deleteById(experimentId)
|
|
218
216
|
await this.updateExclusions(experimentId, [])
|
|
219
217
|
}
|
package/src/dao/bucket.dao.ts
CHANGED
|
@@ -10,6 +10,10 @@ export class BucketDao extends CommonDao<Bucket, BucketDBM> {
|
|
|
10
10
|
async getByExperimentId(experimentId: string): Promise<Bucket[]> {
|
|
11
11
|
return await this.query().filterEq('experimentId', experimentId).runQuery()
|
|
12
12
|
}
|
|
13
|
+
|
|
14
|
+
async deleteByExperimentId(experimentId: string): Promise<void> {
|
|
15
|
+
await this.query().filterEq('experimentId', experimentId).deleteByQuery()
|
|
16
|
+
}
|
|
13
17
|
}
|
|
14
18
|
|
|
15
19
|
export function bucketDao(db: CommonDB): BucketDao {
|
|
@@ -20,6 +20,10 @@ export class UserAssignmentDao extends CommonDao<UserAssignment> {
|
|
|
20
20
|
return await this.runQuery(query)
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
async deleteByExperimentId(experimentId: string): Promise<void> {
|
|
24
|
+
await this.query().filterEq('experimentId', experimentId).deleteByQuery()
|
|
25
|
+
}
|
|
26
|
+
|
|
23
27
|
async getCountByExperimentId(experimentId: string): Promise<number> {
|
|
24
28
|
return await this.query().filterEq('experimentId', experimentId).runQueryCount()
|
|
25
29
|
}
|