diff --git a/packages/wekan-oidc/oidc_server.js b/packages/wekan-oidc/oidc_server.js index ea8e0ba82..09398b625 100644 --- a/packages/wekan-oidc/oidc_server.js +++ b/packages/wekan-oidc/oidc_server.js @@ -312,19 +312,23 @@ Meteor.methods({ check(info, Object); check(oidcUserId, String); - const defaultBoardId = process.env.DEFAULT_BOARD_ID || false; + const defaultBoardParams = (process.env.DEFAULT_BOARD_ID || '').split(':'); + const defaultBoardId = defaultBoardParams.pop() + if (!defaultBoardId) return - if (defaultBoardId) - { - const board = Boards.findOne(defaultBoardId) - const user = Users.findOne({ 'services.oidc.id': oidcUserId }) - const memberIndex = _.pluck(board.members, 'userId').indexOf(user._id); + const board = Boards.findOne(defaultBoardId) + const user = Users.findOne({ 'services.oidc.id': oidcUserId }) + const memberIndex = _.pluck(board.members, 'userId').indexOf(user._id); + if(!board || memberIndex > -1) return - if(board && memberIndex < 0) - { - board.addMember(user._id) - } - } + board.addMember(user._id) + board.setMemberPermission( + user._id, + defaultBoardParams.contains("isAdmin"), + defaultBoardParams.contains("isNoComments"), + defaultBoardParams.contains("isCommentsOnly"), + defaultBoardParams.contains("isWorker") + ) } });