diff --git a/.github/workflows/test_e2e.yml b/.github/workflows/test_e2e.yml index bdf979bf9..4c9f529e3 100644 --- a/.github/workflows/test_e2e.yml +++ b/.github/workflows/test_e2e.yml @@ -5,7 +5,7 @@ on: push jobs: end-to-end-tests: name: End-to-End Tests - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout code uses: actions/checkout@v3 @@ -13,19 +13,6 @@ jobs: - name: Boot up test system | docker-compose mariadb run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb - - name: Boot up test system | docker-compose database - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database - - - name: Boot up test system | docker-compose backend - run: | - cd backend - cp .env.test_e2e .env - cd .. - docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend - - - name: Boot up test system | docker-compose frontends - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps frontend admin nginx - - name: Sleep for 10 seconds run: sleep 10s @@ -37,8 +24,12 @@ jobs: cd ../backend yarn && yarn seed - - name: Boot up test system | docker-compose mailserver - run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mailserver + - name: Boot up test system | docker-compose backend, frontend, admin, nginx, mailserver + run: | + cd backend + cp .env.test_e2e .env + cd .. + docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend frontend admin nginx mailserver - name: End-to-end tests | prepare run: | diff --git a/admin/.gitignore b/admin/.gitignore index 59b32c33e..704a34221 100644 --- a/admin/.gitignore +++ b/admin/.gitignore @@ -1,6 +1,7 @@ node_modules/ build/ .cache/ +.yarn/install-state.gz /.env /.env.bak diff --git a/admin/package.json b/admin/package.json index 5d3cdb8fb..b395ce5f6 100644 --- a/admin/package.json +++ b/admin/package.json @@ -5,7 +5,6 @@ "author": "Moriz Wahl", "version": "2.4.1", "license": "Apache-2.0", - "private": false, "scripts": { "start": "node run/server.js", "dev": "vite", @@ -37,7 +36,7 @@ "babel-preset-env": "^1.7.0", "babel-preset-vue": "^2.0.2", "bootstrap": "^5.3.3", - "bootstrap-vue-next": "^0.23.2", + "bootstrap-vue-next": "0.26.8", "date-fns": "^2.29.3", "dotenv-webpack": "^7.0.3", "express": "^4.17.1", @@ -50,7 +49,7 @@ "sass": "^1.77.8", "vite": "3.2.10", "vite-plugin-commonjs": "^0.10.1", - "vue": "3.4.31", + "vue": "3.5.13", "vue-apollo": "3.1.2", "vue-i18n": "9.13.1", "vue-router": "4.4.0", diff --git a/admin/prepare-and-build.sh b/admin/prepare-and-build.sh new file mode 100755 index 000000000..44ed47276 --- /dev/null +++ b/admin/prepare-and-build.sh @@ -0,0 +1,7 @@ +# TODO this is the quick&dirty solution for the openssl security topic, please see https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported +$env:NODE_OPTIONS = "--openssl-legacy-provider" + +nvm use +yarn cache clean +yarn install +yarn build diff --git a/admin/run/server.js b/admin/run/server.js index 730fa03b5..2b6482367 100644 --- a/admin/run/server.js +++ b/admin/run/server.js @@ -1,11 +1,12 @@ // Imports +import CONFIG from '../src/config' + const express = require('express') const path = require('path') // Host & Port -const hostname = '127.0.0.1' -const port = import.meta.env.PORT || 8080 - +const hostname = CONFIG.ADMIN_MODULE_HOST // '127.0.0.1' +const port = CONFIG.ADMIN_MODULE_PORT // process.env.PORT || 8080 // Express Server const app = express() // Serve files diff --git a/admin/src/components/ContributionLink/ContributionLinkForm.vue b/admin/src/components/ContributionLink/ContributionLinkForm.vue index 20d78dc99..f67383aa4 100644 --- a/admin/src/components/ContributionLink/ContributionLinkForm.vue +++ b/admin/src/components/ContributionLink/ContributionLinkForm.vue @@ -125,6 +125,7 @@ import { createContributionLink } from '@/graphql/createContributionLink.js' import { updateContributionLink } from '@/graphql/updateContributionLink.js' import { useAppToast } from '@/composables/useToast' import { useI18n } from 'vue-i18n' +import { useDateFormatter } from '@/composables/useDateFormatter' const props = defineProps({ contributionLinkData: { @@ -138,6 +139,8 @@ const emit = defineEmits(['get-contribution-links', 'close-contribution-form']) const { t } = useI18n() +const { formatDateFromDateTime } = useDateFormatter() + const contributionLinkForm = ref(null) const form = ref({ @@ -201,11 +204,6 @@ const onSubmit = async () => { } } -const formatDateFromDateTime = (datetimeString) => { - if (!datetimeString || !datetimeString?.includes('T')) return datetimeString - return datetimeString.split('T')[0] -} - const onReset = () => { form.value = { validFrom: null, validTo: null } } diff --git a/admin/src/components/ContributionMessages/ContributionMessagesFormular.vue b/admin/src/components/ContributionMessages/ContributionMessagesFormular.vue index af946fd56..34faf3f85 100644 --- a/admin/src/components/ContributionMessages/ContributionMessagesFormular.vue +++ b/admin/src/components/ContributionMessages/ContributionMessagesFormular.vue @@ -8,8 +8,10 @@ - - +
+ + +
@@ -24,7 +26,7 @@ v-model="form.text" :placeholder="$t('contributionLink.memo')" rows="3" - > + />