[ self::UAC_REPO_READ ], self::ROLE_REPORTER => [ self::UAC_REPO_READ, self::UAC_MR_READ ], self::ROLE_DEVELOPER => [ self::UAC_REPO_READ, self::UAC_REPO_PUSH, self::UAC_MR_READ, self::UAC_MR_PUSH, ], self::ROLE_MAINTAINER => [ self::UAC_REPO_READ, self::UAC_REPO_PUSH, self::UAC_REPO_CHANGE_MEMBER, self::UAC_REPO_CHANGE_INFO, self::UAC_MR_READ, self::UAC_MR_PUSH, self::UAC_MR_MERGE, self::UAC_MR_CLOSE, self::UAC_GROUP_CHANGE_MEMBER, self::UAC_GROUP_CREATE_REPO, self::UAC_GROUP_CHANGE_INFO, self::UAC_REPO_BRANCH_CREATE, self::UAC_REPO_BRANCH_REMOVE, self::UAC_REPO_TAG_CREATE, self::UAC_REPO_TAG_REMOVE, self::UAC_REPO_DEFAULT_BRANCH_CHANGE, self::UAC_REPO_PROTECTED_BRANCH_RULE_CREATE, self::UAC_REPO_PROTECTED_BRANCH_RULE_UPDATE, self::UAC_REPO_PROTECTED_BRANCH_RULE_REOMVE, self::UAC_REPO_WEBHOOK_EDIT, self::UAC_REPO_WEBHOOK_REMOVE, ], self::ROLE_OWNER => [ self::UAC_REPO_READ, self::UAC_REPO_PUSH, self::UAC_REPO_REMOVE, self::UAC_REPO_CHANGE_MEMBER, self::UAC_REPO_CHANGE_INFO, self::UAC_REPO_CHANGE_OWNER, self::UAC_REPO_CHANGE_URL, self::UAC_MR_READ, self::UAC_MR_PUSH, self::UAC_MR_MERGE, self::UAC_MR_CLOSE, self::UAC_GROUP_REMOVE, self::UAC_GROUP_CHANGE_MEMBER, self::UAC_GROUP_CREATE_REPO, self::UAC_GROUP_CHANGE_INFO, self::UAC_GROUP_CHANGE_OWNER, self::UAC_GROUP_CHANGE_URL, self::UAC_REPO_BRANCH_CREATE, self::UAC_REPO_BRANCH_REMOVE, self::UAC_REPO_TAG_CREATE, self::UAC_REPO_TAG_REMOVE, self::UAC_REPO_DEFAULT_BRANCH_CHANGE, self::UAC_REPO_PROTECTED_BRANCH_RULE_CREATE, self::UAC_REPO_PROTECTED_BRANCH_RULE_UPDATE, self::UAC_REPO_PROTECTED_BRANCH_RULE_REOMVE, self::UAC_REPO_WEBHOOK_EDIT, self::UAC_REPO_WEBHOOK_REMOVE, ], self::ROLE_NO_BODY => [] // no permission ]; // repo basic action setting const REPO_ACTION_MAPPING = [ '' => self::UAC_REPO_READ, 'git-upload-pack' => self::UAC_REPO_READ, 'git-receive-pack' => self::UAC_REPO_PUSH ]; }