Skip to content

Commit ddf6997

Browse files
committed
Move generateVariablesForScope to functions.
1 parent aaadc9f commit ddf6997

File tree

9 files changed

+756
-343
lines changed

9 files changed

+756
-343
lines changed

functions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"node": "22"
1919
},
2020
"config": {
21-
"firestore_tests": "src/log.utils.test.ts src/dl_api/experiments.dl_api.integration.test.ts"
21+
"firestore_tests": "src/log.utils.test.ts src/dl_api/experiments.dl_api.integration.test.ts src/variables.utils.test.ts"
2222
},
2323
"main": "lib/index.js",
2424
"dependencies": {

functions/src/balanced_assignment.utils.ts

Lines changed: 0 additions & 239 deletions
This file was deleted.

functions/src/cohort.utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import {
44
MediatorProfileExtended,
55
StageConfig,
66
createPublicDataFromStageConfigs,
7-
generateVariablesForScope,
87
VariableScope,
98
} from '@deliberation-lab/utils';
9+
import {generateVariablesForScope} from './variables.utils';
1010
import {createMediatorsForCohort} from './mediator.utils';
1111
import {app} from './app';
1212

@@ -67,7 +67,7 @@ export async function createCohortInternal(
6767
}
6868

6969
// Add variable values at the cohort level
70-
cohortConfig.variableMap = generateVariablesForScope(
70+
cohortConfig.variableMap = await generateVariablesForScope(
7171
experiment.variableConfigs ?? [],
7272
{scope: VariableScope.COHORT, experimentId, cohortId: cohortConfig.id},
7373
);

functions/src/experiment.endpoints.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import {
1313
StageConfig,
1414
createExperimentConfig,
1515
createExperimentTemplate,
16-
generateVariablesForScope,
1716
VariableScope,
1817
} from '@deliberation-lab/utils';
18+
import {generateVariablesForScope} from './variables.utils';
1919
import {getExperimentDownload} from './data';
2020

2121
import {onCall, HttpsError} from 'firebase-functions/v2/https';
@@ -71,7 +71,7 @@ export const writeExperiment = onCall(async (request) => {
7171
}
7272

7373
// Add variable values at the experiment level
74-
experimentConfig.variableMap = generateVariablesForScope(
74+
experimentConfig.variableMap = await generateVariablesForScope(
7575
experimentConfig.variableConfigs ?? [],
7676
{scope: VariableScope.EXPERIMENT, experimentId: experimentConfig.id},
7777
);

functions/src/participant.endpoints.ts

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515
StageConfig,
1616
TransferStageConfig,
1717
createParticipantProfileExtended,
18-
generateVariablesForScope,
1918
setProfile,
2019
VariableScope,
2120
} from '@deliberation-lab/utils';
@@ -24,7 +23,7 @@ import {
2423
updateParticipantNextStage,
2524
handleAutomaticTransfer,
2625
} from './participant.utils';
27-
import {generateBalancedAssignmentVariables} from './balanced_assignment.utils';
26+
import {generateVariablesForScope} from './variables.utils';
2827

2928
import {onCall, HttpsError} from 'firebase-functions/v2/https';
3029

@@ -130,8 +129,7 @@ export const createParticipant = onCall(async (request) => {
130129
participantConfig.currentStageId = experiment.stageIds[0];
131130

132131
// Add variable values at the participant level
133-
// First, generate standard participant-scoped variables (static, random permutation)
134-
participantConfig.variableMap = generateVariablesForScope(
132+
participantConfig.variableMap = await generateVariablesForScope(
135133
experiment.variableConfigs ?? [],
136134
{
137135
scope: VariableScope.PARTICIPANT,
@@ -141,21 +139,6 @@ export const createParticipant = onCall(async (request) => {
141139
},
142140
);
143141

144-
// Then, generate balanced assignment variables (requires database queries)
145-
const balancedAssignmentVariables =
146-
await generateBalancedAssignmentVariables(
147-
experiment.variableConfigs ?? [],
148-
data.experimentId,
149-
data.cohortId,
150-
participantConfig.privateId,
151-
);
152-
153-
// Merge balanced assignment variables into the participant's variable map
154-
participantConfig.variableMap = {
155-
...participantConfig.variableMap,
156-
...balancedAssignmentVariables,
157-
};
158-
159142
// Write new participant document
160143
transaction.set(document, participantConfig);
161144
});

0 commit comments

Comments
 (0)