Skip to content

Commit 2e0d576

Browse files
committed
Fix and refactor updater to prevent bugs with enrolment and responsibility upserts
1 parent bd4464e commit 2e0d576

File tree

4 files changed

+7
-15
lines changed

4 files changed

+7
-15
lines changed

src/server/updater/enrolments.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@ const enrolmentsHandler = async (enrolments: SisuEnrolment[]) => {
4141
ignoreDuplicates: true,
4242
},
4343
fallbackCreateOptions: {
44-
conflictFields: ['user_id', 'chat_instanceId'],
44+
conflictFields: ['user_id', 'chat_instance_id'],
4545
fields: ['user_id', 'chat_instance_id'],
46-
returning: false,
47-
}
46+
},
4847
})
4948
}
5049

src/server/updater/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { fetchUsers } from './users'
66
import { clearOffsets } from './util'
77

88
const runUpdater = async () => {
9-
// await fetchUsers()
9+
await fetchUsers()
1010
await fetchCoursesAndResponsibilities()
1111
await fetchEnrolments()
1212
}

src/server/updater/responsibilities.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@ export const upsertResponsibilities = async (
8585
fallbackCreateOptions: {
8686
conflictFields: ['user_id', 'chat_instance_id'],
8787
fields: ['user_id', 'chat_instance_id'],
88-
returning: false,
89-
}
88+
},
9089
})
9190

9291
await t.commit()

src/server/updater/util.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ type AllowedBulkCreateOptionField =
1515
| 'conflictAttributes'
1616
| 'updateOnDuplicate'
1717
| 'ignoreDuplicates'
18-
type AllowedFallbackCreateOptionField =
19-
| 'fields'
20-
| 'conflictFields'
18+
type AllowedFallbackCreateOptionField = 'fields' | 'conflictFields'
2119

2220
interface BulkCreateOptions {
2321
entityName: string
@@ -36,9 +34,7 @@ export const safeBulkCreate = async ({
3634
entities,
3735
}: BulkCreateOptions) => {
3836
try {
39-
const result = await bulkCreate(entities, {
40-
...bulkCreateOptions,
41-
})
37+
const result = await bulkCreate(entities, bulkCreateOptions)
4238
return result
4339
} catch (bulkCreateError: any) {
4440
const result = []
@@ -50,9 +46,7 @@ export const safeBulkCreate = async ({
5046
for (const entity of entities) {
5147
try {
5248
// eslint-disable-next-line no-await-in-loop
53-
const res = await fallbackCreate(entity, {
54-
...fallbackCreateOptions,
55-
})
49+
const res = await fallbackCreate(entity, fallbackCreateOptions)
5650
result.push(res)
5751
} catch (fallbackCreateError: any) {
5852
logError(

0 commit comments

Comments
 (0)