diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js index 79276ef9d..99b8baa24 100644 --- a/backend/.eslintrc.js +++ b/backend/.eslintrc.js @@ -76,7 +76,30 @@ module.exports = { 'import/no-named-default': 'error', 'import/no-namespace': 'error', 'import/no-unassigned-import': 'error', - 'import/order': 'error', + 'import/order': [ + 'error', + { + groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'], + 'newlines-between': 'always', + pathGroups: [ + { + pattern: '@?*/**', + group: 'external', + position: 'after', + }, + { + pattern: '@/**', + group: 'external', + position: 'after', + }, + ], + alphabetize: { + order: 'asc' /* sort in ascending order. Options: ['ignore', 'asc', 'desc'] */, + caseInsensitive: true /* ignore case. Options: [true, false] */, + }, + distinctGroup: true, + }, + ], 'import/prefer-default-export': 'off', // TODO }, overrides: [ diff --git a/backend/src/apis/HttpRequest.ts b/backend/src/apis/HttpRequest.ts index eff0c408a..d8de68bb8 100644 --- a/backend/src/apis/HttpRequest.ts +++ b/backend/src/apis/HttpRequest.ts @@ -2,8 +2,8 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import axios from 'axios' -import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' // eslint-disable-next-line @typescript-eslint/no-explicit-any export const apiPost = async (url: string, payload: unknown): Promise => { diff --git a/backend/src/apis/KlicktippController.ts b/backend/src/apis/KlicktippController.ts index 70c0f95b1..309cf56ee 100644 --- a/backend/src/apis/KlicktippController.ts +++ b/backend/src/apis/KlicktippController.ts @@ -4,9 +4,10 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +import CONFIG from '@/config' + // eslint-disable-next-line import/no-relative-parent-imports import KlicktippConnector from 'klicktipp-api' -import CONFIG from '@/config' const klicktippConnector = new KlicktippConnector() diff --git a/backend/src/auth/JWT.ts b/backend/src/auth/JWT.ts index 3da1f1d3e..93a6a8868 100644 --- a/backend/src/auth/JWT.ts +++ b/backend/src/auth/JWT.ts @@ -1,8 +1,10 @@ import { verify, sign } from 'jsonwebtoken' -import { CustomJwtPayload } from './CustomJwtPayload' + import CONFIG from '@/config/' import LogError from '@/server/LogError' +import { CustomJwtPayload } from './CustomJwtPayload' + export const decode = (token: string): CustomJwtPayload | null => { if (!token) throw new LogError('401 Unauthorized') try { diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 13e339b13..e6c4e4c24 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -1,7 +1,7 @@ // ATTENTION: DO NOT PUT ANY SECRETS IN HERE (or the .env) -import dotenv from 'dotenv' import { Decimal } from 'decimal.js-light' +import dotenv from 'dotenv' dotenv.config() diff --git a/backend/src/emails/sendEmailTranslated.test.ts b/backend/src/emails/sendEmailTranslated.test.ts index 762b88cf0..85074344a 100644 --- a/backend/src/emails/sendEmailTranslated.test.ts +++ b/backend/src/emails/sendEmailTranslated.test.ts @@ -1,10 +1,13 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/unbound-method */ import { createTransport } from 'nodemailer' -import { sendEmailTranslated } from './sendEmailTranslated' + import { logger, i18n } from '@test/testSetup' + import CONFIG from '@/config' +import { sendEmailTranslated } from './sendEmailTranslated' + CONFIG.EMAIL = false CONFIG.EMAIL_SMTP_URL = 'EMAIL_SMTP_URL' CONFIG.EMAIL_SMTP_PORT = '1234' diff --git a/backend/src/emails/sendEmailTranslated.ts b/backend/src/emails/sendEmailTranslated.ts index d865bac8f..6d89cc257 100644 --- a/backend/src/emails/sendEmailTranslated.ts +++ b/backend/src/emails/sendEmailTranslated.ts @@ -1,11 +1,13 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ import path from 'path' -import { createTransport } from 'nodemailer' + import Email from 'email-templates' import i18n from 'i18n' -import { backendLogger as logger } from '@/server/logger' +import { createTransport } from 'nodemailer' + import CONFIG from '@/config' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' export const sendEmailTranslated = async (params: { receiver: { diff --git a/backend/src/emails/sendEmailVariants.test.ts b/backend/src/emails/sendEmailVariants.test.ts index 399ed89ac..44d996fa8 100644 --- a/backend/src/emails/sendEmailVariants.test.ts +++ b/backend/src/emails/sendEmailVariants.test.ts @@ -4,6 +4,13 @@ /* eslint-disable @typescript-eslint/no-unsafe-call */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { Decimal } from 'decimal.js-light' + +import { testEnvironment } from '@test/helpers' +import { logger, i18n as localization } from '@test/testSetup' + +import CONFIG from '@/config' + +import { sendEmailTranslated } from './sendEmailTranslated' import { sendAddedContributionMessageEmail, sendAccountActivationEmail, @@ -15,10 +22,6 @@ import { sendTransactionLinkRedeemedEmail, sendTransactionReceivedEmail, } from './sendEmailVariants' -import { sendEmailTranslated } from './sendEmailTranslated' -import { testEnvironment } from '@test/helpers' -import { logger, i18n as localization } from '@test/testSetup' -import CONFIG from '@/config' let con: any let testEnv: any diff --git a/backend/src/emails/sendEmailVariants.ts b/backend/src/emails/sendEmailVariants.ts index 2294ebdd5..b45e7fc67 100644 --- a/backend/src/emails/sendEmailVariants.ts +++ b/backend/src/emails/sendEmailVariants.ts @@ -1,8 +1,10 @@ import { Decimal } from 'decimal.js-light' -import { sendEmailTranslated } from './sendEmailTranslated' + import CONFIG from '@/config' import { decimalSeparatorByLanguage } from '@/util/utilities' +import { sendEmailTranslated } from './sendEmailTranslated' + export const sendAddedContributionMessageEmail = (data: { firstName: string lastName: string diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CONFIRM.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CONFIRM.ts index 33c9ae36e..5843fbee9 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CONFIRM.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CONFIRM.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_CONFIRM = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CREATE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CREATE.ts index bf85345cf..f4ad049ca 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CREATE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_CREATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_CREATE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DELETE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DELETE.ts index dd37c76b5..399604e35 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DELETE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DELETE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_DELETE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DENY.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DENY.ts index 8d34be87f..332d3ab92 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DENY.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_DENY.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_DENY = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_CREATE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_CREATE.ts index b7ee39c36..4b06cd3ad 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_CREATE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_CREATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_LINK_CREATE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_DELETE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_DELETE.ts index b5816e45d..c4cd99f57 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_DELETE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_DELETE.ts @@ -1,6 +1,7 @@ -import { User as DbUser } from '@entity/User' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_LINK_DELETE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE.ts index 1cd998e26..f8cd2d16f 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE.ts index f07d38e98..a2385429d 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE.ts @@ -1,7 +1,8 @@ -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE = async ( diff --git a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_UPDATE.ts b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_UPDATE.ts index 7d1bc175e..f2fcb7478 100644 --- a/backend/src/event/EVENT_ADMIN_CONTRIBUTION_UPDATE.ts +++ b/backend/src/event/EVENT_ADMIN_CONTRIBUTION_UPDATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_ADMIN_CONTRIBUTION_UPDATE = async ( diff --git a/backend/src/event/EVENT_ADMIN_USER_DELETE.ts b/backend/src/event/EVENT_ADMIN_USER_DELETE.ts index bfd5be740..bfd3e2bcc 100644 --- a/backend/src/event/EVENT_ADMIN_USER_DELETE.ts +++ b/backend/src/event/EVENT_ADMIN_USER_DELETE.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_ADMIN_USER_DELETE = async (user: DbUser, moderator: DbUser): Promise => diff --git a/backend/src/event/EVENT_ADMIN_USER_ROLE_SET.ts b/backend/src/event/EVENT_ADMIN_USER_ROLE_SET.ts index 3be825ad4..7902f5318 100644 --- a/backend/src/event/EVENT_ADMIN_USER_ROLE_SET.ts +++ b/backend/src/event/EVENT_ADMIN_USER_ROLE_SET.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_ADMIN_USER_ROLE_SET = async ( diff --git a/backend/src/event/EVENT_ADMIN_USER_UNDELETE.ts b/backend/src/event/EVENT_ADMIN_USER_UNDELETE.ts index eb861dbf1..338a3a31d 100644 --- a/backend/src/event/EVENT_ADMIN_USER_UNDELETE.ts +++ b/backend/src/event/EVENT_ADMIN_USER_UNDELETE.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_ADMIN_USER_UNDELETE = async ( diff --git a/backend/src/event/EVENT_CONTRIBUTION_CREATE.ts b/backend/src/event/EVENT_CONTRIBUTION_CREATE.ts index f1469c725..96e24ec61 100644 --- a/backend/src/event/EVENT_CONTRIBUTION_CREATE.ts +++ b/backend/src/event/EVENT_CONTRIBUTION_CREATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_CONTRIBUTION_CREATE = async ( diff --git a/backend/src/event/EVENT_CONTRIBUTION_DELETE.ts b/backend/src/event/EVENT_CONTRIBUTION_DELETE.ts index 8c62e3ae6..acf11bbb0 100644 --- a/backend/src/event/EVENT_CONTRIBUTION_DELETE.ts +++ b/backend/src/event/EVENT_CONTRIBUTION_DELETE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_CONTRIBUTION_DELETE = async ( diff --git a/backend/src/event/EVENT_CONTRIBUTION_LINK_REDEEM.ts b/backend/src/event/EVENT_CONTRIBUTION_LINK_REDEEM.ts index 9f44de95d..1202aa387 100644 --- a/backend/src/event/EVENT_CONTRIBUTION_LINK_REDEEM.ts +++ b/backend/src/event/EVENT_CONTRIBUTION_LINK_REDEEM.ts @@ -1,9 +1,10 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' -import { Transaction as DbTransaction } from '@entity/Transaction' import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Event as DbEvent } from '@entity/Event' +import { Transaction as DbTransaction } from '@entity/Transaction' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_CONTRIBUTION_LINK_REDEEM = async ( diff --git a/backend/src/event/EVENT_CONTRIBUTION_MESSAGE_CREATE.ts b/backend/src/event/EVENT_CONTRIBUTION_MESSAGE_CREATE.ts index b06685a6d..bfb7f742e 100644 --- a/backend/src/event/EVENT_CONTRIBUTION_MESSAGE_CREATE.ts +++ b/backend/src/event/EVENT_CONTRIBUTION_MESSAGE_CREATE.ts @@ -1,7 +1,8 @@ -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_CONTRIBUTION_MESSAGE_CREATE = async ( diff --git a/backend/src/event/EVENT_CONTRIBUTION_UPDATE.ts b/backend/src/event/EVENT_CONTRIBUTION_UPDATE.ts index c2e6951cc..3e3d82b67 100644 --- a/backend/src/event/EVENT_CONTRIBUTION_UPDATE.ts +++ b/backend/src/event/EVENT_CONTRIBUTION_UPDATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' import { Contribution as DbContribution } from '@entity/Contribution' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_CONTRIBUTION_UPDATE = async ( diff --git a/backend/src/event/EVENT_EMAIL_ACCOUNT_MULTIREGISTRATION.ts b/backend/src/event/EVENT_EMAIL_ACCOUNT_MULTIREGISTRATION.ts index c16bbfac3..ae3a65ed2 100644 --- a/backend/src/event/EVENT_EMAIL_ACCOUNT_MULTIREGISTRATION.ts +++ b/backend/src/event/EVENT_EMAIL_ACCOUNT_MULTIREGISTRATION.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_EMAIL_ACCOUNT_MULTIREGISTRATION = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_EMAIL_ADMIN_CONFIRMATION.ts b/backend/src/event/EVENT_EMAIL_ADMIN_CONFIRMATION.ts index ae10f9fba..6262d42a5 100644 --- a/backend/src/event/EVENT_EMAIL_ADMIN_CONFIRMATION.ts +++ b/backend/src/event/EVENT_EMAIL_ADMIN_CONFIRMATION.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_EMAIL_ADMIN_CONFIRMATION = async ( diff --git a/backend/src/event/EVENT_EMAIL_CONFIRMATION.ts b/backend/src/event/EVENT_EMAIL_CONFIRMATION.ts index 9d64207e0..beb774632 100644 --- a/backend/src/event/EVENT_EMAIL_CONFIRMATION.ts +++ b/backend/src/event/EVENT_EMAIL_CONFIRMATION.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_EMAIL_CONFIRMATION = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_EMAIL_FORGOT_PASSWORD.ts b/backend/src/event/EVENT_EMAIL_FORGOT_PASSWORD.ts index f7e328369..a7d60e60f 100644 --- a/backend/src/event/EVENT_EMAIL_FORGOT_PASSWORD.ts +++ b/backend/src/event/EVENT_EMAIL_FORGOT_PASSWORD.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_EMAIL_FORGOT_PASSWORD = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_TRANSACTION_LINK_CREATE.ts b/backend/src/event/EVENT_TRANSACTION_LINK_CREATE.ts index e766fe38e..64bc2f6e5 100644 --- a/backend/src/event/EVENT_TRANSACTION_LINK_CREATE.ts +++ b/backend/src/event/EVENT_TRANSACTION_LINK_CREATE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' -import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { Event as DbEvent } from '@entity/Event' +import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_TRANSACTION_LINK_CREATE = async ( diff --git a/backend/src/event/EVENT_TRANSACTION_LINK_DELETE.ts b/backend/src/event/EVENT_TRANSACTION_LINK_DELETE.ts index d15c786a8..7a6ee9576 100644 --- a/backend/src/event/EVENT_TRANSACTION_LINK_DELETE.ts +++ b/backend/src/event/EVENT_TRANSACTION_LINK_DELETE.ts @@ -1,6 +1,7 @@ -import { User as DbUser } from '@entity/User' -import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { Event as DbEvent } from '@entity/Event' +import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_TRANSACTION_LINK_DELETE = async ( diff --git a/backend/src/event/EVENT_TRANSACTION_LINK_REDEEM.ts b/backend/src/event/EVENT_TRANSACTION_LINK_REDEEM.ts index 5f8cd5c4d..576811d25 100644 --- a/backend/src/event/EVENT_TRANSACTION_LINK_REDEEM.ts +++ b/backend/src/event/EVENT_TRANSACTION_LINK_REDEEM.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' -import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { Event as DbEvent } from '@entity/Event' +import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_TRANSACTION_LINK_REDEEM = async ( diff --git a/backend/src/event/EVENT_TRANSACTION_RECEIVE.ts b/backend/src/event/EVENT_TRANSACTION_RECEIVE.ts index c6e06ccb7..22a71bc25 100644 --- a/backend/src/event/EVENT_TRANSACTION_RECEIVE.ts +++ b/backend/src/event/EVENT_TRANSACTION_RECEIVE.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' -import { Transaction as DbTransaction } from '@entity/Transaction' import { Event as DbEvent } from '@entity/Event' +import { Transaction as DbTransaction } from '@entity/Transaction' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_TRANSACTION_RECEIVE = async ( diff --git a/backend/src/event/EVENT_TRANSACTION_SEND.ts b/backend/src/event/EVENT_TRANSACTION_SEND.ts index 888162747..1327d739d 100644 --- a/backend/src/event/EVENT_TRANSACTION_SEND.ts +++ b/backend/src/event/EVENT_TRANSACTION_SEND.ts @@ -1,7 +1,8 @@ -import { Decimal } from 'decimal.js-light' -import { User as DbUser } from '@entity/User' -import { Transaction as DbTransaction } from '@entity/Transaction' import { Event as DbEvent } from '@entity/Event' +import { Transaction as DbTransaction } from '@entity/Transaction' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' + import { Event, EventType } from './Event' export const EVENT_TRANSACTION_SEND = async ( diff --git a/backend/src/event/EVENT_USER_ACTIVATE_ACCOUNT.ts b/backend/src/event/EVENT_USER_ACTIVATE_ACCOUNT.ts index 2e224d550..0213f122f 100644 --- a/backend/src/event/EVENT_USER_ACTIVATE_ACCOUNT.ts +++ b/backend/src/event/EVENT_USER_ACTIVATE_ACCOUNT.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_USER_ACTIVATE_ACCOUNT = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_USER_INFO_UPDATE.ts b/backend/src/event/EVENT_USER_INFO_UPDATE.ts index 681ecd473..28b3fe237 100644 --- a/backend/src/event/EVENT_USER_INFO_UPDATE.ts +++ b/backend/src/event/EVENT_USER_INFO_UPDATE.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_USER_INFO_UPDATE = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_USER_LOGIN.ts b/backend/src/event/EVENT_USER_LOGIN.ts index 351ec5a95..64d43b264 100644 --- a/backend/src/event/EVENT_USER_LOGIN.ts +++ b/backend/src/event/EVENT_USER_LOGIN.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_USER_LOGIN = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_USER_LOGOUT.ts b/backend/src/event/EVENT_USER_LOGOUT.ts index 4f5650fc6..4b00c9839 100644 --- a/backend/src/event/EVENT_USER_LOGOUT.ts +++ b/backend/src/event/EVENT_USER_LOGOUT.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_USER_LOGOUT = async (user: DbUser): Promise => diff --git a/backend/src/event/EVENT_USER_REGISTER.ts b/backend/src/event/EVENT_USER_REGISTER.ts index cdb8b22e2..2d31299f1 100644 --- a/backend/src/event/EVENT_USER_REGISTER.ts +++ b/backend/src/event/EVENT_USER_REGISTER.ts @@ -1,5 +1,6 @@ -import { User as DbUser } from '@entity/User' import { Event as DbEvent } from '@entity/Event' +import { User as DbUser } from '@entity/User' + import { Event, EventType } from './Event' export const EVENT_USER_REGISTER = async (user: DbUser): Promise => diff --git a/backend/src/event/Event.ts b/backend/src/event/Event.ts index feb167adf..d3f515d51 100644 --- a/backend/src/event/Event.ts +++ b/backend/src/event/Event.ts @@ -1,11 +1,12 @@ +import { Contribution as DbContribution } from '@entity/Contribution' +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { Event as DbEvent } from '@entity/Event' -import { User as DbUser } from '@entity/User' import { Transaction as DbTransaction } from '@entity/Transaction' import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' -import { Contribution as DbContribution } from '@entity/Contribution' -import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' -import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { User as DbUser } from '@entity/User' import { Decimal } from 'decimal.js-light' + import { EventType } from './EventType' export const Event = ( diff --git a/backend/src/federation/client/1_0/FederationClient.ts b/backend/src/federation/client/1_0/FederationClient.ts index ce0d708bc..c4063e4c5 100644 --- a/backend/src/federation/client/1_0/FederationClient.ts +++ b/backend/src/federation/client/1_0/FederationClient.ts @@ -1,11 +1,12 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-return */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ -import { gql } from 'graphql-request' import { Community as DbCommunity } from '@entity/Community' +import { gql } from 'graphql-request' + import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' -import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' export async function requestGetPublicKey(dbCom: DbCommunity): Promise { let endpoint = dbCom.endPoint.endsWith('/') ? dbCom.endPoint : dbCom.endPoint + '/' diff --git a/backend/src/federation/client/1_1/FederationClient.ts b/backend/src/federation/client/1_1/FederationClient.ts index 579a9701c..b29960407 100644 --- a/backend/src/federation/client/1_1/FederationClient.ts +++ b/backend/src/federation/client/1_1/FederationClient.ts @@ -1,11 +1,12 @@ /* eslint-disable @typescript-eslint/no-unsafe-return */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -import { gql } from 'graphql-request' import { Community as DbCommunity } from '@entity/Community' +import { gql } from 'graphql-request' + import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' -import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' export async function requestGetPublicKey(dbCom: DbCommunity): Promise { let endpoint = dbCom.endPoint.endsWith('/') ? dbCom.endPoint : dbCom.endPoint + '/' diff --git a/backend/src/federation/validateCommunities.test.ts b/backend/src/federation/validateCommunities.test.ts index a99bb3274..d90664b63 100644 --- a/backend/src/federation/validateCommunities.test.ts +++ b/backend/src/federation/validateCommunities.test.ts @@ -6,9 +6,11 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Community as DbCommunity } from '@entity/Community' -import { validateCommunities } from './validateCommunities' -import { logger } from '@test/testSetup' + import { testEnvironment, cleanDB } from '@test/helpers' +import { logger } from '@test/testSetup' + +import { validateCommunities } from './validateCommunities' let con: any let testEnv: any diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index 19185e4d9..fb6bda673 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -1,12 +1,14 @@ -import { Community as DbCommunity } from '@entity/Community' import { IsNull } from '@dbTools/typeorm' +import { Community as DbCommunity } from '@entity/Community' + +import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' + // eslint-disable-next-line camelcase import { requestGetPublicKey as v1_0_requestGetPublicKey } from './client/1_0/FederationClient' // eslint-disable-next-line camelcase import { requestGetPublicKey as v1_1_requestGetPublicKey } from './client/1_1/FederationClient' import { ApiVersionType } from './enum/apiVersionType' -import { backendLogger as logger } from '@/server/logger' -import LogError from '@/server/LogError' export function startValidateCommunities(timerInterval: number): void { logger.info( diff --git a/backend/src/graphql/arg/AdminCreateContributionArgs.ts b/backend/src/graphql/arg/AdminCreateContributionArgs.ts index 6259e672e..65aeb82e5 100644 --- a/backend/src/graphql/arg/AdminCreateContributionArgs.ts +++ b/backend/src/graphql/arg/AdminCreateContributionArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field, InputType } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field, InputType } from 'type-graphql' @InputType() @ArgsType() diff --git a/backend/src/graphql/arg/AdminUpdateContributionArgs.ts b/backend/src/graphql/arg/AdminUpdateContributionArgs.ts index fd973ef4b..6a8f00dc2 100644 --- a/backend/src/graphql/arg/AdminUpdateContributionArgs.ts +++ b/backend/src/graphql/arg/AdminUpdateContributionArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field, Int } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() export default class AdminUpdateContributionArgs { diff --git a/backend/src/graphql/arg/ContributionArgs.ts b/backend/src/graphql/arg/ContributionArgs.ts index dc4285e4d..cc8aea41e 100644 --- a/backend/src/graphql/arg/ContributionArgs.ts +++ b/backend/src/graphql/arg/ContributionArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field, InputType } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field, InputType } from 'type-graphql' @InputType() @ArgsType() diff --git a/backend/src/graphql/arg/ContributionLinkArgs.ts b/backend/src/graphql/arg/ContributionLinkArgs.ts index fac1eacc1..d28a7808f 100644 --- a/backend/src/graphql/arg/ContributionLinkArgs.ts +++ b/backend/src/graphql/arg/ContributionLinkArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field, Int } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() export default class ContributionLinkArgs { diff --git a/backend/src/graphql/arg/Paginated.ts b/backend/src/graphql/arg/Paginated.ts index 290dba337..e605c49d4 100644 --- a/backend/src/graphql/arg/Paginated.ts +++ b/backend/src/graphql/arg/Paginated.ts @@ -1,5 +1,6 @@ /* eslint-disable type-graphql/invalid-nullable-input-type */ import { ArgsType, Field, Int } from 'type-graphql' + import { Order } from '@enum/Order' @ArgsType() diff --git a/backend/src/graphql/arg/SearchUsersArgs.ts b/backend/src/graphql/arg/SearchUsersArgs.ts index 39996efca..de7275f63 100644 --- a/backend/src/graphql/arg/SearchUsersArgs.ts +++ b/backend/src/graphql/arg/SearchUsersArgs.ts @@ -1,4 +1,5 @@ import { ArgsType, Field, Int } from 'type-graphql' + import SearchUsersFilters from '@arg/SearchUsersFilters' @ArgsType() diff --git a/backend/src/graphql/arg/TransactionLinkArgs.ts b/backend/src/graphql/arg/TransactionLinkArgs.ts index 6c1c4654a..19720e321 100644 --- a/backend/src/graphql/arg/TransactionLinkArgs.ts +++ b/backend/src/graphql/arg/TransactionLinkArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field } from 'type-graphql' @ArgsType() export default class TransactionLinkArgs { diff --git a/backend/src/graphql/arg/TransactionSendArgs.ts b/backend/src/graphql/arg/TransactionSendArgs.ts index c0faff850..d91cecbcd 100644 --- a/backend/src/graphql/arg/TransactionSendArgs.ts +++ b/backend/src/graphql/arg/TransactionSendArgs.ts @@ -1,5 +1,5 @@ -import { ArgsType, Field } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ArgsType, Field } from 'type-graphql' @ArgsType() export default class TransactionSendArgs { diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index 6cdac9b97..a018fd230 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -2,13 +2,13 @@ /* eslint-disable @typescript-eslint/no-unsafe-call */ /* eslint-disable @typescript-eslint/no-explicit-any */ +import { User } from '@entity/User' import { AuthChecker } from 'type-graphql' -import { User } from '@entity/User' -import { decode, encode } from '@/auth/JWT' -import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '@/auth/ROLES' -import { RIGHTS } from '@/auth/RIGHTS' import { INALIENABLE_RIGHTS } from '@/auth/INALIENABLE_RIGHTS' +import { decode, encode } from '@/auth/JWT' +import { RIGHTS } from '@/auth/RIGHTS' +import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '@/auth/ROLES' import LogError from '@/server/LogError' const isAuthorized: AuthChecker = async ({ context }, rights) => { diff --git a/backend/src/graphql/model/AdminUpdateContribution.ts b/backend/src/graphql/model/AdminUpdateContribution.ts index d5cd4fc7f..b7c3df6bd 100644 --- a/backend/src/graphql/model/AdminUpdateContribution.ts +++ b/backend/src/graphql/model/AdminUpdateContribution.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field } from 'type-graphql' @ObjectType() export class AdminUpdateContribution { diff --git a/backend/src/graphql/model/Balance.ts b/backend/src/graphql/model/Balance.ts index d68237db9..162ccc3c0 100644 --- a/backend/src/graphql/model/Balance.ts +++ b/backend/src/graphql/model/Balance.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int, Float } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int, Float } from 'type-graphql' @ObjectType() export class Balance { diff --git a/backend/src/graphql/model/Community.ts b/backend/src/graphql/model/Community.ts index ec91ad36f..22b2b1fc6 100644 --- a/backend/src/graphql/model/Community.ts +++ b/backend/src/graphql/model/Community.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { Community as DbCommunity } from '@entity/Community' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class Community { diff --git a/backend/src/graphql/model/CommunityStatistics.ts b/backend/src/graphql/model/CommunityStatistics.ts index 1fb1ded46..775ad183b 100644 --- a/backend/src/graphql/model/CommunityStatistics.ts +++ b/backend/src/graphql/model/CommunityStatistics.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class DynamicStatisticsFields { diff --git a/backend/src/graphql/model/Contribution.ts b/backend/src/graphql/model/Contribution.ts index 7ca745e84..b5db21b16 100644 --- a/backend/src/graphql/model/Contribution.ts +++ b/backend/src/graphql/model/Contribution.ts @@ -1,7 +1,7 @@ -import { ObjectType, Field, Int } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import { Contribution as dbContribution } from '@entity/Contribution' import { User } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class Contribution { diff --git a/backend/src/graphql/model/ContributionLink.ts b/backend/src/graphql/model/ContributionLink.ts index 13ae31692..e47ffc6ed 100644 --- a/backend/src/graphql/model/ContributionLink.ts +++ b/backend/src/graphql/model/ContributionLink.ts @@ -1,6 +1,7 @@ -import { ObjectType, Field, Int } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import { ContributionLink as dbContributionLink } from '@entity/ContributionLink' +import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' + import CONFIG from '@/config' @ObjectType() diff --git a/backend/src/graphql/model/ContributionLinkList.ts b/backend/src/graphql/model/ContributionLinkList.ts index d2c347b27..c35f6fae6 100644 --- a/backend/src/graphql/model/ContributionLinkList.ts +++ b/backend/src/graphql/model/ContributionLinkList.ts @@ -1,4 +1,5 @@ import { ObjectType, Field, Int } from 'type-graphql' + import { ContributionLink } from '@model/ContributionLink' @ObjectType() diff --git a/backend/src/graphql/model/ContributionMessage.ts b/backend/src/graphql/model/ContributionMessage.ts index 6bd6a4715..6f70d5024 100644 --- a/backend/src/graphql/model/ContributionMessage.ts +++ b/backend/src/graphql/model/ContributionMessage.ts @@ -1,6 +1,6 @@ -import { Field, Int, ObjectType } from 'type-graphql' import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { User } from '@entity/User' +import { Field, Int, ObjectType } from 'type-graphql' @ObjectType() export class ContributionMessage { diff --git a/backend/src/graphql/model/Decay.ts b/backend/src/graphql/model/Decay.ts index 3e8412dfa..0b710c234 100644 --- a/backend/src/graphql/model/Decay.ts +++ b/backend/src/graphql/model/Decay.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' interface DecayInterface { balance: Decimal diff --git a/backend/src/graphql/model/GdtEntry.ts b/backend/src/graphql/model/GdtEntry.ts index bbf1cceef..81dda0ca7 100644 --- a/backend/src/graphql/model/GdtEntry.ts +++ b/backend/src/graphql/model/GdtEntry.ts @@ -3,6 +3,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { ObjectType, Field, Float, Int } from 'type-graphql' + import { GdtEntryType } from '@enum/GdtEntryType' @ObjectType() diff --git a/backend/src/graphql/model/GdtEntryList.ts b/backend/src/graphql/model/GdtEntryList.ts index d992de54c..06f77f532 100644 --- a/backend/src/graphql/model/GdtEntryList.ts +++ b/backend/src/graphql/model/GdtEntryList.ts @@ -4,6 +4,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { ObjectType, Field, Int, Float } from 'type-graphql' + import { GdtEntry } from './GdtEntry' @ObjectType() diff --git a/backend/src/graphql/model/OpenCreation.ts b/backend/src/graphql/model/OpenCreation.ts index ed9ef731e..46ee8117f 100644 --- a/backend/src/graphql/model/OpenCreation.ts +++ b/backend/src/graphql/model/OpenCreation.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class OpenCreation { diff --git a/backend/src/graphql/model/Transaction.ts b/backend/src/graphql/model/Transaction.ts index 8f0d1eadc..1b857391b 100644 --- a/backend/src/graphql/model/Transaction.ts +++ b/backend/src/graphql/model/Transaction.ts @@ -1,9 +1,11 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { Transaction as dbTransaction } from '@entity/Transaction' import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' + +import { TransactionTypeId } from '@enum/TransactionTypeId' + import { Decay } from './Decay' import { User } from './User' -import { TransactionTypeId } from '@enum/TransactionTypeId' @ObjectType() export class Transaction { diff --git a/backend/src/graphql/model/TransactionLink.ts b/backend/src/graphql/model/TransactionLink.ts index ddd22f36f..7356e97c6 100644 --- a/backend/src/graphql/model/TransactionLink.ts +++ b/backend/src/graphql/model/TransactionLink.ts @@ -1,9 +1,11 @@ -import { ObjectType, Field, Int } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' -import { User } from './User' +import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' + import CONFIG from '@/config' +import { User } from './User' + @ObjectType() export class TransactionLink { constructor(transactionLink: dbTransactionLink, user: User, redeemedBy: User | null = null) { diff --git a/backend/src/graphql/model/TransactionList.ts b/backend/src/graphql/model/TransactionList.ts index 888c30dc7..77f9f6481 100644 --- a/backend/src/graphql/model/TransactionList.ts +++ b/backend/src/graphql/model/TransactionList.ts @@ -1,6 +1,7 @@ import { ObjectType, Field } from 'type-graphql' -import { Transaction } from './Transaction' + import { Balance } from './Balance' +import { Transaction } from './Transaction' @ObjectType() export class TransactionList { diff --git a/backend/src/graphql/model/UnconfirmedContribution.ts b/backend/src/graphql/model/UnconfirmedContribution.ts index 439f70a16..dece05781 100644 --- a/backend/src/graphql/model/UnconfirmedContribution.ts +++ b/backend/src/graphql/model/UnconfirmedContribution.ts @@ -1,7 +1,7 @@ -import { ObjectType, Field, Int } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import { Contribution } from '@entity/Contribution' import { User } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class UnconfirmedContribution { diff --git a/backend/src/graphql/model/User.ts b/backend/src/graphql/model/User.ts index 85c6de798..c705ba912 100644 --- a/backend/src/graphql/model/User.ts +++ b/backend/src/graphql/model/User.ts @@ -1,5 +1,6 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { User as dbUser } from '@entity/User' +import { ObjectType, Field, Int } from 'type-graphql' + import { KlickTipp } from './KlickTipp' import { UserContact } from './UserContact' diff --git a/backend/src/graphql/model/UserAdmin.ts b/backend/src/graphql/model/UserAdmin.ts index 84512d812..3e7210874 100644 --- a/backend/src/graphql/model/UserAdmin.ts +++ b/backend/src/graphql/model/UserAdmin.ts @@ -1,6 +1,6 @@ -import { ObjectType, Field, Int } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import { User } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class UserAdmin { diff --git a/backend/src/graphql/model/UserContact.ts b/backend/src/graphql/model/UserContact.ts index bb31d0745..4a6ed47b6 100644 --- a/backend/src/graphql/model/UserContact.ts +++ b/backend/src/graphql/model/UserContact.ts @@ -1,5 +1,5 @@ -import { ObjectType, Field, Int } from 'type-graphql' import { UserContact as dbUserContact } from '@entity/UserContact' +import { ObjectType, Field, Int } from 'type-graphql' @ObjectType() export class UserContact { diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index 7600f12b9..deedb9dff 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -1,21 +1,20 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ -import { Decimal } from 'decimal.js-light' -import { Resolver, Query, Ctx, Authorized } from 'type-graphql' import { getCustomRepository } from '@dbTools/typeorm' - import { Transaction as dbTransaction } from '@entity/Transaction' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' +import { Decimal } from 'decimal.js-light' +import { Resolver, Query, Ctx, Authorized } from 'type-graphql' + +import { Balance } from '@model/Balance' +import { TransactionLinkRepository } from '@repository/TransactionLink' + +import { RIGHTS } from '@/auth/RIGHTS' +import { Context, getUser } from '@/server/context' +import { backendLogger as logger } from '@/server/logger' +import { calculateDecay } from '@/util/decay' import { GdtResolver } from './GdtResolver' import { getLastTransaction } from './util/getLastTransaction' -import { TransactionLinkRepository } from '@repository/TransactionLink' - -import { Balance } from '@model/Balance' - -import { backendLogger as logger } from '@/server/logger' -import { Context, getUser } from '@/server/context' -import { calculateDecay } from '@/util/decay' -import { RIGHTS } from '@/auth/RIGHTS' @Resolver() export class BalanceResolver { diff --git a/backend/src/graphql/resolver/CommunityResolver.test.ts b/backend/src/graphql/resolver/CommunityResolver.test.ts index f4352c095..5b4b26cad 100644 --- a/backend/src/graphql/resolver/CommunityResolver.test.ts +++ b/backend/src/graphql/resolver/CommunityResolver.test.ts @@ -6,9 +6,11 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Community as DbCommunity } from '@entity/Community' -import { getCommunities } from '@/seeds/graphql/queries' + import { testEnvironment } from '@test/helpers' +import { getCommunities } from '@/seeds/graphql/queries' + let query: any // to do: We need a setup for the tests that closes the connection diff --git a/backend/src/graphql/resolver/CommunityResolver.ts b/backend/src/graphql/resolver/CommunityResolver.ts index 6aca41472..86e55ad1f 100644 --- a/backend/src/graphql/resolver/CommunityResolver.ts +++ b/backend/src/graphql/resolver/CommunityResolver.ts @@ -1,6 +1,6 @@ +import { Community as DbCommunity } from '@entity/Community' import { Resolver, Query, Authorized } from 'type-graphql' -import { Community as DbCommunity } from '@entity/Community' import { Community } from '@model/Community' import { RIGHTS } from '@/auth/RIGHTS' diff --git a/backend/src/graphql/resolver/ContributionLinkResolver.test.ts b/backend/src/graphql/resolver/ContributionLinkResolver.test.ts index 6a69e257e..2247318a3 100644 --- a/backend/src/graphql/resolver/ContributionLinkResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionLinkResolver.test.ts @@ -4,11 +4,16 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { Decimal } from 'decimal.js-light' -import { GraphQLError } from 'graphql' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Event as DbEvent } from '@entity/Event' +import { Decimal } from 'decimal.js-light' +import { GraphQLError } from 'graphql' + +import { cleanDB, testEnvironment, resetToken } from '@test/helpers' import { logger } from '@test/testSetup' + +import { EventType } from '@/event/Event' +import { userFactory } from '@/seeds/factory/user' import { login, createContributionLink, @@ -16,11 +21,8 @@ import { updateContributionLink, } from '@/seeds/graphql/mutations' import { listContributionLinks } from '@/seeds/graphql/queries' -import { cleanDB, testEnvironment, resetToken } from '@test/helpers' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { peterLustig } from '@/seeds/users/peter-lustig' -import { userFactory } from '@/seeds/factory/user' -import { EventType } from '@/event/Event' let mutate: any, query: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/ContributionLinkResolver.ts b/backend/src/graphql/resolver/ContributionLinkResolver.ts index 55a23187f..af76856c4 100644 --- a/backend/src/graphql/resolver/ContributionLinkResolver.ts +++ b/backend/src/graphql/resolver/ContributionLinkResolver.ts @@ -1,31 +1,32 @@ +import { MoreThan, IsNull } from '@dbTools/typeorm' +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Decimal } from 'decimal.js-light' import { Resolver, Args, Arg, Authorized, Mutation, Query, Int, Ctx } from 'type-graphql' -import { MoreThan, IsNull } from '@dbTools/typeorm' -import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +// TODO: this is a strange construct +import ContributionLinkArgs from '@arg/ContributionLinkArgs' +import Paginated from '@arg/Paginated' +import { Order } from '@enum/Order' +import { ContributionLink } from '@model/ContributionLink' +import { ContributionLinkList } from '@model/ContributionLinkList' + +import { RIGHTS } from '@/auth/RIGHTS' +import { + EVENT_ADMIN_CONTRIBUTION_LINK_CREATE, + EVENT_ADMIN_CONTRIBUTION_LINK_DELETE, + EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE, +} from '@/event/Event' +import { Context, getUser } from '@/server/context' +import LogError from '@/server/LogError' + import { CONTRIBUTIONLINK_NAME_MAX_CHARS, CONTRIBUTIONLINK_NAME_MIN_CHARS, MEMO_MAX_CHARS, MEMO_MIN_CHARS, } from './const/const' -import { isStartEndDateValid } from './util/creations' import { transactionLinkCode as contributionLinkCode } from './TransactionLinkResolver' -import { ContributionLinkList } from '@model/ContributionLinkList' -import { ContributionLink } from '@model/ContributionLink' -import ContributionLinkArgs from '@arg/ContributionLinkArgs' -import { RIGHTS } from '@/auth/RIGHTS' -import { Order } from '@enum/Order' -import Paginated from '@arg/Paginated' - -// TODO: this is a strange construct -import LogError from '@/server/LogError' -import { Context, getUser } from '@/server/context' -import { - EVENT_ADMIN_CONTRIBUTION_LINK_CREATE, - EVENT_ADMIN_CONTRIBUTION_LINK_DELETE, - EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE, -} from '@/event/Event' +import { isStartEndDateValid } from './util/creations' @Resolver() export class ContributionLinkResolver { diff --git a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts index 6b2c7c4d8..189cb6e44 100644 --- a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts @@ -6,10 +6,15 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { GraphQLError } from 'graphql' import { Event as DbEvent } from '@entity/Event' +import { GraphQLError } from 'graphql' + import { cleanDB, resetToken, testEnvironment } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' + +import { sendAddedContributionMessageEmail } from '@/emails/sendEmailVariants' +import { EventType } from '@/event/Event' +import { userFactory } from '@/seeds/factory/user' import { adminCreateContributionMessage, createContribution, @@ -17,11 +22,8 @@ import { login, } from '@/seeds/graphql/mutations' import { listContributionMessages } from '@/seeds/graphql/queries' -import { userFactory } from '@/seeds/factory/user' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { peterLustig } from '@/seeds/users/peter-lustig' -import { sendAddedContributionMessageEmail } from '@/emails/sendEmailVariants' -import { EventType } from '@/event/Event' jest.mock('@/emails/sendEmailVariants', () => { const originalModule = jest.requireActual('@/emails/sendEmailVariants') diff --git a/backend/src/graphql/resolver/ContributionMessageResolver.ts b/backend/src/graphql/resolver/ContributionMessageResolver.ts index 999ccc2b1..adfb40f89 100644 --- a/backend/src/graphql/resolver/ContributionMessageResolver.ts +++ b/backend/src/graphql/resolver/ContributionMessageResolver.ts @@ -1,27 +1,26 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ -import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql' import { getConnection } from '@dbTools/typeorm' - -import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { Contribution as DbContribution } from '@entity/Contribution' -import { UserContact as DbUserContact } from '@entity/UserContact' +import { ContributionMessage as DbContributionMessage } from '@entity/ContributionMessage' import { User as DbUser } from '@entity/User' +import { UserContact as DbUserContact } from '@entity/UserContact' +import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql' -import { ContributionMessage, ContributionMessageListResult } from '@model/ContributionMessage' import ContributionMessageArgs from '@arg/ContributionMessageArgs' -import { ContributionMessageType } from '@enum/MessageType' -import { ContributionStatus } from '@enum/ContributionStatus' -import { Order } from '@enum/Order' import Paginated from '@arg/Paginated' +import { ContributionStatus } from '@enum/ContributionStatus' +import { ContributionMessageType } from '@enum/MessageType' +import { Order } from '@enum/Order' +import { ContributionMessage, ContributionMessageListResult } from '@model/ContributionMessage' import { RIGHTS } from '@/auth/RIGHTS' -import { Context, getUser } from '@/server/context' import { sendAddedContributionMessageEmail } from '@/emails/sendEmailVariants' -import LogError from '@/server/LogError' import { EVENT_ADMIN_CONTRIBUTION_MESSAGE_CREATE, EVENT_CONTRIBUTION_MESSAGE_CREATE, } from '@/event/Event' +import { Context, getUser } from '@/server/context' +import LogError from '@/server/LogError' @Resolver() export class ContributionMessageResolver { diff --git a/backend/src/graphql/resolver/ContributionResolver.test.ts b/backend/src/graphql/resolver/ContributionResolver.test.ts index 201d04db1..6d3f29280 100644 --- a/backend/src/graphql/resolver/ContributionResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionResolver.test.ts @@ -6,17 +6,36 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { Decimal } from 'decimal.js-light' -import { GraphQLError } from 'graphql' import { Contribution } from '@entity/Contribution' +import { Event as DbEvent } from '@entity/Event' import { Transaction as DbTransaction } from '@entity/Transaction' import { User } from '@entity/User' import { UserInputError } from 'apollo-server-express' -import { Event as DbEvent } from '@entity/Event' -import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' -import { bobBaumeister } from '@/seeds/users/bob-baumeister' -import { stephenHawking } from '@/seeds/users/stephen-hawking' -import { garrickOllivander } from '@/seeds/users/garrick-ollivander' +import { Decimal } from 'decimal.js-light' +import { GraphQLError } from 'graphql' + +import { ContributionStatus } from '@enum/ContributionStatus' +import { Order } from '@enum/Order' +import { ContributionListResult } from '@model/Contribution' +import { UnconfirmedContribution } from '@model/UnconfirmedContribution' +import { + cleanDB, + resetToken, + testEnvironment, + contributionDateFormatter, + resetEntity, +} from '@test/helpers' +import { logger, i18n as localization } from '@test/testSetup' + +import { + sendContributionConfirmedEmail, + sendContributionDeletedEmail, + sendContributionDeniedEmail, +} from '@/emails/sendEmailVariants' +import { EventType } from '@/event/Event' +import { creations } from '@/seeds/creation/index' +import { creationFactory } from '@/seeds/factory/creation' +import { userFactory } from '@/seeds/factory/user' import { createContribution, updateContribution, @@ -35,29 +54,12 @@ import { listContributions, adminListContributions, } from '@/seeds/graphql/queries' -import { - sendContributionConfirmedEmail, - sendContributionDeletedEmail, - sendContributionDeniedEmail, -} from '@/emails/sendEmailVariants' -import { - cleanDB, - resetToken, - testEnvironment, - contributionDateFormatter, - resetEntity, -} from '@test/helpers' -import { userFactory } from '@/seeds/factory/user' -import { creationFactory } from '@/seeds/factory/creation' -import { creations } from '@/seeds/creation/index' +import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' +import { bobBaumeister } from '@/seeds/users/bob-baumeister' +import { garrickOllivander } from '@/seeds/users/garrick-ollivander' import { peterLustig } from '@/seeds/users/peter-lustig' -import { EventType } from '@/event/Event' -import { logger, i18n as localization } from '@test/testSetup' import { raeuberHotzenplotz } from '@/seeds/users/raeuber-hotzenplotz' -import { UnconfirmedContribution } from '@model/UnconfirmedContribution' -import { ContributionListResult } from '@model/Contribution' -import { ContributionStatus } from '@enum/ContributionStatus' -import { Order } from '@enum/Order' +import { stephenHawking } from '@/seeds/users/stephen-hawking' jest.mock('@/emails/sendEmailVariants') diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index a9446db7f..1d3274b79 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -1,42 +1,34 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ -import { Decimal } from 'decimal.js-light' -import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql' import { IsNull, getConnection } from '@dbTools/typeorm' - import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionMessage } from '@entity/ContributionMessage' -import { UserContact } from '@entity/UserContact' -import { User as DbUser } from '@entity/User' import { Transaction as DbTransaction } from '@entity/Transaction' +import { User as DbUser } from '@entity/User' +import { UserContact } from '@entity/UserContact' +import { Decimal } from 'decimal.js-light' +import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql' -import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' -import { getLastTransaction } from './util/getLastTransaction' -import { findContributions } from './util/findContributions' -import { - getUserCreation, - validateContribution, - updateCreations, - isValidDateString, - getOpenCreations, -} from './util/creations' +import AdminCreateContributionArgs from '@arg/AdminCreateContributionArgs' +import AdminUpdateContributionArgs from '@arg/AdminUpdateContributionArgs' +import ContributionArgs from '@arg/ContributionArgs' +import Paginated from '@arg/Paginated' +import { ContributionStatus } from '@enum/ContributionStatus' +import { ContributionType } from '@enum/ContributionType' +import { ContributionMessageType } from '@enum/MessageType' +import { Order } from '@enum/Order' +import { TransactionTypeId } from '@enum/TransactionTypeId' import { AdminUpdateContribution } from '@model/AdminUpdateContribution' import { Contribution, ContributionListResult } from '@model/Contribution' import { Decay } from '@model/Decay' import { OpenCreation } from '@model/OpenCreation' import { UnconfirmedContribution } from '@model/UnconfirmedContribution' -import { TransactionTypeId } from '@enum/TransactionTypeId' -import { Order } from '@enum/Order' -import { ContributionType } from '@enum/ContributionType' -import { ContributionStatus } from '@enum/ContributionStatus' -import { ContributionMessageType } from '@enum/MessageType' -import ContributionArgs from '@arg/ContributionArgs' -import Paginated from '@arg/Paginated' -import AdminCreateContributionArgs from '@arg/AdminCreateContributionArgs' -import AdminUpdateContributionArgs from '@arg/AdminUpdateContributionArgs' import { RIGHTS } from '@/auth/RIGHTS' -import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import { backendLogger as logger } from '@/server/logger' +import { + sendContributionConfirmedEmail, + sendContributionDeletedEmail, + sendContributionDeniedEmail, +} from '@/emails/sendEmailVariants' import { EVENT_CONTRIBUTION_CREATE, EVENT_CONTRIBUTION_DELETE, @@ -47,14 +39,22 @@ import { EVENT_ADMIN_CONTRIBUTION_CONFIRM, EVENT_ADMIN_CONTRIBUTION_DENY, } from '@/event/Event' -import { calculateDecay } from '@/util/decay' -import { - sendContributionConfirmedEmail, - sendContributionDeletedEmail, - sendContributionDeniedEmail, -} from '@/emails/sendEmailVariants' -import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' +import { Context, getUser, getClientTimezoneOffset } from '@/server/context' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' +import { calculateDecay } from '@/util/decay' +import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' + +import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' +import { + getUserCreation, + validateContribution, + updateCreations, + isValidDateString, + getOpenCreations, +} from './util/creations' +import { findContributions } from './util/findContributions' +import { getLastTransaction } from './util/getLastTransaction' @Resolver() export class ContributionResolver { diff --git a/backend/src/graphql/resolver/EmailOptinCodes.test.ts b/backend/src/graphql/resolver/EmailOptinCodes.test.ts index e9f9bc052..cc8d4e534 100644 --- a/backend/src/graphql/resolver/EmailOptinCodes.test.ts +++ b/backend/src/graphql/resolver/EmailOptinCodes.test.ts @@ -6,10 +6,12 @@ import { User as DbUser } from '@entity/User' import { GraphQLError } from 'graphql' + import { testEnvironment, cleanDB } from '@test/helpers' + +import CONFIG from '@/config' import { createUser, setPassword, forgotPassword } from '@/seeds/graphql/mutations' import { queryOptIn } from '@/seeds/graphql/queries' -import CONFIG from '@/config' let mutate: any, query: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/GdtResolver.ts b/backend/src/graphql/resolver/GdtResolver.ts index e12f92458..53fc23295 100644 --- a/backend/src/graphql/resolver/GdtResolver.ts +++ b/backend/src/graphql/resolver/GdtResolver.ts @@ -3,14 +3,14 @@ /* eslint-disable @typescript-eslint/no-unsafe-return */ import { Resolver, Query, Args, Ctx, Authorized, Arg, Int, Float } from 'type-graphql' -import { GdtEntryList } from '@model/GdtEntryList' -import { Order } from '@enum/Order' import Paginated from '@arg/Paginated' +import { Order } from '@enum/Order' +import { GdtEntryList } from '@model/GdtEntryList' -import { Context, getUser } from '@/server/context' -import CONFIG from '@/config' import { apiGet, apiPost } from '@/apis/HttpRequest' import { RIGHTS } from '@/auth/RIGHTS' +import CONFIG from '@/config' +import { Context, getUser } from '@/server/context' import LogError from '@/server/LogError' @Resolver() diff --git a/backend/src/graphql/resolver/StatisticsResolver.ts b/backend/src/graphql/resolver/StatisticsResolver.ts index d5ae9503c..21cf81e97 100644 --- a/backend/src/graphql/resolver/StatisticsResolver.ts +++ b/backend/src/graphql/resolver/StatisticsResolver.ts @@ -1,11 +1,10 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-return */ -import { Decimal } from 'decimal.js-light' -import { Resolver, Query, Authorized, FieldResolver } from 'type-graphql' import { getConnection } from '@dbTools/typeorm' - import { Transaction as DbTransaction } from '@entity/Transaction' import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { Resolver, Query, Authorized, FieldResolver } from 'type-graphql' import { CommunityStatistics, DynamicStatisticsFields } from '@model/CommunityStatistics' diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.test.ts b/backend/src/graphql/resolver/TransactionLinkResolver.test.ts index fd2a44b4b..8fd5c35de 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.test.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.test.ts @@ -7,21 +7,22 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { Event as DbEvent } from '@entity/Event' +import { Transaction } from '@entity/Transaction' import { User } from '@entity/User' +import { UserContact } from '@entity/UserContact' import { Decimal } from 'decimal.js-light' import { GraphQLError } from 'graphql' -import { Transaction } from '@entity/Transaction' -import { Event as DbEvent } from '@entity/Event' -import { UserContact } from '@entity/UserContact' -import { transactionLinkCode } from './TransactionLinkResolver' -import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' -import { peterLustig } from '@/seeds/users/peter-lustig' + +import { UnconfirmedContribution } from '@model/UnconfirmedContribution' import { cleanDB, testEnvironment, resetToken, resetEntity } from '@test/helpers' -import { creationFactory } from '@/seeds/factory/creation' +import { logger } from '@test/testSetup' + +import { EventType } from '@/event/Event' import { creations } from '@/seeds/creation/index' -import { userFactory } from '@/seeds/factory/user' +import { creationFactory } from '@/seeds/factory/creation' import { transactionLinkFactory } from '@/seeds/factory/transactionLink' -import { transactionLinks } from '@/seeds/transactionLink/index' +import { userFactory } from '@/seeds/factory/user' import { login, createContributionLink, @@ -33,10 +34,12 @@ import { confirmContribution, } from '@/seeds/graphql/mutations' import { listTransactionLinksAdmin } from '@/seeds/graphql/queries' -import { UnconfirmedContribution } from '@model/UnconfirmedContribution' +import { transactionLinks } from '@/seeds/transactionLink/index' +import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' +import { peterLustig } from '@/seeds/users/peter-lustig' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' -import { logger } from '@test/testSetup' -import { EventType } from '@/event/Event' + +import { transactionLinkCode } from './TransactionLinkResolver' // mock semaphore to allow use fake timers jest.mock('@/util/TRANSACTIONS_LOCK') diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts index 6aa829ac1..a5f8c0ee6 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts @@ -1,44 +1,45 @@ import { randomBytes } from 'crypto' -import { Decimal } from 'decimal.js-light' import { getConnection } from '@dbTools/typeorm' - -import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' -import { User as DbUser } from '@entity/User' -import { Transaction as DbTransaction } from '@entity/Transaction' import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' - +import { Transaction as DbTransaction } from '@entity/Transaction' +import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' +import { User as DbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' import { Resolver, Args, Arg, Authorized, Ctx, Mutation, Query, Int } from 'type-graphql' -import { getUserCreation, validateContribution } from './util/creations' -import { executeTransaction } from './TransactionResolver' -import { getLastTransaction } from './util/getLastTransaction' -import transactionLinkList from './util/transactionLinkList' -import { User } from '@model/User' + +import Paginated from '@arg/Paginated' +import TransactionLinkArgs from '@arg/TransactionLinkArgs' +import TransactionLinkFilters from '@arg/TransactionLinkFilters' +import { ContributionCycleType } from '@enum/ContributionCycleType' +import { ContributionStatus } from '@enum/ContributionStatus' +import { ContributionType } from '@enum/ContributionType' +import { TransactionTypeId } from '@enum/TransactionTypeId' import { ContributionLink } from '@model/ContributionLink' import { Decay } from '@model/Decay' import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink' -import { ContributionType } from '@enum/ContributionType' -import { ContributionStatus } from '@enum/ContributionStatus' -import { TransactionTypeId } from '@enum/TransactionTypeId' -import { ContributionCycleType } from '@enum/ContributionCycleType' -import TransactionLinkArgs from '@arg/TransactionLinkArgs' -import Paginated from '@arg/Paginated' -import TransactionLinkFilters from '@arg/TransactionLinkFilters' -import { backendLogger as logger } from '@/server/logger' -import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import { calculateBalance } from '@/util/validate' -import { RIGHTS } from '@/auth/RIGHTS' -import { calculateDecay } from '@/util/decay' +import { User } from '@model/User' import QueryLinkResult from '@union/QueryLinkResult' -import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' -import LogError from '@/server/LogError' + +import { RIGHTS } from '@/auth/RIGHTS' import { EVENT_CONTRIBUTION_LINK_REDEEM, EVENT_TRANSACTION_LINK_CREATE, EVENT_TRANSACTION_LINK_DELETE, EVENT_TRANSACTION_LINK_REDEEM, } from '@/event/Event' +import { Context, getUser, getClientTimezoneOffset } from '@/server/context' +import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' +import { calculateDecay } from '@/util/decay' +import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' +import { calculateBalance } from '@/util/validate' + +import { executeTransaction } from './TransactionResolver' +import { getUserCreation, validateContribution } from './util/creations' +import { getLastTransaction } from './util/getLastTransaction' +import transactionLinkList from './util/transactionLinkList' // TODO: do not export, test it inside the resolver export const transactionLinkCode = (date: Date): string => { diff --git a/backend/src/graphql/resolver/TransactionResolver.test.ts b/backend/src/graphql/resolver/TransactionResolver.test.ts index f26234363..a2e2e7e75 100644 --- a/backend/src/graphql/resolver/TransactionResolver.test.ts +++ b/backend/src/graphql/resolver/TransactionResolver.test.ts @@ -5,12 +5,15 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { Decimal } from 'decimal.js-light' +import { Event as DbEvent } from '@entity/Event' import { Transaction } from '@entity/Transaction' import { User } from '@entity/User' +import { Decimal } from 'decimal.js-light' import { GraphQLError } from 'graphql' -import { Event as DbEvent } from '@entity/Event' -import { findUserByEmail } from './UserResolver' + +import { cleanDB, testEnvironment } from '@test/helpers' +import { logger } from '@test/testSetup' + import { EventType } from '@/event/Event' import { userFactory } from '@/seeds/factory/user' import { @@ -23,8 +26,8 @@ import { bobBaumeister } from '@/seeds/users/bob-baumeister' import { garrickOllivander } from '@/seeds/users/garrick-ollivander' import { peterLustig } from '@/seeds/users/peter-lustig' import { stephenHawking } from '@/seeds/users/stephen-hawking' -import { cleanDB, testEnvironment } from '@test/helpers' -import { logger } from '@test/testSetup' + +import { findUserByEmail } from './UserResolver' let mutate: any, query: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index f38a4a07b..430cdb363 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -2,42 +2,41 @@ /* eslint-disable new-cap */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ -import { Decimal } from 'decimal.js-light' -import { Resolver, Query, Args, Authorized, Ctx, Mutation } from 'type-graphql' import { getCustomRepository, getConnection, In } from '@dbTools/typeorm' - -import { User as dbUser } from '@entity/User' import { Transaction as dbTransaction } from '@entity/Transaction' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' -import { BalanceResolver } from './BalanceResolver' -import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' -import { findUserByEmail } from './UserResolver' -import { getLastTransaction } from './util/getLastTransaction' +import { User as dbUser } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { Resolver, Query, Args, Authorized, Ctx, Mutation } from 'type-graphql' + +import Paginated from '@arg/Paginated' +import TransactionSendArgs from '@arg/TransactionSendArgs' +import { Order } from '@enum/Order' +import { TransactionTypeId } from '@enum/TransactionTypeId' +import { Transaction } from '@model/Transaction' +import { TransactionList } from '@model/TransactionList' +import { User } from '@model/User' import { TransactionRepository } from '@repository/Transaction' import { TransactionLinkRepository } from '@repository/TransactionLink' -import { User } from '@model/User' -import { Transaction } from '@model/Transaction' -import { TransactionList } from '@model/TransactionList' -import { Order } from '@enum/Order' -import { TransactionTypeId } from '@enum/TransactionTypeId' -import { calculateBalance } from '@/util/validate' -import TransactionSendArgs from '@arg/TransactionSendArgs' -import Paginated from '@arg/Paginated' - -import { backendLogger as logger } from '@/server/logger' -import { Context, getUser } from '@/server/context' import { RIGHTS } from '@/auth/RIGHTS' -import { communityUser } from '@/util/communityUser' -import { virtualLinkTransaction, virtualDecayTransaction } from '@/util/virtualTransactions' import { sendTransactionLinkRedeemedEmail, sendTransactionReceivedEmail, } from '@/emails/sendEmailVariants' import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Event' - -import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' +import { Context, getUser } from '@/server/context' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' +import { communityUser } from '@/util/communityUser' +import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' +import { calculateBalance } from '@/util/validate' +import { virtualLinkTransaction, virtualDecayTransaction } from '@/util/virtualTransactions' + +import { BalanceResolver } from './BalanceResolver' +import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' +import { findUserByEmail } from './UserResolver' +import { getLastTransaction } from './util/getLastTransaction' export const executeTransaction = async ( amount: Decimal, diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index aebd0f0eb..69a5f824f 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -6,21 +6,32 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { GraphQLError } from 'graphql' -import { User } from '@entity/User' -import { TransactionLink } from '@entity/TransactionLink' -import { validate as validateUUID, version as versionUUID } from 'uuid' -import { UserContact } from '@entity/UserContact' import { Event as DbEvent } from '@entity/Event' +import { TransactionLink } from '@entity/TransactionLink' +import { User } from '@entity/User' +import { UserContact } from '@entity/UserContact' +import { GraphQLError } from 'graphql' +import { validate as validateUUID, version as versionUUID } from 'uuid' + import { OptInType } from '@enum/OptInType' -import { UserContactType } from '@enum/UserContactType' import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' -import { objectValuesToArray } from '@/util/utilities' +import { UserContactType } from '@enum/UserContactType' +import { ContributionLink } from '@model/ContributionLink' import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' -import { printTimeDuration } from '@/util/time' + +import CONFIG from '@/config' +import { + sendAccountActivationEmail, + sendAccountMultiRegistrationEmail, + sendResetPasswordEmail, +} from '@/emails/sendEmailVariants' +import { EventType } from '@/event/Event' +import { SecretKeyCryptographyCreateKey } from '@/password/EncryptorUtils' +import { encryptPassword } from '@/password/PasswordEncryptor' +import { contributionLinkFactory } from '@/seeds/factory/contributionLink' +import { transactionLinkFactory } from '@/seeds/factory/transactionLink' import { userFactory } from '@/seeds/factory/user' -import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { login, logout, @@ -36,22 +47,13 @@ import { sendActivationEmail, } from '@/seeds/graphql/mutations' import { verifyLogin, queryOptIn, searchAdminUsers, searchUsers } from '@/seeds/graphql/queries' -import CONFIG from '@/config' -import { - sendAccountActivationEmail, - sendAccountMultiRegistrationEmail, - sendResetPasswordEmail, -} from '@/emails/sendEmailVariants' -import { contributionLinkFactory } from '@/seeds/factory/contributionLink' -import { transactionLinkFactory } from '@/seeds/factory/transactionLink' -import { ContributionLink } from '@model/ContributionLink' -import { EventType } from '@/event/Event' -import { peterLustig } from '@/seeds/users/peter-lustig' +import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { bobBaumeister } from '@/seeds/users/bob-baumeister' -import { stephenHawking } from '@/seeds/users/stephen-hawking' import { garrickOllivander } from '@/seeds/users/garrick-ollivander' -import { encryptPassword } from '@/password/PasswordEncryptor' -import { SecretKeyCryptographyCreateKey } from '@/password/EncryptorUtils' +import { peterLustig } from '@/seeds/users/peter-lustig' +import { stephenHawking } from '@/seeds/users/stephen-hawking' +import { printTimeDuration } from '@/util/time' +import { objectValuesToArray } from '@/util/utilities' // import { klicktippSignIn } from '@/apis/KlicktippController' diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 54d4f583f..a01719775 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -2,8 +2,12 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/restrict-template-expressions */ +import { getConnection, getCustomRepository, IsNull, Not } from '@dbTools/typeorm' +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' +import { User as DbUser } from '@entity/User' +import { UserContact as DbUserContact } from '@entity/UserContact' import i18n from 'i18n' -import { v4 as uuidv4 } from 'uuid' import { Resolver, Query, @@ -15,46 +19,31 @@ import { Mutation, Int, } from 'type-graphql' -import { getConnection, getCustomRepository, IsNull, Not } from '@dbTools/typeorm' +import { v4 as uuidv4 } from 'uuid' -import { User as DbUser } from '@entity/User' -import { UserContact as DbUserContact } from '@entity/UserContact' -import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' -import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' -import { getUserCreations } from './util/creations' -import { FULL_CREATION_AVAILABLE } from './const/const' -import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' -import { UserRepository } from '@repository/User' - -import { User } from '@model/User' -import { SearchAdminUsersResult } from '@model/AdminUser' -import { UserAdmin, SearchUsersResult } from '@model/UserAdmin' +import CreateUserArgs from '@arg/CreateUserArgs' +import Paginated from '@arg/Paginated' +import SearchUsersArgs from '@arg/SearchUsersArgs' +import UnsecureLoginArgs from '@arg/UnsecureLoginArgs' +import UpdateUserInfosArgs from '@arg/UpdateUserInfosArgs' import { OptInType } from '@enum/OptInType' import { Order } from '@enum/Order' +import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' import { UserContactType } from '@enum/UserContactType' +import { SearchAdminUsersResult } from '@model/AdminUser' +import { User } from '@model/User' +import { UserAdmin, SearchUsersResult } from '@model/UserAdmin' +import { UserRepository } from '@repository/User' +import { klicktippSignIn } from '@/apis/KlicktippController' +import { encode } from '@/auth/JWT' +import { RIGHTS } from '@/auth/RIGHTS' +import CONFIG from '@/config' import { sendAccountActivationEmail, sendAccountMultiRegistrationEmail, sendResetPasswordEmail, } from '@/emails/sendEmailVariants' - -import { getTimeDurationObject, printTimeDuration } from '@/util/time' -import CreateUserArgs from '@arg/CreateUserArgs' -import UnsecureLoginArgs from '@arg/UnsecureLoginArgs' -import UpdateUserInfosArgs from '@arg/UpdateUserInfosArgs' -import Paginated from '@arg/Paginated' -import SearchUsersArgs from '@arg/SearchUsersArgs' - -import { backendLogger as logger } from '@/server/logger' -import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import CONFIG from '@/config' -import { communityDbUser } from '@/util/communityUser' -import { encode } from '@/auth/JWT' -import { klicktippNewsletterStateMiddleware } from '@/middleware/klicktippMiddleware' -import { klicktippSignIn } from '@/apis/KlicktippController' -import { RIGHTS } from '@/auth/RIGHTS' -import { hasElopageBuys } from '@/util/hasElopageBuys' import { Event, EventType, @@ -71,14 +60,23 @@ import { EVENT_ADMIN_USER_DELETE, EVENT_ADMIN_USER_UNDELETE, } from '@/event/Event' +import { klicktippNewsletterStateMiddleware } from '@/middleware/klicktippMiddleware' import { isValidPassword } from '@/password/EncryptorUtils' import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor' +import { Context, getUser, getClientTimezoneOffset } from '@/server/context' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' +import { communityDbUser } from '@/util/communityUser' +import { hasElopageBuys } from '@/util/hasElopageBuys' +import { getTimeDurationObject, printTimeDuration } from '@/util/time' + +import { FULL_CREATION_AVAILABLE } from './const/const' +import { getUserCreations } from './util/creations' -// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs -const sodium = require('sodium-native') // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs const random = require('random-bigint') +// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs +const sodium = require('sodium-native') const LANGUAGES = ['de', 'en', 'es', 'fr', 'nl'] const DEFAULT_LANGUAGE = 'de' diff --git a/backend/src/graphql/resolver/semaphore.test.ts b/backend/src/graphql/resolver/semaphore.test.ts index 6b1976021..6963c980e 100644 --- a/backend/src/graphql/resolver/semaphore.test.ts +++ b/backend/src/graphql/resolver/semaphore.test.ts @@ -5,12 +5,11 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { Decimal } from 'decimal.js-light' -import { userFactory } from '@/seeds/factory/user' -import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' -import { bobBaumeister } from '@/seeds/users/bob-baumeister' -import { peterLustig } from '@/seeds/users/peter-lustig' -import { creationFactory, nMonthsBefore } from '@/seeds/factory/creation' + import { cleanDB, testEnvironment, contributionDateFormatter } from '@test/helpers' + +import { creationFactory, nMonthsBefore } from '@/seeds/factory/creation' +import { userFactory } from '@/seeds/factory/user' import { confirmContribution, createContribution, @@ -20,6 +19,9 @@ import { createContributionLink, sendCoins, } from '@/seeds/graphql/mutations' +import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' +import { bobBaumeister } from '@/seeds/users/bob-baumeister' +import { peterLustig } from '@/seeds/users/peter-lustig' let mutate: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/util/creations.test.ts b/backend/src/graphql/resolver/util/creations.test.ts index 7461401c8..1e3460b30 100644 --- a/backend/src/graphql/resolver/util/creations.test.ts +++ b/backend/src/graphql/resolver/util/creations.test.ts @@ -4,14 +4,17 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { User } from '@entity/User' import { Contribution } from '@entity/Contribution' -import { getUserCreation } from './creations' +import { User } from '@entity/User' + import { testEnvironment, cleanDB, contributionDateFormatter } from '@test/helpers' -import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' -import { peterLustig } from '@/seeds/users/peter-lustig' + import { userFactory } from '@/seeds/factory/user' import { login, createContribution, adminCreateContribution } from '@/seeds/graphql/mutations' +import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' +import { peterLustig } from '@/seeds/users/peter-lustig' + +import { getUserCreation } from './creations' let mutate: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/util/creations.ts b/backend/src/graphql/resolver/util/creations.ts index 6ebeae8b9..dbf0650a6 100644 --- a/backend/src/graphql/resolver/util/creations.ts +++ b/backend/src/graphql/resolver/util/creations.ts @@ -3,10 +3,12 @@ import { getConnection } from '@dbTools/typeorm' import { Contribution } from '@entity/Contribution' import { Decimal } from 'decimal.js-light' -import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '@/graphql/resolver/const/const' -import { backendLogger as logger } from '@/server/logger' + import { OpenCreation } from '@model/OpenCreation' + +import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '@/graphql/resolver/const/const' import LogError from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' interface CreationMap { id: number diff --git a/backend/src/graphql/resolver/util/findContributions.ts b/backend/src/graphql/resolver/util/findContributions.ts index a40279e9c..a08631e2c 100644 --- a/backend/src/graphql/resolver/util/findContributions.ts +++ b/backend/src/graphql/resolver/util/findContributions.ts @@ -1,5 +1,6 @@ -import { Contribution as DbContribution } from '@entity/Contribution' import { In } from '@dbTools/typeorm' +import { Contribution as DbContribution } from '@entity/Contribution' + import { ContributionStatus } from '@enum/ContributionStatus' import { Order } from '@enum/Order' diff --git a/backend/src/graphql/resolver/util/transactionLinkList.ts b/backend/src/graphql/resolver/util/transactionLinkList.ts index 2d151b94a..544d35114 100644 --- a/backend/src/graphql/resolver/util/transactionLinkList.ts +++ b/backend/src/graphql/resolver/util/transactionLinkList.ts @@ -1,10 +1,12 @@ import { MoreThan } from '@dbTools/typeorm' import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { User as DbUser } from '@entity/User' -import { Order } from '@enum/Order' + import Paginated from '@arg/Paginated' import TransactionLinkFilters from '@arg/TransactionLinkFilters' +import { Order } from '@enum/Order' import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink' + import { User } from '@/graphql/model/User' export default async function transactionLinkList( diff --git a/backend/src/graphql/scalar/Decimal.ts b/backend/src/graphql/scalar/Decimal.ts index 586481a6d..e46446cee 100644 --- a/backend/src/graphql/scalar/Decimal.ts +++ b/backend/src/graphql/scalar/Decimal.ts @@ -1,5 +1,5 @@ -import { GraphQLScalarType, Kind } from 'graphql' import { Decimal } from 'decimal.js-light' +import { GraphQLScalarType, Kind } from 'graphql' const DecimalType = new GraphQLScalarType({ name: 'Decimal', diff --git a/backend/src/graphql/schema.ts b/backend/src/graphql/schema.ts index 194a24c00..c6097f027 100644 --- a/backend/src/graphql/schema.ts +++ b/backend/src/graphql/schema.ts @@ -1,8 +1,9 @@ import path from 'path' + +import { Decimal } from 'decimal.js-light' import { GraphQLSchema } from 'graphql' import { buildSchema } from 'type-graphql' -import { Decimal } from 'decimal.js-light' import isAuthorized from './directive/isAuthorized' import DecimalScalar from './scalar/Decimal' diff --git a/backend/src/graphql/union/QueryLinkResult.ts b/backend/src/graphql/union/QueryLinkResult.ts index 9a35fbc71..390175d1d 100644 --- a/backend/src/graphql/union/QueryLinkResult.ts +++ b/backend/src/graphql/union/QueryLinkResult.ts @@ -1,6 +1,7 @@ import { createUnionType } from 'type-graphql' -import { TransactionLink } from '@model/TransactionLink' + import { ContributionLink } from '@model/ContributionLink' +import { TransactionLink } from '@model/TransactionLink' export default createUnionType({ name: 'QueryLinkResult', // the name of the GraphQL union diff --git a/backend/src/index.ts b/backend/src/index.ts index cd6d002cc..353b77616 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,10 +1,9 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import createServer from './server/createServer' - // config import CONFIG from './config' import { startValidateCommunities } from './federation/validateCommunities' +import createServer from './server/createServer' async function main() { const { app } = await createServer() diff --git a/backend/src/middleware/klicktippMiddleware.ts b/backend/src/middleware/klicktippMiddleware.ts index 0469b4ccc..481094752 100644 --- a/backend/src/middleware/klicktippMiddleware.ts +++ b/backend/src/middleware/klicktippMiddleware.ts @@ -3,8 +3,10 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/restrict-template-expressions */ import { MiddlewareFn } from 'type-graphql' -import { /* klicktippSignIn, */ getKlickTippUser } from '@/apis/KlicktippController' + import { KlickTipp } from '@model/KlickTipp' + +import { /* klicktippSignIn, */ getKlickTippUser } from '@/apis/KlicktippController' import CONFIG from '@/config' import { klickTippLogger as logger } from '@/server/logger' diff --git a/backend/src/password/EncryptorUtils.ts b/backend/src/password/EncryptorUtils.ts index b4531b3bb..eb25edda6 100644 --- a/backend/src/password/EncryptorUtils.ts +++ b/backend/src/password/EncryptorUtils.ts @@ -2,10 +2,12 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { User } from '@entity/User' + +import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' + import CONFIG from '@/config' import LogError from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' -import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs const sodium = require('sodium-native') diff --git a/backend/src/password/PasswordEncryptor.ts b/backend/src/password/PasswordEncryptor.ts index 1735106c1..1c7457a40 100644 --- a/backend/src/password/PasswordEncryptor.ts +++ b/backend/src/password/PasswordEncryptor.ts @@ -1,4 +1,5 @@ import { User } from '@entity/User' + // import { logger } from '@test/testSetup' getting error "jest is not defined" import { getUserCryptographicSalt, SecretKeyCryptographyCreateKey } from './EncryptorUtils' diff --git a/backend/src/seeds/creation/index.ts b/backend/src/seeds/creation/index.ts index 757407438..3f2a545a4 100644 --- a/backend/src/seeds/creation/index.ts +++ b/backend/src/seeds/creation/index.ts @@ -1,6 +1,7 @@ -import { CreationInterface } from './CreationInterface' import { nMonthsBefore } from '@/seeds/factory/creation' +import { CreationInterface } from './CreationInterface' + const bobsSendings = [ { amount: 10, diff --git a/backend/src/seeds/factory/contributionLink.ts b/backend/src/seeds/factory/contributionLink.ts index 5925cdcfe..51e970a5c 100644 --- a/backend/src/seeds/factory/contributionLink.ts +++ b/backend/src/seeds/factory/contributionLink.ts @@ -2,9 +2,11 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/unbound-method */ import { ApolloServerTestClient } from 'apollo-server-testing' -import { login, createContributionLink } from '@/seeds/graphql/mutations' + import { ContributionLink } from '@model/ContributionLink' + import { ContributionLinkInterface } from '@/seeds/contributionLink/ContributionLinkInterface' +import { login, createContributionLink } from '@/seeds/graphql/mutations' export const contributionLinkFactory = async ( client: ApolloServerTestClient, diff --git a/backend/src/seeds/factory/creation.ts b/backend/src/seeds/factory/creation.ts index ba46f4c09..6a3aaa3e7 100644 --- a/backend/src/seeds/factory/creation.ts +++ b/backend/src/seeds/factory/creation.ts @@ -5,12 +5,13 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { ApolloServerTestClient } from 'apollo-server-testing' -import { Transaction } from '@entity/Transaction' import { Contribution } from '@entity/Contribution' +import { Transaction } from '@entity/Transaction' +import { ApolloServerTestClient } from 'apollo-server-testing' + +import { findUserByEmail } from '@/graphql/resolver/UserResolver' import { CreationInterface } from '@/seeds/creation/CreationInterface' import { login, createContribution, confirmContribution } from '@/seeds/graphql/mutations' -import { findUserByEmail } from '@/graphql/resolver/UserResolver' // import CONFIG from '@/config/index' export const nMonthsBefore = (date: Date, months = 1): string => { diff --git a/backend/src/seeds/factory/transactionLink.ts b/backend/src/seeds/factory/transactionLink.ts index c6ed68839..cab478c4b 100644 --- a/backend/src/seeds/factory/transactionLink.ts +++ b/backend/src/seeds/factory/transactionLink.ts @@ -1,10 +1,11 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/unbound-method */ -import { ApolloServerTestClient } from 'apollo-server-testing' import { TransactionLink } from '@entity/TransactionLink' +import { ApolloServerTestClient } from 'apollo-server-testing' + +import { transactionLinkExpireDate } from '@/graphql/resolver/TransactionLinkResolver' import { login, createTransactionLink } from '@/seeds/graphql/mutations' import { TransactionLinkInterface } from '@/seeds/transactionLink/TransactionLinkInterface' -import { transactionLinkExpireDate } from '@/graphql/resolver/TransactionLinkResolver' export const transactionLinkFactory = async ( client: ApolloServerTestClient, diff --git a/backend/src/seeds/factory/user.ts b/backend/src/seeds/factory/user.ts index c82c56648..13a274911 100644 --- a/backend/src/seeds/factory/user.ts +++ b/backend/src/seeds/factory/user.ts @@ -2,6 +2,7 @@ /* eslint-disable @typescript-eslint/unbound-method */ import { User } from '@entity/User' import { ApolloServerTestClient } from 'apollo-server-testing' + import { createUser, setPassword } from '@/seeds/graphql/mutations' import { UserInterface } from '@/seeds/users/UserInterface' diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index 19f936d16..d1960eea9 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -5,21 +5,22 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +import { entities } from '@entity/index' import { createTestClient } from 'apollo-server-testing' import { name, internet, datatype } from 'faker' -import { entities } from '@entity/index' -import { users } from './users/index' -import { creations } from './creation/index' -import { transactionLinks } from './transactionLink/index' -import { contributionLinks } from './contributionLink/index' -import { userFactory } from './factory/user' -import { creationFactory } from './factory/creation' -import { transactionLinkFactory } from './factory/transactionLink' -import { contributionLinkFactory } from './factory/contributionLink' +import CONFIG from '@/config' import createServer from '@/server/createServer' import { backendLogger as logger } from '@/server/logger' -import CONFIG from '@/config' + +import { contributionLinks } from './contributionLink/index' +import { creations } from './creation/index' +import { contributionLinkFactory } from './factory/contributionLink' +import { creationFactory } from './factory/creation' +import { transactionLinkFactory } from './factory/transactionLink' +import { userFactory } from './factory/user' +import { transactionLinks } from './transactionLink/index' +import { users } from './users/index' CONFIG.EMAIL = false diff --git a/backend/src/seeds/users/index.ts b/backend/src/seeds/users/index.ts index 7a6dbe519..beb6c6f25 100644 --- a/backend/src/seeds/users/index.ts +++ b/backend/src/seeds/users/index.ts @@ -1,9 +1,9 @@ -import { peterLustig } from './peter-lustig' import { bibiBloxberg } from './bibi-bloxberg' import { bobBaumeister } from './bob-baumeister' +import { garrickOllivander } from './garrick-ollivander' +import { peterLustig } from './peter-lustig' import { raeuberHotzenplotz } from './raeuber-hotzenplotz' import { stephenHawking } from './stephen-hawking' -import { garrickOllivander } from './garrick-ollivander' export const users = [ peterLustig, diff --git a/backend/src/server/LogError.test.ts b/backend/src/server/LogError.test.ts index 318a477ef..5aa1cae21 100644 --- a/backend/src/server/LogError.test.ts +++ b/backend/src/server/LogError.test.ts @@ -1,8 +1,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/unbound-method */ -import LogError from './LogError' import { logger } from '@test/testSetup' +import LogError from './LogError' + describe('LogError', () => { it('logs an Error when created', () => { /* eslint-disable-next-line no-new */ diff --git a/backend/src/server/context.ts b/backend/src/server/context.ts index 570865587..f0e63daea 100644 --- a/backend/src/server/context.ts +++ b/backend/src/server/context.ts @@ -1,10 +1,12 @@ -import { User as dbUser } from '@entity/User' import { Transaction as dbTransaction } from '@entity/Transaction' -import { Decimal } from 'decimal.js-light' +import { User as dbUser } from '@entity/User' import { ExpressContext } from 'apollo-server-express' -import LogError from './LogError' +import { Decimal } from 'decimal.js-light' + import { Role } from '@/auth/Role' +import LogError from './LogError' + export interface Context { token: string | null setHeaders: { key: string; value: string }[] diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index f23e90b56..8a94ef3eb 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -1,21 +1,23 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/restrict-template-expressions */ /* eslint-disable @typescript-eslint/unbound-method */ +import { Connection } from '@dbTools/typeorm' import { ApolloServer } from 'apollo-server-express' import express, { Express, json, urlencoded } from 'express' -import { Connection } from '@dbTools/typeorm' import { Logger } from 'log4js' -import cors from './cors' -import serverContext from './context' -import plugins from './plugins' -import { apolloLogger } from './logger' -import { i18n } from './localization' -import connection from '@/typeorm/connection' -import { checkDBVersion } from '@/typeorm/DBVersion' + import CONFIG from '@/config' import schema from '@/graphql/schema' +import connection from '@/typeorm/connection' +import { checkDBVersion } from '@/typeorm/DBVersion' import { elopageWebhook } from '@/webhook/elopage' +import serverContext from './context' +import cors from './cors' +import { i18n } from './localization' +import { apolloLogger } from './logger' +import plugins from './plugins' + // TODO implement // import queryComplexity, { simpleEstimator, fieldConfigEstimator } from "graphql-query-complexity"; diff --git a/backend/src/server/localization.ts b/backend/src/server/localization.ts index 22616fcf0..59ba4cfce 100644 --- a/backend/src/server/localization.ts +++ b/backend/src/server/localization.ts @@ -1,5 +1,7 @@ import path from 'path' + import i18n from 'i18n' + import { backendLogger } from './logger' i18n.configure({ diff --git a/backend/src/server/logger.ts b/backend/src/server/logger.ts index 0887340d4..89f292ab7 100644 --- a/backend/src/server/logger.ts +++ b/backend/src/server/logger.ts @@ -1,7 +1,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { readFileSync } from 'fs' + import { configure, getLogger } from 'log4js' + import CONFIG from '@/config' const options = JSON.parse(readFileSync(CONFIG.LOG4JS_CONFIG, 'utf-8')) diff --git a/backend/src/typeorm/DBVersion.ts b/backend/src/typeorm/DBVersion.ts index cb53c49f1..c4c8d6c78 100644 --- a/backend/src/typeorm/DBVersion.ts +++ b/backend/src/typeorm/DBVersion.ts @@ -1,4 +1,5 @@ import { Migration } from '@entity/Migration' + import { backendLogger as logger } from '@/server/logger' const getDBVersion = async (): Promise => { diff --git a/backend/src/typeorm/connection.ts b/backend/src/typeorm/connection.ts index 54b951a79..a3a20450b 100644 --- a/backend/src/typeorm/connection.ts +++ b/backend/src/typeorm/connection.ts @@ -2,6 +2,7 @@ // We cannot use our connection here, but must use the external typeorm installation import { Connection, createConnection, FileLogger } from '@dbTools/typeorm' import { entities } from '@entity/index' + import CONFIG from '@/config' const connection = async (): Promise => { diff --git a/backend/src/typeorm/repository/Transaction.ts b/backend/src/typeorm/repository/Transaction.ts index 58e9ca30b..61e87b3c8 100644 --- a/backend/src/typeorm/repository/Transaction.ts +++ b/backend/src/typeorm/repository/Transaction.ts @@ -1,5 +1,6 @@ import { EntityRepository, Repository } from '@dbTools/typeorm' import { Transaction } from '@entity/Transaction' + import { Order } from '@enum/Order' import { TransactionTypeId } from '@enum/TransactionTypeId' diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts index 4928b0cc8..71e43329b 100644 --- a/backend/src/typeorm/repository/User.ts +++ b/backend/src/typeorm/repository/User.ts @@ -1,5 +1,6 @@ import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm' import { User as DbUser } from '@entity/User' + import SearchUsersFilters from '@/graphql/arg/SearchUsersFilters' @EntityRepository(DbUser) diff --git a/backend/src/util/communityUser.ts b/backend/src/util/communityUser.ts index dfa477da9..f96c33470 100644 --- a/backend/src/util/communityUser.ts +++ b/backend/src/util/communityUser.ts @@ -3,9 +3,11 @@ import { SaveOptions, RemoveOptions } from '@dbTools/typeorm' import { User as dbUser } from '@entity/User' import { UserContact } from '@entity/UserContact' + +import { User } from '@model/User' + import { PasswordEncryptionType } from '@/graphql/enum/PasswordEncryptionType' // import { UserContact as EmailContact } from '@entity/UserContact' -import { User } from '@model/User' const communityDbUser: dbUser = { id: -1, diff --git a/backend/src/util/decay.test.ts b/backend/src/util/decay.test.ts index b33d18d42..1d4ebab3b 100644 --- a/backend/src/util/decay.test.ts +++ b/backend/src/util/decay.test.ts @@ -1,4 +1,5 @@ import { Decimal } from 'decimal.js-light' + import { decayFormula, calculateDecay } from './decay' describe('utils/decay', () => { diff --git a/backend/src/util/decay.ts b/backend/src/util/decay.ts index d35eb83a4..77157e203 100644 --- a/backend/src/util/decay.ts +++ b/backend/src/util/decay.ts @@ -1,6 +1,8 @@ import { Decimal } from 'decimal.js-light' -import CONFIG from '@/config' + import { Decay } from '@model/Decay' + +import CONFIG from '@/config' import LogError from '@/server/LogError' // TODO: externalize all those definitions and functions into an external decay library diff --git a/backend/src/util/klicktipp.ts b/backend/src/util/klicktipp.ts index 6444d20f6..4d90be134 100644 --- a/backend/src/util/klicktipp.ts +++ b/backend/src/util/klicktipp.ts @@ -1,7 +1,8 @@ import { User } from '@entity/User' -import connection from '@/typeorm/connection' + import { getKlickTippUser } from '@/apis/KlicktippController' import LogError from '@/server/LogError' +import connection from '@/typeorm/connection' export async function retrieveNotRegisteredEmails(): Promise { const con = await connection() diff --git a/backend/src/util/validate.ts b/backend/src/util/validate.ts index ec28dfa13..22a6ee5db 100644 --- a/backend/src/util/validate.ts +++ b/backend/src/util/validate.ts @@ -1,10 +1,13 @@ -import { Decimal } from 'decimal.js-light' import { getCustomRepository } from '@dbTools/typeorm' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' -import { calculateDecay } from './decay' -import { getLastTransaction } from '@/graphql/resolver/util/getLastTransaction' -import { TransactionLinkRepository } from '@repository/TransactionLink' +import { Decimal } from 'decimal.js-light' + import { Decay } from '@model/Decay' +import { TransactionLinkRepository } from '@repository/TransactionLink' + +import { getLastTransaction } from '@/graphql/resolver/util/getLastTransaction' + +import { calculateDecay } from './decay' function isStringBoolean(value: string): boolean { const lowerValue = value.toLowerCase() diff --git a/backend/src/util/virtualTransactions.ts b/backend/src/util/virtualTransactions.ts index 7810ad871..68a37746b 100644 --- a/backend/src/util/virtualTransactions.ts +++ b/backend/src/util/virtualTransactions.ts @@ -2,11 +2,13 @@ import { SaveOptions, RemoveOptions } from '@dbTools/typeorm' import { Transaction as dbTransaction } from '@entity/Transaction' import { Decimal } from 'decimal.js-light' -import { calculateDecay } from './decay' -import { Transaction } from '@model/Transaction' + import { TransactionTypeId } from '@enum/TransactionTypeId' +import { Transaction } from '@model/Transaction' import { User } from '@model/User' +import { calculateDecay } from './decay' + const defaultModelFunctions = { hasId: function (): boolean { throw new Error('Function not implemented.') diff --git a/backend/src/webhook/elopage.ts b/backend/src/webhook/elopage.ts index 6f3e3cbdb..404f2696a 100644 --- a/backend/src/webhook/elopage.ts +++ b/backend/src/webhook/elopage.ts @@ -33,6 +33,7 @@ import { LoginElopageBuys } from '@entity/LoginElopageBuys' import { UserContact as dbUserContact } from '@entity/UserContact' + import { UserResolver } from '@/graphql/resolver/UserResolver' export const elopageWebhook = async (req: any, res: any): Promise => { diff --git a/backend/test/helpers.ts b/backend/test/helpers.ts index ad6d2c4e3..f440adc02 100644 --- a/backend/test/helpers.ts +++ b/backend/test/helpers.ts @@ -6,12 +6,14 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { createTestClient } from 'apollo-server-testing' import { initialize } from '@dbTools/helpers' import { entities } from '@entity/index' -import { i18n, logger } from './testSetup' +import { createTestClient } from 'apollo-server-testing' + import createServer from '@/server/createServer' +import { i18n, logger } from './testSetup' + export const headerPushMock = jest.fn((t) => { context.token = t.value }) diff --git a/backend/test/testSetup.ts b/backend/test/testSetup.ts index b13e3cf26..4e8a67e3f 100644 --- a/backend/test/testSetup.ts +++ b/backend/test/testSetup.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-return */ import CONFIG from '@/config' -import { backendLogger as logger } from '@/server/logger' import { i18n } from '@/server/localization' +import { backendLogger as logger } from '@/server/logger' CONFIG.EMAIL = true CONFIG.EMAIL_TEST_MODUS = false diff --git a/federation/.env.template b/federation/.env.template index af6e8f627..5713a7f3f 100644 --- a/federation/.env.template +++ b/federation/.env.template @@ -5,12 +5,11 @@ LOG_LEVEL=$LOG_LEVEL GRAPHIQL=false # Database -DB_HOST=$DB_HOST -DB_PORT=$DB_PORT -DB_DATABASE=$DB_DATABASE +DB_HOST=localhost +DB_PORT=3306 DB_USER=$DB_USER DB_PASSWORD=$DB_PASSWORD +DB_DATABASE=gradido_community # Federation FEDERATION_COMMUNITY_URL=$FEDERATION_COMMUNITY_URL -