From 8aa67dab1e92d599e0646ed7db4f7d5e83572a51 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 2 Feb 2022 05:27:44 +0100 Subject: [PATCH 01/29] removed unnecessary repositories, we can now use the implicit active record functions --- backend/src/typeorm/repository/LoginElopageBuys.ts | 5 ----- backend/src/typeorm/repository/LoginEmailOptIn.ts | 5 ----- backend/src/typeorm/repository/LoginUserBackup.ts | 5 ----- backend/src/typeorm/repository/ServerUser.ts | 5 ----- backend/src/typeorm/repository/TransactionCreation.ts | 5 ----- 5 files changed, 25 deletions(-) delete mode 100644 backend/src/typeorm/repository/LoginElopageBuys.ts delete mode 100644 backend/src/typeorm/repository/LoginEmailOptIn.ts delete mode 100644 backend/src/typeorm/repository/LoginUserBackup.ts delete mode 100644 backend/src/typeorm/repository/ServerUser.ts delete mode 100644 backend/src/typeorm/repository/TransactionCreation.ts diff --git a/backend/src/typeorm/repository/LoginElopageBuys.ts b/backend/src/typeorm/repository/LoginElopageBuys.ts deleted file mode 100644 index 0448c84ee..000000000 --- a/backend/src/typeorm/repository/LoginElopageBuys.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginElopageBuys } from '@entity/LoginElopageBuys' - -@EntityRepository(LoginElopageBuys) -export class LoginElopageBuysRepository extends Repository {} diff --git a/backend/src/typeorm/repository/LoginEmailOptIn.ts b/backend/src/typeorm/repository/LoginEmailOptIn.ts deleted file mode 100644 index 0906e8b51..000000000 --- a/backend/src/typeorm/repository/LoginEmailOptIn.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' - -@EntityRepository(LoginEmailOptIn) -export class LoginEmailOptInRepository extends Repository {} diff --git a/backend/src/typeorm/repository/LoginUserBackup.ts b/backend/src/typeorm/repository/LoginUserBackup.ts deleted file mode 100644 index a54b1e8af..000000000 --- a/backend/src/typeorm/repository/LoginUserBackup.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginUserBackup } from '@entity/LoginUserBackup' - -@EntityRepository(LoginUserBackup) -export class LoginUserBackupRepository extends Repository {} diff --git a/backend/src/typeorm/repository/ServerUser.ts b/backend/src/typeorm/repository/ServerUser.ts deleted file mode 100644 index 0ab33c44a..000000000 --- a/backend/src/typeorm/repository/ServerUser.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { ServerUser } from '@entity/ServerUser' - -@EntityRepository(ServerUser) -export class ServerUserRepository extends Repository {} diff --git a/backend/src/typeorm/repository/TransactionCreation.ts b/backend/src/typeorm/repository/TransactionCreation.ts deleted file mode 100644 index 938715574..000000000 --- a/backend/src/typeorm/repository/TransactionCreation.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { TransactionCreation } from '@entity/TransactionCreation' - -@EntityRepository(TransactionCreation) -export class TransactionCreationRepository extends Repository {} From 8005b700c39ea826f81e4b1ea3f97747efc1258a Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 2 Feb 2022 05:28:23 +0100 Subject: [PATCH 02/29] removed references and implemented implicit active record queries --- backend/src/graphql/directive/isAuthorized.ts | 5 ++--- backend/src/graphql/resolver/AdminResolver.ts | 11 +++-------- backend/src/graphql/resolver/UserResolver.ts | 10 ++++------ backend/src/webhook/elopage.ts | 4 +--- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index d5c8495bb..89da13ff7 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -5,10 +5,10 @@ import { AuthChecker } from 'type-graphql' import { decode, encode } from '../../auth/JWT' import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '../../auth/ROLES' import { RIGHTS } from '../../auth/RIGHTS' -import { ServerUserRepository } from '../../typeorm/repository/ServerUser' import { getCustomRepository } from '@dbTools/typeorm' import { UserRepository } from '../../typeorm/repository/User' import { INALIENABLE_RIGHTS } from '../../auth/INALIENABLE_RIGHTS' +import { ServerUser } from '@entity/ServerUser' const isAuthorized: AuthChecker = async ({ context }, rights) => { context.role = ROLE_UNAUTHORIZED // unauthorized user @@ -38,8 +38,7 @@ const isAuthorized: AuthChecker = async ({ context }, rights) => { // TODO this implementation is bullshit - two database queries cause our user identifiers are not aligned and vary between email, id and pubKey const userRepository = await getCustomRepository(UserRepository) const user = await userRepository.findByPubkeyHex(context.pubKey) - const serverUserRepository = await getCustomRepository(ServerUserRepository) - const countServerUsers = await serverUserRepository.count({ email: user.email }) + const countServerUsers = await ServerUser.count({ email: user.email }) context.role = countServerUsers > 0 ? ROLE_ADMIN : ROLE_USER context.setHeaders.push({ key: 'token', value: encode(decoded.pubKey) }) diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 4204c6c2f..d15107ff4 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -9,7 +9,6 @@ import { CreatePendingCreations } from '../model/CreatePendingCreations' import { UpdatePendingCreation } from '../model/UpdatePendingCreation' import { RIGHTS } from '../../auth/RIGHTS' import { TransactionRepository } from '../../typeorm/repository/Transaction' -import { TransactionCreationRepository } from '../../typeorm/repository/TransactionCreation' import { UserRepository } from '../../typeorm/repository/User' import CreatePendingCreationArgs from '../arg/CreatePendingCreationArgs' import UpdatePendingCreationArgs from '../arg/UpdatePendingCreationArgs' @@ -75,8 +74,7 @@ export class AdminResolver { adminPendingCreation.memo = memo adminPendingCreation.moderator = moderator - await AdminPendingCreation.save(adminPendingCreation) - } + await AdminPendingCreation.save(adminPendingCreation) } return getUserCreations(user.id) } @@ -198,13 +196,12 @@ export class AdminResolver { transaction = await transactionRepository.save(transaction) if (!transaction) throw new Error('Could not create transaction') - const transactionCreationRepository = getCustomRepository(TransactionCreationRepository) let transactionCreation = new TransactionCreation() transactionCreation.transactionId = transaction.id transactionCreation.userId = pendingCreation.userId transactionCreation.amount = parseInt(pendingCreation.amount.toString()) transactionCreation.targetDate = pendingCreation.date - transactionCreation = await transactionCreationRepository.save(transactionCreation) + transactionCreation = await TransactionCreation.save(transactionCreation) if (!transactionCreation) throw new Error('Could not create transactionCreation') const userTransactionRepository = getCustomRepository(UserTransactionRepository) @@ -256,9 +253,7 @@ async function getUserCreations(id: number): Promise { const lastMonthNumber = moment().subtract(1, 'month').format('M') const currentMonthNumber = moment().format('M') - const transactionCreationRepository = getCustomRepository(TransactionCreationRepository) - const createdAmountsQuery = await transactionCreationRepository - .createQueryBuilder('transaction_creations') + const createdAmountsQuery = await TransactionCreation.createQueryBuilder('transaction_creations') .select('MONTH(transaction_creations.target_date)', 'target_month') .addSelect('SUM(transaction_creations.amount)', 'sum') .where('transaction_creations.state_user_id = :id', { id }) diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 14a56b60b..5926a8a95 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -22,12 +22,12 @@ import { LoginUserBackup } from '@entity/LoginUserBackup' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { sendResetPasswordEmail } from '../../mailer/sendResetPasswordEmail' import { sendAccountActivationEmail } from '../../mailer/sendAccountActivationEmail' -import { LoginElopageBuysRepository } from '../../typeorm/repository/LoginElopageBuys' import { klicktippSignIn } from '../../apis/KlicktippController' import { RIGHTS } from '../../auth/RIGHTS' -import { ServerUserRepository } from '../../typeorm/repository/ServerUser' import { ROLE_ADMIN } from '../../auth/ROLES' import { randomBytes } from 'crypto' +import { LoginElopageBuys } from '@entity/LoginElopageBuys' +import { ServerUser } from '@entity/ServerUser' const EMAIL_OPT_IN_RESET_PASSWORD = 2 const EMAIL_OPT_IN_REGISTER = 1 @@ -335,8 +335,7 @@ export class UserResolver { user.coinanimation = coinanimation // context.role is not set to the actual role yet on login - const serverUserRepository = await getCustomRepository(ServerUserRepository) - const countServerUsers = await serverUserRepository.count({ email: user.email }) + const countServerUsers = await ServerUser.count({ email: user.email }) user.isAdmin = countServerUsers > 0 context.setHeaders.push({ @@ -812,8 +811,7 @@ export class UserResolver { return false } - const loginElopageBuysRepository = getCustomRepository(LoginElopageBuysRepository) - const elopageBuyCount = await loginElopageBuysRepository.count({ payerEmail: userEntity.email }) + const elopageBuyCount = await LoginElopageBuys.count({ payerEmail: userEntity.email }) return elopageBuyCount > 0 } } diff --git a/backend/src/webhook/elopage.ts b/backend/src/webhook/elopage.ts index 9c1aadd2e..a442d2634 100644 --- a/backend/src/webhook/elopage.ts +++ b/backend/src/webhook/elopage.ts @@ -30,14 +30,12 @@ import { LoginElopageBuys } from '@entity/LoginElopageBuys' import { getCustomRepository } from '@dbTools/typeorm' import { UserResolver } from '../graphql/resolver/UserResolver' -import { LoginElopageBuysRepository } from '../typeorm/repository/LoginElopageBuys' import { LoginUserRepository } from '../typeorm/repository/LoginUser' export const elopageWebhook = async (req: any, res: any): Promise => { // eslint-disable-next-line no-console console.log('Elopage Hook received', req.body) res.status(200).end() // Responding is important - const loginElopageBuyRepository = await getCustomRepository(LoginElopageBuysRepository) const loginElopageBuy = new LoginElopageBuys() const { @@ -82,7 +80,7 @@ export const elopageWebhook = async (req: any, res: any): Promise => { } // Save the hook data - await loginElopageBuyRepository.save(loginElopageBuy) + await LoginElopageBuys.save(loginElopageBuy) // create user for certain products /* From c101873375b695999ad5252bbb6949db6d148ba2 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 2 Feb 2022 05:27:44 +0100 Subject: [PATCH 03/29] removed unnecessary repositories, we can now use the implicit active record functions --- backend/src/typeorm/repository/LoginElopageBuys.ts | 5 ----- backend/src/typeorm/repository/LoginEmailOptIn.ts | 5 ----- backend/src/typeorm/repository/ServerUser.ts | 5 ----- backend/src/typeorm/repository/TransactionCreation.ts | 5 ----- 4 files changed, 20 deletions(-) delete mode 100644 backend/src/typeorm/repository/LoginElopageBuys.ts delete mode 100644 backend/src/typeorm/repository/LoginEmailOptIn.ts delete mode 100644 backend/src/typeorm/repository/ServerUser.ts delete mode 100644 backend/src/typeorm/repository/TransactionCreation.ts diff --git a/backend/src/typeorm/repository/LoginElopageBuys.ts b/backend/src/typeorm/repository/LoginElopageBuys.ts deleted file mode 100644 index 0448c84ee..000000000 --- a/backend/src/typeorm/repository/LoginElopageBuys.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginElopageBuys } from '@entity/LoginElopageBuys' - -@EntityRepository(LoginElopageBuys) -export class LoginElopageBuysRepository extends Repository {} diff --git a/backend/src/typeorm/repository/LoginEmailOptIn.ts b/backend/src/typeorm/repository/LoginEmailOptIn.ts deleted file mode 100644 index 0906e8b51..000000000 --- a/backend/src/typeorm/repository/LoginEmailOptIn.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' - -@EntityRepository(LoginEmailOptIn) -export class LoginEmailOptInRepository extends Repository {} diff --git a/backend/src/typeorm/repository/ServerUser.ts b/backend/src/typeorm/repository/ServerUser.ts deleted file mode 100644 index 0ab33c44a..000000000 --- a/backend/src/typeorm/repository/ServerUser.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { ServerUser } from '@entity/ServerUser' - -@EntityRepository(ServerUser) -export class ServerUserRepository extends Repository {} diff --git a/backend/src/typeorm/repository/TransactionCreation.ts b/backend/src/typeorm/repository/TransactionCreation.ts deleted file mode 100644 index 938715574..000000000 --- a/backend/src/typeorm/repository/TransactionCreation.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { TransactionCreation } from '@entity/TransactionCreation' - -@EntityRepository(TransactionCreation) -export class TransactionCreationRepository extends Repository {} From c63a42009e01061415f4e07540c863ae3fc97171 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 2 Feb 2022 05:28:23 +0100 Subject: [PATCH 04/29] removed references and implemented implicit active record queries --- backend/src/graphql/directive/isAuthorized.ts | 5 ++--- backend/src/graphql/resolver/AdminResolver.ts | 11 +++-------- backend/src/graphql/resolver/UserResolver.ts | 10 ++++------ backend/src/webhook/elopage.ts | 4 +--- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index d5c8495bb..89da13ff7 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -5,10 +5,10 @@ import { AuthChecker } from 'type-graphql' import { decode, encode } from '../../auth/JWT' import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '../../auth/ROLES' import { RIGHTS } from '../../auth/RIGHTS' -import { ServerUserRepository } from '../../typeorm/repository/ServerUser' import { getCustomRepository } from '@dbTools/typeorm' import { UserRepository } from '../../typeorm/repository/User' import { INALIENABLE_RIGHTS } from '../../auth/INALIENABLE_RIGHTS' +import { ServerUser } from '@entity/ServerUser' const isAuthorized: AuthChecker = async ({ context }, rights) => { context.role = ROLE_UNAUTHORIZED // unauthorized user @@ -38,8 +38,7 @@ const isAuthorized: AuthChecker = async ({ context }, rights) => { // TODO this implementation is bullshit - two database queries cause our user identifiers are not aligned and vary between email, id and pubKey const userRepository = await getCustomRepository(UserRepository) const user = await userRepository.findByPubkeyHex(context.pubKey) - const serverUserRepository = await getCustomRepository(ServerUserRepository) - const countServerUsers = await serverUserRepository.count({ email: user.email }) + const countServerUsers = await ServerUser.count({ email: user.email }) context.role = countServerUsers > 0 ? ROLE_ADMIN : ROLE_USER context.setHeaders.push({ key: 'token', value: encode(decoded.pubKey) }) diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 2c8cbfe27..1527155e8 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -9,7 +9,6 @@ import { CreatePendingCreations } from '../model/CreatePendingCreations' import { UpdatePendingCreation } from '../model/UpdatePendingCreation' import { RIGHTS } from '../../auth/RIGHTS' import { TransactionRepository } from '../../typeorm/repository/Transaction' -import { TransactionCreationRepository } from '../../typeorm/repository/TransactionCreation' import { UserRepository } from '../../typeorm/repository/User' import CreatePendingCreationArgs from '../arg/CreatePendingCreationArgs' import UpdatePendingCreationArgs from '../arg/UpdatePendingCreationArgs' @@ -75,8 +74,7 @@ export class AdminResolver { adminPendingCreation.memo = memo adminPendingCreation.moderator = moderator - await AdminPendingCreation.save(adminPendingCreation) - } + await AdminPendingCreation.save(adminPendingCreation) } return getUserCreations(user.id) } @@ -198,13 +196,12 @@ export class AdminResolver { transaction = await transactionRepository.save(transaction) if (!transaction) throw new Error('Could not create transaction') - const transactionCreationRepository = getCustomRepository(TransactionCreationRepository) let transactionCreation = new TransactionCreation() transactionCreation.transactionId = transaction.id transactionCreation.userId = pendingCreation.userId transactionCreation.amount = parseInt(pendingCreation.amount.toString()) transactionCreation.targetDate = pendingCreation.date - transactionCreation = await transactionCreationRepository.save(transactionCreation) + transactionCreation = await TransactionCreation.save(transactionCreation) if (!transactionCreation) throw new Error('Could not create transactionCreation') const userTransactionRepository = getCustomRepository(UserTransactionRepository) @@ -256,9 +253,7 @@ async function getUserCreations(id: number): Promise { const lastMonthNumber = moment().subtract(1, 'month').format('M') const currentMonthNumber = moment().format('M') - const transactionCreationRepository = getCustomRepository(TransactionCreationRepository) - const createdAmountsQuery = await transactionCreationRepository - .createQueryBuilder('transaction_creations') + const createdAmountsQuery = await TransactionCreation.createQueryBuilder('transaction_creations') .select('MONTH(transaction_creations.target_date)', 'target_month') .addSelect('SUM(transaction_creations.amount)', 'sum') .where('transaction_creations.state_user_id = :id', { id }) diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index d7ecfa797..60648d632 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -19,11 +19,11 @@ import { UserRepository } from '../../typeorm/repository/User' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { sendResetPasswordEmail } from '../../mailer/sendResetPasswordEmail' import { sendAccountActivationEmail } from '../../mailer/sendAccountActivationEmail' -import { LoginElopageBuysRepository } from '../../typeorm/repository/LoginElopageBuys' import { klicktippSignIn } from '../../apis/KlicktippController' import { RIGHTS } from '../../auth/RIGHTS' -import { ServerUserRepository } from '../../typeorm/repository/ServerUser' import { ROLE_ADMIN } from '../../auth/ROLES' +import { LoginElopageBuys } from '@entity/LoginElopageBuys' +import { ServerUser } from '@entity/ServerUser' const EMAIL_OPT_IN_RESET_PASSWORD = 2 const EMAIL_OPT_IN_REGISTER = 1 @@ -303,8 +303,7 @@ export class UserResolver { user.coinanimation = coinanimation // context.role is not set to the actual role yet on login - const serverUserRepository = await getCustomRepository(ServerUserRepository) - const countServerUsers = await serverUserRepository.count({ email: user.email }) + const countServerUsers = await ServerUser.count({ email: user.email }) user.isAdmin = countServerUsers > 0 context.setHeaders.push({ @@ -718,8 +717,7 @@ export class UserResolver { return false } - const loginElopageBuysRepository = getCustomRepository(LoginElopageBuysRepository) - const elopageBuyCount = await loginElopageBuysRepository.count({ payerEmail: userEntity.email }) + const elopageBuyCount = await LoginElopageBuys.count({ payerEmail: userEntity.email }) return elopageBuyCount > 0 } } diff --git a/backend/src/webhook/elopage.ts b/backend/src/webhook/elopage.ts index 0b392abb1..b01106bf3 100644 --- a/backend/src/webhook/elopage.ts +++ b/backend/src/webhook/elopage.ts @@ -30,14 +30,12 @@ import { LoginElopageBuys } from '@entity/LoginElopageBuys' import { getCustomRepository } from '@dbTools/typeorm' import { UserResolver } from '../graphql/resolver/UserResolver' -import { LoginElopageBuysRepository } from '../typeorm/repository/LoginElopageBuys' import { User as dbUser } from '@entity/User' export const elopageWebhook = async (req: any, res: any): Promise => { // eslint-disable-next-line no-console console.log('Elopage Hook received', req.body) res.status(200).end() // Responding is important - const loginElopageBuyRepository = await getCustomRepository(LoginElopageBuysRepository) const loginElopageBuy = new LoginElopageBuys() const { @@ -82,7 +80,7 @@ export const elopageWebhook = async (req: any, res: any): Promise => { } // Save the hook data - await loginElopageBuyRepository.save(loginElopageBuy) + await LoginElopageBuys.save(loginElopageBuy) // create user for certain products /* From 545aca8ffbe0fdcadfd356ecd202096679601c49 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 4 Feb 2022 00:05:55 +0100 Subject: [PATCH 05/29] lint fix --- backend/src/graphql/resolver/AdminResolver.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 1527155e8..bc07c79ec 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -74,7 +74,8 @@ export class AdminResolver { adminPendingCreation.memo = memo adminPendingCreation.moderator = moderator - await AdminPendingCreation.save(adminPendingCreation) } + await AdminPendingCreation.save(adminPendingCreation) + } return getUserCreations(user.id) } From c21f7da5ce63016bb480c1ecc5af11fc5e007197 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 4 Feb 2022 15:50:24 +0100 Subject: [PATCH 06/29] lint fixes --- backend/src/graphql/resolver/AdminResolver.ts | 3 ++- backend/src/webhook/elopage.ts | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 1527155e8..bc07c79ec 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -74,7 +74,8 @@ export class AdminResolver { adminPendingCreation.memo = memo adminPendingCreation.moderator = moderator - await AdminPendingCreation.save(adminPendingCreation) } + await AdminPendingCreation.save(adminPendingCreation) + } return getUserCreations(user.id) } diff --git a/backend/src/webhook/elopage.ts b/backend/src/webhook/elopage.ts index b01106bf3..af6b5a097 100644 --- a/backend/src/webhook/elopage.ts +++ b/backend/src/webhook/elopage.ts @@ -28,7 +28,6 @@ */ import { LoginElopageBuys } from '@entity/LoginElopageBuys' -import { getCustomRepository } from '@dbTools/typeorm' import { UserResolver } from '../graphql/resolver/UserResolver' import { User as dbUser } from '@entity/User' From 9e2be73163a77d946710cd09813bc7353ebb46d8 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 05:41:18 +0100 Subject: [PATCH 07/29] corrected .env.dist --- deployment/bare_metal/.env.dist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index f69ce862e..91e37b594 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -32,10 +32,10 @@ WEBHOOK_ELOPAGE_SECRET=secret GDT_API_URL=https://gdt.gradido.net -COMMUNITY_NAME=Gradido Development Stage1 +COMMUNITY_NAME="Gradido Development Stage1" COMMUNITY_URL=https://stage1.gradido.net/ COMMUNITY_REGISTER_URL=https://stage1.gradido.net/register -COMMUNITY_DESCRIPTION=Gradido Development Stage1 Test Community +COMMUNITY_DESCRIPTION="Gradido Development Stage1 Test Community" KLICKTIPP=false KLICKTIPP_USER= From 95d9ec255caa71f27d234a2e3258a831f6e116f6 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 05:43:23 +0100 Subject: [PATCH 08/29] load backend/.env to get secrets and regenerate .env configs --- deployment/bare_metal/start.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 3d0589569..a9a41b43c 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -10,9 +10,15 @@ PROJECT_ROOT=$SCRIPT_DIR/../.. NGINX_CONFIG_DIR=$SCRIPT_DIR/nginx/sites-available set +o allexport -# Load .env or .env.dist if not present # NOTE: all config values will be in process.env when starting # the services and will therefore take precedence over the .env + +# We have to load the backend .env to get DB_USERNAME, DB_PASSWORD AND JWT_SECRET +if [ -f "$PROJECT_ROOT/backend/.env" ]; then + export $(cat $PROJECT_ROOT/backend/.env | sed 's/#.*//g' | xargs) +fi + +# Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) else @@ -64,6 +70,12 @@ case "$NGINX_SSL" in esac envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $NGINX_CONFIG_DIR/$TEMPLATE_FILE > $NGINX_CONFIG_DIR/update-page.conf +# Regenerate .env files +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/database/.env.template > $PROJECT_ROOT/database/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/backend/.env.template > $PROJECT_ROOT/backend/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/frontend/.env.template > $PROJECT_ROOT/frontend/.env +envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/admin/.env.template > $PROJECT_ROOT/admin/.env + # Install & build database echo 'Updating database
' >> $UPDATE_HTML cd $PROJECT_ROOT/database From 7433b4fed8d4b977c877b9846fe033c6c0da3439 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:08:18 +0100 Subject: [PATCH 09/29] try to read only specific variables --- deployment/bare_metal/start.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index a9a41b43c..46fa12d2c 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -14,8 +14,17 @@ set +o allexport # the services and will therefore take precedence over the .env # We have to load the backend .env to get DB_USERNAME, DB_PASSWORD AND JWT_SECRET +export_var(){ + echo $1 + echo $(grep -v '^#' $PROJECT_ROOT/backend/.env | grep -e "$1" | sed -e 's/.*=//') + export $1=$(grep -v '^#' $PROJECT_ROOT/backend/.env | grep -e "$1" | sed -e 's/.*=//') +} + +CUR_APP_ENV=$(read_var "APP_ENV") if [ -f "$PROJECT_ROOT/backend/.env" ]; then - export $(cat $PROJECT_ROOT/backend/.env | sed 's/#.*//g' | xargs) + export_var('DB_USERNAME') + export_var('DB_PASSWORD') + export_var('JWT_SECRET') fi # Load .env or .env.dist if not present From 4bd5942917188b1fa5bbde9065e35e1b61f87589 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:11:04 +0100 Subject: [PATCH 10/29] typo --- deployment/bare_metal/start.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 46fa12d2c..5622a3ead 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -20,7 +20,6 @@ export_var(){ export $1=$(grep -v '^#' $PROJECT_ROOT/backend/.env | grep -e "$1" | sed -e 's/.*=//') } -CUR_APP_ENV=$(read_var "APP_ENV") if [ -f "$PROJECT_ROOT/backend/.env" ]; then export_var('DB_USERNAME') export_var('DB_PASSWORD') From 6c7ab4e8abe04ba2b90a545d45ecf35e52af0448 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:12:41 +0100 Subject: [PATCH 11/29] fix bash function calls --- deployment/bare_metal/start.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 5622a3ead..28177890f 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -21,9 +21,9 @@ export_var(){ } if [ -f "$PROJECT_ROOT/backend/.env" ]; then - export_var('DB_USERNAME') - export_var('DB_PASSWORD') - export_var('JWT_SECRET') + export_var 'DB_USERNAME' + export_var 'DB_PASSWORD' + export_var 'JWT_SECRET' fi # Load .env or .env.dist if not present From 065c9d6294db1da8ac7e69d7c9e621dad003fe85 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:15:10 +0100 Subject: [PATCH 12/29] debugging more bash --- deployment/bare_metal/start.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 28177890f..6054c2996 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -15,8 +15,6 @@ set +o allexport # We have to load the backend .env to get DB_USERNAME, DB_PASSWORD AND JWT_SECRET export_var(){ - echo $1 - echo $(grep -v '^#' $PROJECT_ROOT/backend/.env | grep -e "$1" | sed -e 's/.*=//') export $1=$(grep -v '^#' $PROJECT_ROOT/backend/.env | grep -e "$1" | sed -e 's/.*=//') } @@ -26,6 +24,10 @@ if [ -f "$PROJECT_ROOT/backend/.env" ]; then export_var 'JWT_SECRET' fi +echo $DB_USERNAME +echo $DB_PASSWORD +echo $JWT_SECRET + # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) From b9a29a67ae76869f2c40417ffcad45c0daac2d38 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:20:50 +0100 Subject: [PATCH 13/29] more fixes --- deployment/bare_metal/start.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 6054c2996..7d8c852f9 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -19,12 +19,12 @@ export_var(){ } if [ -f "$PROJECT_ROOT/backend/.env" ]; then - export_var 'DB_USERNAME' + export_var 'DB_USER' export_var 'DB_PASSWORD' export_var 'JWT_SECRET' fi -echo $DB_USERNAME +echo $DB_USER echo $DB_PASSWORD echo $JWT_SECRET @@ -81,6 +81,10 @@ esac envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $NGINX_CONFIG_DIR/$TEMPLATE_FILE > $NGINX_CONFIG_DIR/update-page.conf # Regenerate .env files +# cp -f $PROJECT_ROOT/database/.env $PROJECT_ROOT/database/.env.bak +cp -f $PROJECT_ROOT/backend/.env $PROJECT_ROOT/backend/.env.bak +cp -f $PROJECT_ROOT/frontend/.env $PROJECT_ROOT/frontend/.env.bak +cp -f $PROJECT_ROOT/admin/.env $PROJECT_ROOT/admin/.env.bak envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/database/.env.template > $PROJECT_ROOT/database/.env envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/backend/.env.template > $PROJECT_ROOT/backend/.env envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $PROJECT_ROOT/frontend/.env.template > $PROJECT_ROOT/frontend/.env From 5024ca726a5b4b6f6877408d6222ae5a9aafa0bf Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:22:26 +0100 Subject: [PATCH 14/29] more fixes --- deployment/bare_metal/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 7d8c852f9..82a6d044b 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -81,7 +81,7 @@ esac envsubst "$(env | sed -e 's/=.*//' -e 's/^/\$/g')" < $NGINX_CONFIG_DIR/$TEMPLATE_FILE > $NGINX_CONFIG_DIR/update-page.conf # Regenerate .env files -# cp -f $PROJECT_ROOT/database/.env $PROJECT_ROOT/database/.env.bak +cp -f $PROJECT_ROOT/database/.env $PROJECT_ROOT/database/.env.bak cp -f $PROJECT_ROOT/backend/.env $PROJECT_ROOT/backend/.env.bak cp -f $PROJECT_ROOT/frontend/.env $PROJECT_ROOT/frontend/.env.bak cp -f $PROJECT_ROOT/admin/.env $PROJECT_ROOT/admin/.env.bak From 6ef64bd2a9696d845c02df090ef72f7a78a32a0e Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:25:02 +0100 Subject: [PATCH 15/29] removed debug symbols --- deployment/bare_metal/start.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 82a6d044b..03915d5e5 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -24,10 +24,6 @@ if [ -f "$PROJECT_ROOT/backend/.env" ]; then export_var 'JWT_SECRET' fi -echo $DB_USER -echo $DB_PASSWORD -echo $JWT_SECRET - # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) From 43bcc8b8f28726461816d2fe2bf7726f3539a85c Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:30:16 +0100 Subject: [PATCH 16/29] try xargs \n delimiter --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 03915d5e5..dac86c898 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -26,9 +26,9 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then - export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) + export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -d '\n') else - export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs) + export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -d '\n') fi # lock start From 8e8f1097b2c687145a2d64e15d943939ed0b6a00 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:36:07 +0100 Subject: [PATCH 17/29] more debug symbols for community name & description --- deployment/bare_metal/start.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index dac86c898..ec304f358 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -31,6 +31,13 @@ else export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -d '\n') fi +echo $COMMUNITY_DESCRIPTION +echo $COMMUNITY_NAME +echo "$COMMUNITY_DESCRIPTION" +echo "$COMMUNITY_NAME" +echo "${COMMUNITY_DESCRIPTION}" +echo "${COMMUNITY_NAME}" + # lock start if [ -f $LOCK_FILE ] ; then echo "Already building!" From ea320c825a0cf15ebe2eef4eb41ea14b71bf6035 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:38:51 +0100 Subject: [PATCH 18/29] different loading approach --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index ec304f358..8f3a5dcd0 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -26,9 +26,9 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then - export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -d '\n') + export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') else - export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -d '\n') + export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') fi echo $COMMUNITY_DESCRIPTION From 510ae1ecd849164cdf3da136de8a3a110140f701 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:41:45 +0100 Subject: [PATCH 19/29] try -0 for xargs delimiter --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 8f3a5dcd0..877501d52 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -26,9 +26,9 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then - export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') + export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) else - export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') + export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) fi echo $COMMUNITY_DESCRIPTION From 0406b240018101f7a3a4f7b2e43ab557f2bbcbb6 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:43:28 +0100 Subject: [PATCH 20/29] another try --- deployment/bare_metal/start.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 877501d52..64804050d 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -26,9 +26,11 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then - export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) + # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) + export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -0) else - export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) + #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) + export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -0) fi echo $COMMUNITY_DESCRIPTION From b8a500f60fc6d8f0b45c8686543e59dcf3c4680e Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:44:27 +0100 Subject: [PATCH 21/29] \n delimiter --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 64804050d..e575e6267 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -27,10 +27,10 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -0) + export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') else #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -0) + export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') fi echo $COMMUNITY_DESCRIPTION From 068aa1cec09c672f7f762972944fe3f8e09ecdbd Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:45:20 +0100 Subject: [PATCH 22/29] quote the whole thing --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index e575e6267..346ae6198 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -27,10 +27,10 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') + export "$(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n')" else #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') + export "$(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n')" fi echo $COMMUNITY_DESCRIPTION From 68d67366d62c1c277ac42ceb90bd14524e1ce89b Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 06:47:29 +0100 Subject: [PATCH 23/29] quotes are not working --- deployment/bare_metal/start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index 346ae6198..e575e6267 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -27,10 +27,10 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) - export "$(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n')" + export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') else #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) - export "$(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n')" + export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') fi echo $COMMUNITY_DESCRIPTION From 4e87e5a7bf7bebc565e7c5bcac7853b456924ebb Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:13:39 +0100 Subject: [PATCH 24/29] different approach --- deployment/bare_metal/start.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index e575e6267..e519656af 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -27,10 +27,16 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') + # export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') + set -o allexport + source $SCRIPT_DIR/.env + set +o allexport else #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) - export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') + #export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') + set -o allexport + source $SCRIPT_DIR/.env.dist + set +o allexport fi echo $COMMUNITY_DESCRIPTION From 9676672a3464739d857a1cf5f305ceee580be491 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:17:20 +0100 Subject: [PATCH 25/29] .env-template needs quotes? adjusted start.sh and install.sh --- backend/.env.template | 4 ++-- deployment/bare_metal/install.sh | 8 ++++++-- deployment/bare_metal/start.sh | 11 ----------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/backend/.env.template b/backend/.env.template index b3a5eb4c6..e80ceb231 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -21,10 +21,10 @@ KLICKTIPP_APIKEY_DE=$KLICKTIPP_APIKEY_DE KLICKTIPP_APIKEY_EN=$KLICKTIPP_APIKEY_EN # Community -COMMUNITY_NAME=$COMMUNITY_NAME +COMMUNITY_NAME="$COMMUNITY_NAME" COMMUNITY_URL=$COMMUNITY_URL COMMUNITY_REGISTER_URL=$COMMUNITY_REGISTER_URL -COMMUNITY_DESCRIPTION=$COMMUNITY_DESCRIPTION +COMMUNITY_DESCRIPTION="$COMMUNITY_DESCRIPTION" # Login Server LOGIN_APP_SECRET=21ffbbc616fe diff --git a/deployment/bare_metal/install.sh b/deployment/bare_metal/install.sh index caa9c1240..51b8e9cef 100755 --- a/deployment/bare_metal/install.sh +++ b/deployment/bare_metal/install.sh @@ -14,9 +14,13 @@ set +o allexport # NOTE: all config values will be in process.env when starting # the services and will therefore take precedence over the .env if [ -f "$SCRIPT_DIR/.env" ]; then - export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs) + set -o allexport + source $SCRIPT_DIR/.env + set +o allexport else - export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs) + set -o allexport + source $SCRIPT_DIR/.env.dist + set +o allexport fi # Configure git diff --git a/deployment/bare_metal/start.sh b/deployment/bare_metal/start.sh index e519656af..616e4b8ab 100755 --- a/deployment/bare_metal/start.sh +++ b/deployment/bare_metal/start.sh @@ -26,26 +26,15 @@ fi # Load .env or .env.dist if not present if [ -f "$SCRIPT_DIR/.env" ]; then - # export $(cat $SCRIPT_DIR/.env | sed 's/#.*//g' | xargs -0) - # export $(grep -v '^#' $SCRIPT_DIR/.env | xargs -d '\n') set -o allexport source $SCRIPT_DIR/.env set +o allexport else - #export $(cat $SCRIPT_DIR/.env.dist | sed 's/#.*//g' | xargs -0) - #export $(grep -v '^#' $SCRIPT_DIR/.env.dist | xargs -d '\n') set -o allexport source $SCRIPT_DIR/.env.dist set +o allexport fi -echo $COMMUNITY_DESCRIPTION -echo $COMMUNITY_NAME -echo "$COMMUNITY_DESCRIPTION" -echo "$COMMUNITY_NAME" -echo "${COMMUNITY_DESCRIPTION}" -echo "${COMMUNITY_NAME}" - # lock start if [ -f $LOCK_FILE ] ; then echo "Already building!" From 31c5627598c2f3a8f8a2b2b20007793347fb83a9 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:28:33 +0100 Subject: [PATCH 26/29] quotes not needed --- backend/.env.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/.env.template b/backend/.env.template index e80ceb231..b3a5eb4c6 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -21,10 +21,10 @@ KLICKTIPP_APIKEY_DE=$KLICKTIPP_APIKEY_DE KLICKTIPP_APIKEY_EN=$KLICKTIPP_APIKEY_EN # Community -COMMUNITY_NAME="$COMMUNITY_NAME" +COMMUNITY_NAME=$COMMUNITY_NAME COMMUNITY_URL=$COMMUNITY_URL COMMUNITY_REGISTER_URL=$COMMUNITY_REGISTER_URL -COMMUNITY_DESCRIPTION="$COMMUNITY_DESCRIPTION" +COMMUNITY_DESCRIPTION=$COMMUNITY_DESCRIPTION # Login Server LOGIN_APP_SECRET=21ffbbc616fe From 4d258ee4a586b4b30a0d60e4e5eb0f93682ad381 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:33:07 +0100 Subject: [PATCH 27/29] removed todo - thats now done --- deployment/bare_metal/install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/deployment/bare_metal/install.sh b/deployment/bare_metal/install.sh index 51b8e9cef..37a002794 100755 --- a/deployment/bare_metal/install.sh +++ b/deployment/bare_metal/install.sh @@ -114,7 +114,6 @@ sudo mysql < $PROJECT_ROOT/database/.env # Configure backend From 296c56ff3b5ba975c34ae50652eafdb2dd7d5a8e Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:37:53 +0100 Subject: [PATCH 28/29] include .env.bak in gitignore --- admin/.gitignore | 3 ++- database/.gitignore | 3 ++- frontend/.gitignore | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/admin/.gitignore b/admin/.gitignore index a2d05ce19..6bb62f667 100644 --- a/admin/.gitignore +++ b/admin/.gitignore @@ -2,7 +2,8 @@ node_modules/ dist/ .cache/ -.env +/.env +/.env.bak # coverage folder coverage/ diff --git a/database/.gitignore b/database/.gitignore index db7aa096e..bce5da58f 100644 --- a/database/.gitignore +++ b/database/.gitignore @@ -8,7 +8,8 @@ yarn-error.log* test/unit/coverage package-lock.json -.env +/.env +/.env.bak .env.development.local .env.production.local diff --git a/frontend/.gitignore b/frontend/.gitignore index 74ffc56c3..b868f0a64 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -8,7 +8,8 @@ yarn-error.log* test/unit/coverage package-lock.json -.env +/.env +/.env.bak .env.development.local .env.production.local From 8e922a6d1a7f10b9a455d1d13a441fec3b3c83e0 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 7 Feb 2022 07:38:38 +0100 Subject: [PATCH 29/29] unsaved file --- backend/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/.gitignore b/backend/.gitignore index 90ee96052..147e82849 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,5 +1,6 @@ /node_modules/ /.env +/.env.bak /build/ package-json.lock coverage