Merged develop into feature/uk-vv-tests

This commit is contained in:
Christian Cueni 2024-05-06 07:14:31 +00:00
commit c5e080a80a
3 changed files with 114 additions and 71 deletions

175
client/package-lock.json generated
View File

@ -8,15 +8,15 @@
"name": "client",
"version": "0.0.0",
"dependencies": {
"@headlessui/tailwindcss": "^0.1.3",
"@headlessui/vue": "1.7.7",
"@headlessui/tailwindcss": "^0.2.0",
"@headlessui/vue": "^1.7.20",
"@sentry/tracing": "^7.56.0",
"@sentry/vue": "^7.56.0",
"@urql/exchange-graphcache": "^6.3.2",
"@urql/introspection": "^1.0.2",
"@urql/vue": "^1.1.2",
"@vueuse/core": "10.1.0",
"@vueuse/router": "10.1.0",
"@vueuse/core": "^10.9.0",
"@vueuse/router": "^10.9.0",
"cypress": "^12.14.0",
"d3": "^7.8.5",
"dayjs": "^1.11.8",
@ -4519,9 +4519,9 @@
}
},
"node_modules/@headlessui/tailwindcss": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.1.3.tgz",
"integrity": "sha512-3aMdDyYZx9A15euRehpppSyQnb2gIw2s/Uccn2ELIoLQ9oDy0+9oRygNWNjXCD5Dt+w1pxo7C+XoiYvGcqA4Kg==",
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz",
"integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==",
"engines": {
"node": ">=10"
},
@ -4530,9 +4530,12 @@
}
},
"node_modules/@headlessui/vue": {
"version": "1.7.7",
"resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.7.tgz",
"integrity": "sha512-dkdNhJkxyT9rXW5fHx/MkKaM3U13P3duYuwoGTRmDGjE7xAsvcWOSJRJpw1AmCQTvjZF44bh2wSlySLaHW+WuQ==",
"version": "1.7.20",
"resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.20.tgz",
"integrity": "sha512-y83833wFo/+0FOrblgESiuvGwcHnfu8T2XQHb3iVA9GVSUVs3VLptp2bXlF5IR4IFD3Klr+jQEfreF6bSJNdOA==",
"dependencies": {
"@tanstack/vue-virtual": "^3.0.0-beta.60"
},
"engines": {
"node": ">=10"
},
@ -6751,6 +6754,30 @@
"tailwindcss": ">=3.0.0 || insiders"
}
},
"node_modules/@tanstack/virtual-core": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.4.0.tgz",
"integrity": "sha512-75jXqXxqq5M5Veb9KP1STi8kA5u408uOOAefk2ftHDGCpUk3RP6zX++QqfbmHJTBiU72NQ+ghgCZVts/Wocz8Q==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/vue-virtual": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.4.0.tgz",
"integrity": "sha512-OHZGsmE89rpouVDGDOCtJTu64gLUzVq5FGkL2YY/wtZXu5QRSi5ep3T25Ivd53HQI3A169H01uwVPD0mEXKm9A==",
"dependencies": {
"@tanstack/virtual-core": "3.4.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"vue": "^2.7.0 || ^3.0.0"
}
},
"node_modules/@testing-library/dom": {
"version": "8.20.0",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
@ -7441,9 +7468,9 @@
"dev": true
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.16",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
},
"node_modules/@types/ws": {
"version": "8.5.5",
@ -8186,34 +8213,34 @@
}
},
"node_modules/@vueuse/core": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.1.0.tgz",
"integrity": "sha512-3Znoa5m5RO+z4/C9w6DRaKTR3wCVJvD5rav8HTDGsr+7rOZRHtcgFJ8NcCs0ZvIpmev2kExTa311ns5j2RbzDQ==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz",
"integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==",
"dependencies": {
"@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "10.1.0",
"@vueuse/shared": "10.1.0",
"vue-demi": ">=0.14.0"
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.9.0",
"@vueuse/shared": "10.9.0",
"vue-demi": ">=0.14.7"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/metadata": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.1.0.tgz",
"integrity": "sha512-cM28HjDEw5FIrPE9rgSPFZvQ0ZYnOLAOr8hl1XM6tFl80U3WAR5ROdnAqiYybniwP5gt9MKKAJAqd/ab2aHkqg==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz",
"integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/router": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/router/-/router-10.1.0.tgz",
"integrity": "sha512-v9rQNld/8EwG7EPpkkwrj+tVeNFliupHdymREbyj0CJBeRIL82KEQyC+k+dbZhDxKihA0NtNC54+Qi8pC8Dtiw==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/router/-/router-10.9.0.tgz",
"integrity": "sha512-MOmrCMQlRuPS4PExE1hy8T0XbZUXaNbEuh7CAG5mC8kdvdgANQMkdvJ7vIEOP27n5mXK/4YjvXJOZSsur4E0QQ==",
"dependencies": {
"@vueuse/shared": "10.1.0",
"vue-demi": ">=0.14.0"
"@vueuse/shared": "10.9.0",
"vue-demi": ">=0.14.7"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
@ -8223,11 +8250,11 @@
}
},
"node_modules/@vueuse/shared": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.1.0.tgz",
"integrity": "sha512-2X52ogu12i9DkKOQ01yeb/BKg9UO87RNnpm5sXkQvyORlbq8ONS5l39MYkjkeVWWjdT0teJru7a2S41dmHmqjQ==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz",
"integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==",
"dependencies": {
"vue-demi": ">=0.14.0"
"vue-demi": ">=0.14.7"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
@ -19912,9 +19939,9 @@
"dev": true
},
"node_modules/vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
@ -23790,14 +23817,17 @@
}
},
"@headlessui/tailwindcss": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.1.3.tgz",
"integrity": "sha512-3aMdDyYZx9A15euRehpppSyQnb2gIw2s/Uccn2ELIoLQ9oDy0+9oRygNWNjXCD5Dt+w1pxo7C+XoiYvGcqA4Kg=="
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz",
"integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw=="
},
"@headlessui/vue": {
"version": "1.7.7",
"resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.7.tgz",
"integrity": "sha512-dkdNhJkxyT9rXW5fHx/MkKaM3U13P3duYuwoGTRmDGjE7xAsvcWOSJRJpw1AmCQTvjZF44bh2wSlySLaHW+WuQ=="
"version": "1.7.20",
"resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.20.tgz",
"integrity": "sha512-y83833wFo/+0FOrblgESiuvGwcHnfu8T2XQHb3iVA9GVSUVs3VLptp2bXlF5IR4IFD3Klr+jQEfreF6bSJNdOA==",
"requires": {
"@tanstack/vue-virtual": "^3.0.0-beta.60"
}
},
"@humanwhocodes/config-array": {
"version": "0.11.10",
@ -25455,6 +25485,19 @@
"postcss-selector-parser": "6.0.10"
}
},
"@tanstack/virtual-core": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.4.0.tgz",
"integrity": "sha512-75jXqXxqq5M5Veb9KP1STi8kA5u408uOOAefk2ftHDGCpUk3RP6zX++QqfbmHJTBiU72NQ+ghgCZVts/Wocz8Q=="
},
"@tanstack/vue-virtual": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.4.0.tgz",
"integrity": "sha512-OHZGsmE89rpouVDGDOCtJTu64gLUzVq5FGkL2YY/wtZXu5QRSi5ep3T25Ivd53HQI3A169H01uwVPD0mEXKm9A==",
"requires": {
"@tanstack/virtual-core": "3.4.0"
}
},
"@testing-library/dom": {
"version": "8.20.0",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
@ -26124,9 +26167,9 @@
"dev": true
},
"@types/web-bluetooth": {
"version": "0.0.16",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
},
"@types/ws": {
"version": "8.5.5",
@ -26675,36 +26718,36 @@
}
},
"@vueuse/core": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.1.0.tgz",
"integrity": "sha512-3Znoa5m5RO+z4/C9w6DRaKTR3wCVJvD5rav8HTDGsr+7rOZRHtcgFJ8NcCs0ZvIpmev2kExTa311ns5j2RbzDQ==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz",
"integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==",
"requires": {
"@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "10.1.0",
"@vueuse/shared": "10.1.0",
"vue-demi": ">=0.14.0"
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.9.0",
"@vueuse/shared": "10.9.0",
"vue-demi": ">=0.14.7"
}
},
"@vueuse/metadata": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.1.0.tgz",
"integrity": "sha512-cM28HjDEw5FIrPE9rgSPFZvQ0ZYnOLAOr8hl1XM6tFl80U3WAR5ROdnAqiYybniwP5gt9MKKAJAqd/ab2aHkqg=="
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz",
"integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA=="
},
"@vueuse/router": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/router/-/router-10.1.0.tgz",
"integrity": "sha512-v9rQNld/8EwG7EPpkkwrj+tVeNFliupHdymREbyj0CJBeRIL82KEQyC+k+dbZhDxKihA0NtNC54+Qi8pC8Dtiw==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/router/-/router-10.9.0.tgz",
"integrity": "sha512-MOmrCMQlRuPS4PExE1hy8T0XbZUXaNbEuh7CAG5mC8kdvdgANQMkdvJ7vIEOP27n5mXK/4YjvXJOZSsur4E0QQ==",
"requires": {
"@vueuse/shared": "10.1.0",
"vue-demi": ">=0.14.0"
"@vueuse/shared": "10.9.0",
"vue-demi": ">=0.14.7"
}
},
"@vueuse/shared": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.1.0.tgz",
"integrity": "sha512-2X52ogu12i9DkKOQ01yeb/BKg9UO87RNnpm5sXkQvyORlbq8ONS5l39MYkjkeVWWjdT0teJru7a2S41dmHmqjQ==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz",
"integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==",
"requires": {
"vue-demi": ">=0.14.0"
"vue-demi": ">=0.14.7"
}
},
"@whatwg-node/events": {
@ -35482,9 +35525,9 @@
"dev": true
},
"vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA=="
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA=="
},
"vue-docgen-api": {
"version": "4.64.1",

View File

@ -20,15 +20,15 @@
"typecheck-only": "vue-tsc --noEmit -p tsconfig.app.json --composite false"
},
"dependencies": {
"@headlessui/tailwindcss": "^0.1.3",
"@headlessui/vue": "1.7.7",
"@headlessui/tailwindcss": "^0.2.0",
"@headlessui/vue": "^1.7.20",
"@sentry/tracing": "^7.56.0",
"@sentry/vue": "^7.56.0",
"@urql/exchange-graphcache": "^6.3.2",
"@urql/introspection": "^1.0.2",
"@urql/vue": "^1.1.2",
"@vueuse/core": "10.1.0",
"@vueuse/router": "10.1.0",
"@vueuse/core": "^10.9.0",
"@vueuse/router": "^10.9.0",
"cypress": "^12.14.0",
"d3": "^7.8.5",
"dayjs": "^1.11.8",

View File

@ -78,7 +78,7 @@ def resolve_course_page(
info.context.user, page.specific.get_course().id
):
raise PermissionDenied("You do not have access to this course.")
return page.specific
return page.specific if page else None
except PermissionDenied as e:
raise e