@naturalcycles/abba 1.18.1 → 1.18.3
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 +9 -1
- package/dist/migrations/init.sql +3 -3
- package/package.json +1 -1
- package/src/abba.ts +14 -3
- package/src/migrations/init.sql +3 -3
package/dist/abba.js
CHANGED
|
@@ -63,7 +63,9 @@ class Abba {
|
|
|
63
63
|
(0, util_1.validateTotalBucketRatio)(buckets);
|
|
64
64
|
}
|
|
65
65
|
const updatedExperiment = await this.experimentDao.save(experiment, { saveMethod: 'update' });
|
|
66
|
-
const updatedBuckets = await
|
|
66
|
+
const updatedBuckets = await (0, js_lib_1.pMap)(buckets, async (bucket) => {
|
|
67
|
+
return await this.bucketDao.save({ ...bucket, experimentId: updatedExperiment.id }, { saveMethod: bucket.id ? 'update' : undefined });
|
|
68
|
+
});
|
|
67
69
|
await this.updateExclusions(updatedExperiment.id, updatedExperiment.exclusions);
|
|
68
70
|
return {
|
|
69
71
|
...updatedExperiment,
|
|
@@ -97,6 +99,12 @@ class Abba {
|
|
|
97
99
|
* Cold method.
|
|
98
100
|
*/
|
|
99
101
|
async deleteExperiment(experimentId) {
|
|
102
|
+
const userAssignmentDeleteQuery = this.userAssignmentDao
|
|
103
|
+
.query()
|
|
104
|
+
.filterEq('experimentId', experimentId);
|
|
105
|
+
await this.userAssignmentDao.deleteByQuery(userAssignmentDeleteQuery);
|
|
106
|
+
const bucketDeleteQuery = this.bucketDao.query().filterEq('experimentId', experimentId);
|
|
107
|
+
await this.bucketDao.deleteByQuery(bucketDeleteQuery);
|
|
100
108
|
await this.experimentDao.deleteById(experimentId);
|
|
101
109
|
await this.updateExclusions(experimentId, []);
|
|
102
110
|
}
|
package/dist/migrations/init.sql
CHANGED
|
@@ -42,10 +42,10 @@ CREATE TABLE IF NOT EXISTS `UserAssignment` (
|
|
|
42
42
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
43
43
|
|
|
44
44
|
-- AddForeignKey
|
|
45
|
-
ALTER TABLE `Bucket` ADD CONSTRAINT `Bucket_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`)
|
|
45
|
+
ALTER TABLE `Bucket` ADD CONSTRAINT `Bucket_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`);
|
|
46
46
|
|
|
47
47
|
-- AddForeignKey
|
|
48
|
-
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_bucketId_fkey` FOREIGN KEY (`bucketId`) REFERENCES `Bucket`(`id`)
|
|
48
|
+
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_bucketId_fkey` FOREIGN KEY (`bucketId`) REFERENCES `Bucket`(`id`);
|
|
49
49
|
|
|
50
50
|
-- AddForeignKey
|
|
51
|
-
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`)
|
|
51
|
+
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`);
|
package/package.json
CHANGED
package/src/abba.ts
CHANGED
|
@@ -91,9 +91,12 @@ export class Abba {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
const updatedExperiment = await this.experimentDao.save(experiment, { saveMethod: 'update' })
|
|
94
|
-
const updatedBuckets = await
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
const updatedBuckets = await pMap(buckets, async bucket => {
|
|
95
|
+
return await this.bucketDao.save(
|
|
96
|
+
{ ...bucket, experimentId: updatedExperiment.id },
|
|
97
|
+
{ saveMethod: bucket.id ? 'update' : undefined },
|
|
98
|
+
)
|
|
99
|
+
})
|
|
97
100
|
|
|
98
101
|
await this.updateExclusions(updatedExperiment.id, updatedExperiment.exclusions)
|
|
99
102
|
|
|
@@ -138,6 +141,14 @@ export class Abba {
|
|
|
138
141
|
* Cold method.
|
|
139
142
|
*/
|
|
140
143
|
async deleteExperiment(experimentId: string): Promise<void> {
|
|
144
|
+
const userAssignmentDeleteQuery = this.userAssignmentDao
|
|
145
|
+
.query()
|
|
146
|
+
.filterEq('experimentId', experimentId)
|
|
147
|
+
await this.userAssignmentDao.deleteByQuery(userAssignmentDeleteQuery)
|
|
148
|
+
|
|
149
|
+
const bucketDeleteQuery = this.bucketDao.query().filterEq('experimentId', experimentId)
|
|
150
|
+
await this.bucketDao.deleteByQuery(bucketDeleteQuery)
|
|
151
|
+
|
|
141
152
|
await this.experimentDao.deleteById(experimentId)
|
|
142
153
|
await this.updateExclusions(experimentId, [])
|
|
143
154
|
}
|
package/src/migrations/init.sql
CHANGED
|
@@ -42,10 +42,10 @@ CREATE TABLE IF NOT EXISTS `UserAssignment` (
|
|
|
42
42
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
43
43
|
|
|
44
44
|
-- AddForeignKey
|
|
45
|
-
ALTER TABLE `Bucket` ADD CONSTRAINT `Bucket_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`)
|
|
45
|
+
ALTER TABLE `Bucket` ADD CONSTRAINT `Bucket_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`);
|
|
46
46
|
|
|
47
47
|
-- AddForeignKey
|
|
48
|
-
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_bucketId_fkey` FOREIGN KEY (`bucketId`) REFERENCES `Bucket`(`id`)
|
|
48
|
+
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_bucketId_fkey` FOREIGN KEY (`bucketId`) REFERENCES `Bucket`(`id`);
|
|
49
49
|
|
|
50
50
|
-- AddForeignKey
|
|
51
|
-
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`)
|
|
51
|
+
ALTER TABLE `UserAssignment` ADD CONSTRAINT `UserAssignment_experimentId_fkey` FOREIGN KEY (`experimentId`) REFERENCES `Experiment`(`id`);
|