Skip to content

Commit

Permalink
Merge branch 'main' into BC-7995-node-22
Browse files Browse the repository at this point in the history
  • Loading branch information
dyedwiper authored Nov 8, 2024
2 parents f4592e7 + 133f4c4 commit dd4a666
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 5 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,17 @@ jobs:
security-events: write
steps:
- name: run trivy vulnerability scanner
uses: aquasecurity/trivy-action@1f6384b6ceecbbc6673526f865b818a2a06b07c9
uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2
with:
image-ref: 'ghcr.io/${{ github.repository }}-default:${{ needs.branch_meta.outputs.sha }}'
format: 'sarif'
output: 'trivy-results.sarif'
severity: 'CRITICAL,HIGH'
ignore-unfixed: true
scan-type: 'image'
env:
TRIVY_SKIP_DB_UPDATE: true
TRIVY_SKIP_JAVA_DB_UPDATE: true
- name: upload trivy results
if: ${{ always() }}
uses: github/codeql-action/upload-sarif@v3
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/trivy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Note: This workflow only updates the cache. You should create a separate workflow for your actual Trivy scans.
# In your scan workflow, set TRIVY_SKIP_DB_UPDATE=true and TRIVY_SKIP_JAVA_DB_UPDATE=true.
name: Update Trivy Cache

on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
workflow_dispatch: # Allow manual triggering

jobs:
update-trivy-db:
runs-on: ubuntu-latest
steps:
- name: Setup oras
uses: oras-project/setup-oras@v1

- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

- name: Download and extract the vulnerability DB
run: |
mkdir -p $GITHUB_WORKSPACE/.cache/trivy/db
oras pull ghcr.io/aquasecurity/trivy-db:2
tar -xzf db.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/db
rm db.tar.gz
- name: Download and extract the Java DB
run: |
mkdir -p $GITHUB_WORKSPACE/.cache/trivy/java-db
oras pull ghcr.io/aquasecurity/trivy-java-db:1
tar -xzf javadb.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/java-db
rm javadb.tar.gz
- name: Cache DBs
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.cache/trivy
key: cache-trivy-${{ steps.date.outputs.date }}
18 changes: 14 additions & 4 deletions controllers/courses.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ const getSyncedElements = (
startDate,
untilDate,
syncedWithGroup,
excludeFromSync: course.excludeFromSync?.join(','),
};

return selectedElements;
};

Expand Down Expand Up @@ -305,7 +305,17 @@ const editCourseHandler = (req, res, next) => {

if (syncedGroupId && group) {
course.name = group.name;
course.teacherIds = getUserIdsByRole(group.users, 'teacher');

const teacherIds = getUserIdsByRole(group.users, 'teacher');
const isTeacherInGroup = teacherIds.some((tid) => tid === res.locals.currentUser._id);
const isTeacher = res.locals.currentUser.roles.map((role) => role.name).includes('teacher');
if (!isTeacherInGroup && isTeacher) {
course.excludeFromSync = ['teachers'];
course.teacherIds = [res.locals.currentUser._id];
} else {
course.teacherIds = teacherIds;
}

course.userIds = getUserIdsByRole(group.users, 'student');

if (group.validPeriod) {
Expand Down Expand Up @@ -578,7 +588,7 @@ router.post('/', (req, res, next) => {
req.body.untilDate = untilDate.toDate();
}

const keys = ['teacherIds', 'substitutionIds', 'classIds', 'userIds'];
const keys = ['teacherIds', 'substitutionIds', 'classIds', 'userIds', 'excludeFromSync'];
req.body = strToPropsArray(req.body, keys);

req.body.features = [];
Expand Down Expand Up @@ -843,7 +853,7 @@ router.patch('/:courseId', async (req, res, next) => {
req.body.substitutionIds = [];
}

const keys = ['teacherIds', 'substitutionIds', 'classIds', 'userIds'];
const keys = ['teacherIds', 'substitutionIds', 'classIds', 'userIds', 'excludeFromSync'];
req.body = strToPropsArray(req.body, keys);

const startDate = timesHelper.dateTimeStringToMoment(req.body.startDate).utc();
Expand Down
4 changes: 4 additions & 0 deletions views/courses/create-course.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,10 @@
</div>
</div>

{{#if syncedWithGroup}}
<input type="hidden" id="excludeFromSync" name="excludeFromSync" value="{{excludeFromSync}}">
{{/if}}

</section>

<section data-panel="section-2" data-testid="section-2-area" class="submit-page course-submit-page">
Expand Down
3 changes: 3 additions & 0 deletions views/courses/edit-course.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,9 @@
</button>
</div>

{{#if course.syncedWithGroup}}
<input type="hidden" id="excludeFromSync" name="excludeFromSync" value="{{excludeFromSync}}">
{{/if}}

{{#unless @root.course.isArchived}}
<div class="modal-footer">
Expand Down

0 comments on commit dd4a666

Please sign in to comment.