Skip to content

Commit 9cf3e8e

Browse files
authored
Merge pull request #48 from udzuki/fix-47-eppn-unique-constraint-error
fix: 重複するalternatenameのePPN登録処理で一意性制約に違反
2 parents 424d7f4 + 221a366 commit 9cf3e8e

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

xapi_stmt_gen/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM node:12.22.0
22

3-
LABEL version="2.9.1"
3+
LABEL version="2.9.2"
44

55
WORKDIR /usr/local/src
66
RUN mkdir xapi_stmt_gen

xapi_stmt_gen/xapi_stmt_gen/generator.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3723,7 +3723,7 @@ module.exports = async function main() { // eslint-disable-line max-statements
37233723
// if authenticated using GakuNinLMS's LTI plugin
37243724
const username = (
37253725
(user.auth === 'lti' && config.LRS.ePPNScoped)
3726-
? user.alternatename
3726+
? user.alternatename // Can be null and not unique
37273727
: user.username
37283728
);
37293729
const eppn = eppns.find((eppn) => {
@@ -3742,7 +3742,8 @@ module.exports = async function main() { // eslint-disable-line max-statements
37423742
scope: scope, // nullable
37433743
acl: scope ? scope.replace(/[.-]/g, '_') : null // used for RLS
37443744
};
3745-
if (scope) {
3745+
// Exclude duplicates
3746+
if (scope && !newEppns.find(e => e.username === username)) {
37463747
newEppns.push(userAttrs[user.id]);
37473748
}
37483749
}

0 commit comments

Comments
 (0)