diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js index bad33e974..95972cca7 100644 --- a/backend/.eslintrc.js +++ b/backend/.eslintrc.js @@ -59,6 +59,13 @@ module.exports = { 'import/first': 'error', 'import/group-exports': 'off', 'import/newline-after-import': 'error', + 'import/no-anonymous-default-export': 'error', + 'import/no-default-export': 'off', + 'import/no-named-default': 'error', + 'import/no-namespace': 'error', + 'import/no-unassigned-import': 'error', + 'import/order': 'error', + 'import/prefer-default-export': 'off', //TODO }, overrides: [ // only for ts files diff --git a/backend/src/auth/JWT.ts b/backend/src/auth/JWT.ts index a58c2411f..3da1f1d3e 100644 --- a/backend/src/auth/JWT.ts +++ b/backend/src/auth/JWT.ts @@ -1,6 +1,6 @@ import { verify, sign } from 'jsonwebtoken' -import CONFIG from '@/config/' import { CustomJwtPayload } from './CustomJwtPayload' +import CONFIG from '@/config/' import LogError from '@/server/LogError' export const decode = (token: string): CustomJwtPayload | null => { diff --git a/backend/src/emails/sendEmailTranslated.test.ts b/backend/src/emails/sendEmailTranslated.test.ts index 73edb79f3..762b88cf0 100644 --- a/backend/src/emails/sendEmailTranslated.test.ts +++ b/backend/src/emails/sendEmailTranslated.test.ts @@ -1,9 +1,9 @@ /* 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' diff --git a/backend/src/emails/sendEmailTranslated.ts b/backend/src/emails/sendEmailTranslated.ts index d8ecd3d38..d865bac8f 100644 --- a/backend/src/emails/sendEmailTranslated.ts +++ b/backend/src/emails/sendEmailTranslated.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ -import CONFIG from '@/config' -import { backendLogger as logger } from '@/server/logger' 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 CONFIG from '@/config' import LogError from '@/server/LogError' export const sendEmailTranslated = async (params: { diff --git a/backend/src/emails/sendEmailVariants.test.ts b/backend/src/emails/sendEmailVariants.test.ts index 24e5b0ebd..399ed89ac 100644 --- a/backend/src/emails/sendEmailVariants.test.ts +++ b/backend/src/emails/sendEmailVariants.test.ts @@ -4,9 +4,6 @@ /* 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 { sendAddedContributionMessageEmail, sendAccountActivationEmail, @@ -19,6 +16,9 @@ import { 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 c2a2dc366..2294ebdd5 100644 --- a/backend/src/emails/sendEmailVariants.ts +++ b/backend/src/emails/sendEmailVariants.ts @@ -1,7 +1,7 @@ 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 diff --git a/backend/src/federation/client/1_0/FederationClient.ts b/backend/src/federation/client/1_0/FederationClient.ts index d4ed5960b..8c68158ff 100644 --- a/backend/src/federation/client/1_0/FederationClient.ts +++ b/backend/src/federation/client/1_0/FederationClient.ts @@ -2,9 +2,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-return */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ import { gql } from 'graphql-request' -import { backendLogger as logger } from '@/server/logger' import { Community as DbCommunity } from '@entity/Community' import { GraphQLGetClient } from '../GraphQLGetClient' +import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' export async function requestGetPublicKey(dbCom: DbCommunity): Promise { diff --git a/backend/src/federation/client/1_1/FederationClient.ts b/backend/src/federation/client/1_1/FederationClient.ts index 122fcf5dc..3f7f7b3da 100644 --- a/backend/src/federation/client/1_1/FederationClient.ts +++ b/backend/src/federation/client/1_1/FederationClient.ts @@ -2,9 +2,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ import { gql } from 'graphql-request' -import { backendLogger as logger } from '@/server/logger' import { Community as DbCommunity } from '@entity/Community' import { GraphQLGetClient } from '../GraphQLGetClient' +import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' export async function requestGetPublicKey(dbCom: DbCommunity): Promise { diff --git a/backend/src/federation/validateCommunities.test.ts b/backend/src/federation/validateCommunities.test.ts index 599564ea6..a99bb3274 100644 --- a/backend/src/federation/validateCommunities.test.ts +++ b/backend/src/federation/validateCommunities.test.ts @@ -5,10 +5,10 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { logger } from '@test/testSetup' import { Community as DbCommunity } from '@entity/Community' -import { testEnvironment, cleanDB } from '@test/helpers' import { validateCommunities } from './validateCommunities' +import { logger } from '@test/testSetup' +import { testEnvironment, cleanDB } from '@test/helpers' let con: any let testEnv: any diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index 157d83bb5..57e55b943 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -4,8 +4,8 @@ import { IsNull } from '@dbTools/typeorm' 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 { backendLogger as logger } from '@/server/logger' import { ApiVersionType } from './enum/apiVersionType' +import { backendLogger as logger } from '@/server/logger' import LogError from '@/server/LogError' export function startValidateCommunities(timerInterval: number): void { diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index 709f470d4..6cdac9b97 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -4,11 +4,11 @@ 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 { User } from '@entity/User' import LogError from '@/server/LogError' const isAuthorized: AuthChecker = async ({ context }, rights) => { diff --git a/backend/src/graphql/model/GdtEntryList.ts b/backend/src/graphql/model/GdtEntryList.ts index 7c4bffb5a..d992de54c 100644 --- a/backend/src/graphql/model/GdtEntryList.ts +++ b/backend/src/graphql/model/GdtEntryList.ts @@ -3,8 +3,8 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { GdtEntry } from './GdtEntry' import { ObjectType, Field, Int, Float } from 'type-graphql' +import { GdtEntry } from './GdtEntry' @ObjectType() export class GdtEntryList { diff --git a/backend/src/graphql/model/Transaction.ts b/backend/src/graphql/model/Transaction.ts index d24c28f2f..8f0d1eadc 100644 --- a/backend/src/graphql/model/Transaction.ts +++ b/backend/src/graphql/model/Transaction.ts @@ -1,9 +1,9 @@ import { ObjectType, Field, Int } from 'type-graphql' -import { Decay } from './Decay' import { Transaction as dbTransaction } from '@entity/Transaction' import { Decimal } from 'decimal.js-light' -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/User.ts b/backend/src/graphql/model/User.ts index aeb764941..85c6de798 100644 --- a/backend/src/graphql/model/User.ts +++ b/backend/src/graphql/model/User.ts @@ -1,6 +1,6 @@ import { ObjectType, Field, Int } from 'type-graphql' -import { KlickTipp } from './KlickTipp' import { User as dbUser } from '@entity/User' +import { KlickTipp } from './KlickTipp' import { UserContact } from './UserContact' @ObjectType() diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index 3a090e551..7600f12b9 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -6,6 +6,8 @@ import { getCustomRepository } from '@dbTools/typeorm' import { Transaction as dbTransaction } from '@entity/Transaction' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' +import { GdtResolver } from './GdtResolver' +import { getLastTransaction } from './util/getLastTransaction' import { TransactionLinkRepository } from '@repository/TransactionLink' import { Balance } from '@model/Balance' @@ -14,9 +16,6 @@ import { backendLogger as logger } from '@/server/logger' import { Context, getUser } from '@/server/context' import { calculateDecay } from '@/util/decay' import { RIGHTS } from '@/auth/RIGHTS' -import { GdtResolver } from './GdtResolver' - -import { getLastTransaction } from './util/getLastTransaction' @Resolver() export class BalanceResolver { diff --git a/backend/src/graphql/resolver/ContributionLinkResolver.test.ts b/backend/src/graphql/resolver/ContributionLinkResolver.test.ts index aae42c44b..27846d0e2 100644 --- a/backend/src/graphql/resolver/ContributionLinkResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionLinkResolver.test.ts @@ -5,8 +5,9 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { Decimal } from 'decimal.js-light' -import { logger } from '@test/testSetup' import { GraphQLError } from 'graphql' +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { logger } from '@test/testSetup' import { login, createContributionLink, @@ -18,7 +19,6 @@ 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 { ContributionLink as DbContributionLink } from '@entity/ContributionLink' 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 f7a47ab01..67c1f0955 100644 --- a/backend/src/graphql/resolver/ContributionLinkResolver.ts +++ b/backend/src/graphql/resolver/ContributionLinkResolver.ts @@ -2,6 +2,7 @@ import { Decimal } from 'decimal.js-light' import { Resolver, Args, Arg, Authorized, Mutation, Query, Int } from 'type-graphql' import { MoreThan, IsNull } from '@dbTools/typeorm' +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { CONTRIBUTIONLINK_NAME_MAX_CHARS, CONTRIBUTIONLINK_NAME_MIN_CHARS, @@ -9,17 +10,16 @@ import { 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 { backendLogger as logger } from '@/server/logger' import { RIGHTS } from '@/auth/RIGHTS' -import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' import { Order } from '@enum/Order' import Paginated from '@arg/Paginated' // TODO: this is a strange construct -import { transactionLinkCode as contributionLinkCode } from './TransactionLinkResolver' import LogError from '@/server/LogError' @Resolver() diff --git a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts index 642844e31..df624ed0a 100644 --- a/backend/src/graphql/resolver/ContributionMessageResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionMessageResolver.test.ts @@ -6,9 +6,9 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +import { GraphQLError } from 'graphql' import { cleanDB, resetToken, testEnvironment } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' -import { GraphQLError } from 'graphql' import { adminCreateContributionMessage, createContribution, diff --git a/backend/src/graphql/resolver/ContributionResolver.test.ts b/backend/src/graphql/resolver/ContributionResolver.test.ts index c478902e6..8288fde47 100644 --- a/backend/src/graphql/resolver/ContributionResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionResolver.test.ts @@ -7,6 +7,12 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Decimal } from 'decimal.js-light' +import { GraphQLError } from 'graphql' +import { EventProtocol } from '@entity/EventProtocol' +import { Contribution } from '@entity/Contribution' +import { Transaction as DbTransaction } from '@entity/Transaction' +import { User } from '@entity/User' +import { UserInputError } from 'apollo-server-express' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { bobBaumeister } from '@/seeds/users/bob-baumeister' import { stephenHawking } from '@/seeds/users/stephen-hawking' @@ -41,18 +47,12 @@ import { contributionDateFormatter, resetEntity, } from '@test/helpers' -import { GraphQLError } from 'graphql' import { userFactory } from '@/seeds/factory/user' import { creationFactory } from '@/seeds/factory/creation' import { creations } from '@/seeds/creation/index' import { peterLustig } from '@/seeds/users/peter-lustig' -import { EventProtocol } from '@entity/EventProtocol' -import { Contribution } from '@entity/Contribution' -import { Transaction as DbTransaction } from '@entity/Transaction' -import { User } from '@entity/User' import { EventProtocolType } from '@/event/EventProtocolType' import { logger, i18n as localization } from '@test/testSetup' -import { UserInputError } from 'apollo-server-express' import { raeuberHotzenplotz } from '@/seeds/users/raeuber-hotzenplotz' import { UnconfirmedContribution } from '@model/UnconfirmedContribution' import { ContributionListResult } from '@model/Contribution' diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index 6c895b339..91bffd4e3 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -9,6 +9,16 @@ import { UserContact } from '@entity/UserContact' import { User as DbUser } from '@entity/User' import { Transaction as DbTransaction } from '@entity/Transaction' +import { + getCreationDates, + getUserCreation, + validateContribution, + updateCreations, + isValidDateString, +} from './util/creations' +import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' +import { getLastTransaction } from './util/getLastTransaction' +import { findContributions } from './util/findContributions' import { AdminUpdateContribution } from '@model/AdminUpdateContribution' import { Contribution, ContributionListResult } from '@model/Contribution' import { Decay } from '@model/Decay' @@ -27,14 +37,6 @@ 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 { - getCreationDates, - getUserCreation, - validateContribution, - updateCreations, - isValidDateString, -} from './util/creations' -import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' import { EVENT_CONTRIBUTION_CREATE, EVENT_CONTRIBUTION_DELETE, @@ -54,9 +56,6 @@ import { import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' import LogError from '@/server/LogError' -import { getLastTransaction } from './util/getLastTransaction' -import { findContributions } from './util/findContributions' - @Resolver() export class ContributionResolver { @Authorized([RIGHTS.CREATE_CONTRIBUTION]) diff --git a/backend/src/graphql/resolver/EmailOptinCodes.test.ts b/backend/src/graphql/resolver/EmailOptinCodes.test.ts index 47fb3963c..e9f9bc052 100644 --- a/backend/src/graphql/resolver/EmailOptinCodes.test.ts +++ b/backend/src/graphql/resolver/EmailOptinCodes.test.ts @@ -4,12 +4,12 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { testEnvironment, cleanDB } from '@test/helpers' import { User as DbUser } from '@entity/User' +import { GraphQLError } from 'graphql' +import { testEnvironment, cleanDB } from '@test/helpers' import { createUser, setPassword, forgotPassword } from '@/seeds/graphql/mutations' import { queryOptIn } from '@/seeds/graphql/queries' import CONFIG from '@/config' -import { GraphQLError } from 'graphql' let mutate: any, query: any, con: any let testEnv: any diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.test.ts b/backend/src/graphql/resolver/TransactionLinkResolver.test.ts index b3e4df80d..f9c4835f0 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.test.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.test.ts @@ -6,6 +6,10 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +import { User } from '@entity/User' +import { Decimal } from 'decimal.js-light' +import { GraphQLError } from 'graphql' import { transactionLinkCode } from './TransactionLinkResolver' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { peterLustig } from '@/seeds/users/peter-lustig' @@ -24,11 +28,7 @@ import { createTransactionLink, } from '@/seeds/graphql/mutations' import { listTransactionLinksAdmin } from '@/seeds/graphql/queries' -import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' -import { User } from '@entity/User' import { UnconfirmedContribution } from '@model/UnconfirmedContribution' -import { Decimal } from 'decimal.js-light' -import { GraphQLError } from 'graphql' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' import { logger } from '@test/testSetup' diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts index 293f7c6f2..6de59f687 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts @@ -9,6 +9,11 @@ import { Transaction as DbTransaction } from '@entity/Transaction' import { Contribution as DbContribution } from '@entity/Contribution' import { ContributionLink as DbContributionLink } from '@entity/ContributionLink' +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 { ContributionLink } from '@model/ContributionLink' import { Decay } from '@model/Decay' @@ -23,19 +28,13 @@ import TransactionLinkFilters from '@arg/TransactionLinkFilters' import { backendLogger as logger } from '@/server/logger' import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import { Resolver, Args, Arg, Authorized, Ctx, Mutation, Query, Int } from 'type-graphql' import { calculateBalance } from '@/util/validate' import { RIGHTS } from '@/auth/RIGHTS' import { calculateDecay } from '@/util/decay' -import { getUserCreation, validateContribution } from './util/creations' -import { executeTransaction } from './TransactionResolver' import QueryLinkResult from '@union/QueryLinkResult' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' import LogError from '@/server/LogError' -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 => { const time = date.getTime().toString(16) diff --git a/backend/src/graphql/resolver/TransactionResolver.test.ts b/backend/src/graphql/resolver/TransactionResolver.test.ts index 31fc41ed1..bc06406d4 100644 --- a/backend/src/graphql/resolver/TransactionResolver.test.ts +++ b/backend/src/graphql/resolver/TransactionResolver.test.ts @@ -6,6 +6,11 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { Decimal } from 'decimal.js-light' +import { EventProtocol } from '@entity/EventProtocol' +import { Transaction } from '@entity/Transaction' +import { User } from '@entity/User' +import { GraphQLError } from 'graphql' +import { findUserByEmail } from './UserResolver' import { EventProtocolType } from '@/event/EventProtocolType' import { userFactory } from '@/seeds/factory/user' import { @@ -18,13 +23,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 { EventProtocol } from '@entity/EventProtocol' -import { Transaction } from '@entity/Transaction' -import { User } from '@entity/User' import { cleanDB, testEnvironment } from '@test/helpers' import { logger } from '@test/testSetup' -import { GraphQLError } from 'graphql' -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 83d663f93..b570c0067 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -9,6 +9,10 @@ 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 { TransactionRepository } from '@repository/Transaction' import { TransactionLinkRepository } from '@repository/TransactionLink' @@ -32,15 +36,9 @@ import { } from '@/emails/sendEmailVariants' import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Event' -import { BalanceResolver } from './BalanceResolver' -import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const' -import { findUserByEmail } from './UserResolver' - import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' import LogError from '@/server/LogError' -import { getLastTransaction } from './util/getLastTransaction' - export const executeTransaction = async ( amount: Decimal, memo: string, diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index 083badc30..f615aeed1 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -6,6 +6,15 @@ /* 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 { EventProtocol } from '@entity/EventProtocol' +import { validate as validateUUID, version as versionUUID } from 'uuid' +import { UserContact } from '@entity/UserContact' +import { OptInType } from '../enum/OptInType' +import { UserContactType } from '../enum/UserContactType' +import { PasswordEncryptionType } from '../enum/PasswordEncryptionType' import { objectValuesToArray } from '@/util/utilities' import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' @@ -27,8 +36,6 @@ import { sendActivationEmail, } from '@/seeds/graphql/mutations' import { verifyLogin, queryOptIn, searchAdminUsers, searchUsers } from '@/seeds/graphql/queries' -import { GraphQLError } from 'graphql' -import { User } from '@entity/User' import CONFIG from '@/config' import { sendAccountActivationEmail, @@ -38,19 +45,12 @@ import { import { contributionLinkFactory } from '@/seeds/factory/contributionLink' import { transactionLinkFactory } from '@/seeds/factory/transactionLink' import { ContributionLink } from '@model/ContributionLink' -import { TransactionLink } from '@entity/TransactionLink' import { EventProtocolType } from '@/event/EventProtocolType' -import { EventProtocol } from '@entity/EventProtocol' -import { validate as validateUUID, version as versionUUID } from 'uuid' import { peterLustig } from '@/seeds/users/peter-lustig' -import { UserContact } from '@entity/UserContact' -import { OptInType } from '../enum/OptInType' -import { UserContactType } from '../enum/UserContactType' 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 { PasswordEncryptionType } from '../enum/PasswordEncryptionType' import { SecretKeyCryptographyCreateKey } from '@/password/EncryptorUtils' // import { klicktippSignIn } from '@/apis/KlicktippController' diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 8f9852d9a..dfb630776 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -21,6 +21,9 @@ 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 { PasswordEncryptionType } from '../enum/PasswordEncryptionType' +import { getUserCreations } from './util/creations' +import { FULL_CREATION_AVAILABLE } from './const/const' import { UserRepository } from '@repository/User' import { User } from '@model/User' @@ -61,11 +64,8 @@ import { EVENT_ACTIVATE_ACCOUNT, EVENT_ADMIN_SEND_CONFIRMATION_EMAIL, } from '@/event/Event' -import { getUserCreations } from './util/creations' import { isValidPassword } from '@/password/EncryptorUtils' -import { FULL_CREATION_AVAILABLE } from './const/const' import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor' -import { PasswordEncryptionType } from '../enum/PasswordEncryptionType' import LogError from '@/server/LogError' import { EventProtocolType } from '@/event/EventProtocolType' diff --git a/backend/src/graphql/resolver/util/creations.test.ts b/backend/src/graphql/resolver/util/creations.test.ts index 4eabec500..7461401c8 100644 --- a/backend/src/graphql/resolver/util/creations.test.ts +++ b/backend/src/graphql/resolver/util/creations.test.ts @@ -4,14 +4,14 @@ /* 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 { testEnvironment, cleanDB, contributionDateFormatter } from '@test/helpers' import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg' import { peterLustig } from '@/seeds/users/peter-lustig' -import { User } from '@entity/User' -import { Contribution } from '@entity/Contribution' import { userFactory } from '@/seeds/factory/user' import { login, createContribution, adminCreateContribution } from '@/seeds/graphql/mutations' -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 e7a3cc965..f06b3d8bc 100644 --- a/backend/src/graphql/resolver/util/creations.ts +++ b/backend/src/graphql/resolver/util/creations.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ -import LogError from '@/server/LogError' -import { backendLogger as logger } from '@/server/logger' import { getConnection } from '@dbTools/typeorm' import { Contribution } from '@entity/Contribution' import { Decimal } from 'decimal.js-light' import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '../const/const' +import { backendLogger as logger } from '@/server/logger' +import LogError from '@/server/LogError' interface CreationMap { id: number diff --git a/backend/src/graphql/resolver/util/findContributions.ts b/backend/src/graphql/resolver/util/findContributions.ts index 8957a29d8..782ec73d5 100644 --- a/backend/src/graphql/resolver/util/findContributions.ts +++ b/backend/src/graphql/resolver/util/findContributions.ts @@ -1,7 +1,7 @@ -import { ContributionStatus } from '@enum/ContributionStatus' -import { Order } from '@enum/Order' import { Contribution as DbContribution } from '@entity/Contribution' import { In } from '@dbTools/typeorm' +import { ContributionStatus } from '@enum/ContributionStatus' +import { Order } from '@enum/Order' export const findContributions = async ( order: Order, diff --git a/backend/src/graphql/schema.ts b/backend/src/graphql/schema.ts index 3f12a5d8c..194a24c00 100644 --- a/backend/src/graphql/schema.ts +++ b/backend/src/graphql/schema.ts @@ -1,10 +1,10 @@ +import path from 'path' import { GraphQLSchema } from 'graphql' import { buildSchema } from 'type-graphql' -import path from 'path' +import { Decimal } from 'decimal.js-light' import isAuthorized from './directive/isAuthorized' import DecimalScalar from './scalar/Decimal' -import { Decimal } from 'decimal.js-light' const schema = async (): Promise => { return buildSchema({ diff --git a/backend/src/password/EncryptorUtils.ts b/backend/src/password/EncryptorUtils.ts index 4f6238674..b4531b3bb 100644 --- a/backend/src/password/EncryptorUtils.ts +++ b/backend/src/password/EncryptorUtils.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/no-unsafe-call */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ +import { User } from '@entity/User' import CONFIG from '@/config' import LogError from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' -import { User } from '@entity/User' import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs diff --git a/backend/src/seeds/creation/index.ts b/backend/src/seeds/creation/index.ts index 38cb98361..a240595ee 100644 --- a/backend/src/seeds/creation/index.ts +++ b/backend/src/seeds/creation/index.ts @@ -1,5 +1,5 @@ -import { CreationInterface } from './CreationInterface' import { nMonthsBefore } from '../factory/creation' +import { CreationInterface } from './CreationInterface' const bobsSendings = [ { diff --git a/backend/src/seeds/factory/creation.ts b/backend/src/seeds/factory/creation.ts index db58c9d51..ba46f4c09 100644 --- a/backend/src/seeds/factory/creation.ts +++ b/backend/src/seeds/factory/creation.ts @@ -5,11 +5,11 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { login, createContribution, confirmContribution } from '@/seeds/graphql/mutations' -import { CreationInterface } from '@/seeds/creation/CreationInterface' import { ApolloServerTestClient } from 'apollo-server-testing' import { Transaction } from '@entity/Transaction' import { Contribution } from '@entity/Contribution' +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' diff --git a/backend/src/seeds/factory/transactionLink.ts b/backend/src/seeds/factory/transactionLink.ts index 797a93183..c6ed68839 100644 --- a/backend/src/seeds/factory/transactionLink.ts +++ b/backend/src/seeds/factory/transactionLink.ts @@ -1,10 +1,10 @@ /* 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 { login, createTransactionLink } from '@/seeds/graphql/mutations' import { TransactionLinkInterface } from '@/seeds/transactionLink/TransactionLinkInterface' import { transactionLinkExpireDate } from '@/graphql/resolver/TransactionLinkResolver' -import { TransactionLink } from '@entity/TransactionLink' export const transactionLinkFactory = async ( client: ApolloServerTestClient, diff --git a/backend/src/seeds/factory/user.ts b/backend/src/seeds/factory/user.ts index 854e5a4ed..c82c56648 100644 --- a/backend/src/seeds/factory/user.ts +++ b/backend/src/seeds/factory/user.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/unbound-method */ -import { createUser, setPassword } from '@/seeds/graphql/mutations' import { User } from '@entity/User' -import { UserInterface } from '@/seeds/users/UserInterface' import { ApolloServerTestClient } from 'apollo-server-testing' +import { createUser, setPassword } from '@/seeds/graphql/mutations' +import { UserInterface } from '@/seeds/users/UserInterface' export const userFactory = async ( client: ApolloServerTestClient, diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index 55cd65ec1..906268820 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -5,11 +5,10 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { backendLogger as logger } from '@/server/logger' -import createServer from '../server/createServer' import { createTestClient } from 'apollo-server-testing' - import { name, internet, datatype } from 'faker' +import { entities } from '@entity/index' +import createServer from '../server/createServer' import { users } from './users/index' import { creations } from './creation/index' @@ -19,7 +18,7 @@ import { userFactory } from './factory/user' import { creationFactory } from './factory/creation' import { transactionLinkFactory } from './factory/transactionLink' import { contributionLinkFactory } from './factory/contributionLink' -import { entities } from '@entity/index' +import { backendLogger as logger } from '@/server/logger' import CONFIG from '@/config' CONFIG.EMAIL = false diff --git a/backend/src/server/LogError.test.ts b/backend/src/server/LogError.test.ts index 5aa1cae21..318a477ef 100644 --- a/backend/src/server/LogError.test.ts +++ b/backend/src/server/LogError.test.ts @@ -1,8 +1,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ /* eslint-disable @typescript-eslint/unbound-method */ -import { logger } from '@test/testSetup' - import LogError from './LogError' +import { logger } from '@test/testSetup' describe('LogError', () => { it('logs an Error when created', () => { diff --git a/backend/src/server/context.ts b/backend/src/server/context.ts index 5727e2707..570865587 100644 --- a/backend/src/server/context.ts +++ b/backend/src/server/context.ts @@ -1,9 +1,9 @@ -import { Role } from '@/auth/Role' import { User as dbUser } from '@entity/User' import { Transaction as dbTransaction } from '@entity/Transaction' import { Decimal } from 'decimal.js-light' import { ExpressContext } from 'apollo-server-express' import LogError from './LogError' +import { Role } from '@/auth/Role' export interface Context { token: string | null diff --git a/backend/src/server/localization.ts b/backend/src/server/localization.ts index 44fb1b526..22616fcf0 100644 --- a/backend/src/server/localization.ts +++ b/backend/src/server/localization.ts @@ -1,6 +1,6 @@ import path from 'path' -import { backendLogger } from './logger' import i18n from 'i18n' +import { backendLogger } from './logger' i18n.configure({ locales: ['en', 'de'], diff --git a/backend/src/server/logger.ts b/backend/src/server/logger.ts index e72e425a2..0887340d4 100644 --- a/backend/src/server/logger.ts +++ b/backend/src/server/logger.ts @@ -1,10 +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' -import { readFileSync } from 'fs' - const options = JSON.parse(readFileSync(CONFIG.LOG4JS_CONFIG, 'utf-8')) options.categories.backend.level = CONFIG.LOG_LEVEL diff --git a/backend/src/typeorm/connection.ts b/backend/src/typeorm/connection.ts index d08d935d4..54b951a79 100644 --- a/backend/src/typeorm/connection.ts +++ b/backend/src/typeorm/connection.ts @@ -1,8 +1,8 @@ // TODO This is super weird - since the entities are defined in another project they have their own globals. // We cannot use our connection here, but must use the external typeorm installation import { Connection, createConnection, FileLogger } from '@dbTools/typeorm' -import CONFIG from '@/config' import { entities } from '@entity/index' +import CONFIG from '@/config' const connection = async (): Promise => { try { diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts index e72a6e717..4928b0cc8 100644 --- a/backend/src/typeorm/repository/User.ts +++ b/backend/src/typeorm/repository/User.ts @@ -1,6 +1,6 @@ -import SearchUsersFilters from '@/graphql/arg/SearchUsersFilters' import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm' import { User as DbUser } from '@entity/User' +import SearchUsersFilters from '@/graphql/arg/SearchUsersFilters' @EntityRepository(DbUser) export class UserRepository extends Repository { diff --git a/backend/src/util/communityUser.ts b/backend/src/util/communityUser.ts index 4d04be1b8..dfa477da9 100644 --- a/backend/src/util/communityUser.ts +++ b/backend/src/util/communityUser.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { PasswordEncryptionType } from '@/graphql/enum/PasswordEncryptionType' import { SaveOptions, RemoveOptions } from '@dbTools/typeorm' import { User as dbUser } from '@entity/User' import { UserContact } from '@entity/UserContact' +import { PasswordEncryptionType } from '@/graphql/enum/PasswordEncryptionType' // import { UserContact as EmailContact } from '@entity/UserContact' import { User } from '@model/User' diff --git a/backend/src/util/validate.ts b/backend/src/util/validate.ts index ff4b17841..ce4042b28 100644 --- a/backend/src/util/validate.ts +++ b/backend/src/util/validate.ts @@ -1,10 +1,10 @@ -import { calculateDecay } from './decay' import { Decimal } from 'decimal.js-light' -import { Decay } from '@model/Decay' import { getCustomRepository } from '@dbTools/typeorm' -import { TransactionLinkRepository } from '@repository/TransactionLink' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' import { getLastTransaction } from '../graphql/resolver/util/getLastTransaction' +import { calculateDecay } from './decay' +import { TransactionLinkRepository } from '@repository/TransactionLink' +import { Decay } from '@model/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 2ee899009..7810ad871 100644 --- a/backend/src/util/virtualTransactions.ts +++ b/backend/src/util/virtualTransactions.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { Transaction } from '@model/Transaction' import { SaveOptions, RemoveOptions } from '@dbTools/typeorm' import { Transaction as dbTransaction } from '@entity/Transaction' -import { TransactionTypeId } from '@enum/TransactionTypeId' -import { calculateDecay } from './decay' -import { User } from '@model/User' import { Decimal } from 'decimal.js-light' +import { calculateDecay } from './decay' +import { Transaction } from '@model/Transaction' +import { TransactionTypeId } from '@enum/TransactionTypeId' +import { User } from '@model/User' const defaultModelFunctions = { hasId: function (): boolean { diff --git a/backend/test/helpers.ts b/backend/test/helpers.ts index a5f721717..15e2d4898 100644 --- a/backend/test/helpers.ts +++ b/backend/test/helpers.ts @@ -7,9 +7,9 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import { createTestClient } from 'apollo-server-testing' -import createServer from '../src/server/createServer' import { initialize } from '@dbTools/helpers' import { entities } from '@entity/index' +import createServer from '../src/server/createServer' import { i18n, logger } from './testSetup' export const headerPushMock = jest.fn((t) => {