Skip to content

Commit 58ae9f5

Browse files
committed
fix: remove p limit
1 parent 0ec4cfd commit 58ae9f5

1 file changed

Lines changed: 37 additions & 42 deletions

File tree

apps/api/src/instrument-records/instrument-records.service.ts

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import type {
1515
import { Prisma } from '@prisma/client';
1616
import type { Session } from '@prisma/client';
1717
import { isNumber, pickBy } from 'lodash-es';
18-
import pLimit from 'p-limit';
1918

2019
import type { EntityOperationOptions } from '@/core/types';
2120
import { GroupsService } from '@/groups/groups.service';
@@ -276,51 +275,47 @@ export class InstrumentRecordsService {
276275

277276
const createdSessionsArray: Session[] = [];
278277

279-
const transactionLimit = pLimit(10);
280278
try {
281279
const preProcessedRecords = await Promise.all(
282-
records.map((record) =>
283-
transactionLimit(async () => {
284-
const { data: rawData, date, subjectId } = record;
285-
286-
// Validate data
287-
const parseResult = instrument.validationSchema.safeParse(this.parseJson(rawData));
288-
if (!parseResult.success) {
289-
console.error(parseResult.error.issues);
290-
throw new UnprocessableEntityException(
291-
`Data received for record does not pass validation schema of instrument '${instrument.id}'`
292-
);
293-
}
280+
records.map(async (record) => {
281+
const { data: rawData, date, subjectId } = record;
282+
283+
// Validate data
284+
const parseResult = instrument.validationSchema.safeParse(this.parseJson(rawData));
285+
if (!parseResult.success) {
286+
console.error(parseResult.error.issues);
287+
throw new UnprocessableEntityException(
288+
`Data received for record does not pass validation schema of instrument '${instrument.id}'`
289+
);
290+
}
294291

295-
// Ensure subject exists
296-
await this.createSubjectIfNotFound(subjectId);
297-
298-
const session = await this.sessionsService.create({
299-
date: date,
300-
groupId: groupId ?? null,
301-
subjectData: { id: subjectId },
302-
type: 'RETROSPECTIVE'
303-
});
304-
305-
createdSessionsArray.push(session);
306-
307-
const computedMeasures = instrument.measures
308-
? this.instrumentMeasuresService.computeMeasures(instrument.measures, parseResult.data)
309-
: null;
310-
311-
return {
312-
computedMeasures,
313-
data: this.serializeData(parseResult.data),
314-
date,
315-
groupId,
316-
instrumentId,
317-
sessionId: session.id,
318-
subjectId
319-
};
320-
})
321-
)
292+
// Ensure subject exists
293+
await this.createSubjectIfNotFound(subjectId);
294+
295+
const session = await this.sessionsService.create({
296+
date: date,
297+
groupId: groupId ?? null,
298+
subjectData: { id: subjectId },
299+
type: 'RETROSPECTIVE'
300+
});
301+
302+
createdSessionsArray.push(session);
303+
304+
const computedMeasures = instrument.measures
305+
? this.instrumentMeasuresService.computeMeasures(instrument.measures, parseResult.data)
306+
: null;
307+
308+
return {
309+
computedMeasures,
310+
data: this.serializeData(parseResult.data),
311+
date,
312+
groupId,
313+
instrumentId,
314+
sessionId: session.id,
315+
subjectId
316+
};
317+
})
322318
);
323-
324319
await this.instrumentRecordModel.createMany({
325320
data: preProcessedRecords
326321
});

0 commit comments

Comments
 (0)