diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js index 9021fcc30..4c53a638f 100644 --- a/backend/.eslintrc.js +++ b/backend/.eslintrc.js @@ -73,7 +73,7 @@ module.exports = { 'import/group-exports': 'off', 'import/newline-after-import': 'error', 'import/no-anonymous-default-export': 'error', - 'import/no-default-export': 'off', + 'import/no-default-export': 'error', 'import/no-duplicates': 'error', 'import/no-named-default': 'error', 'import/no-namespace': 'error', @@ -102,7 +102,7 @@ module.exports = { distinctGroup: true, }, ], - 'import/prefer-default-export': 'off', // TODO + 'import/prefer-default-export': 'off', // n 'n/handle-callback-err': 'error', 'n/no-callback-literal': 'error', diff --git a/backend/src/apis/HttpRequest.ts b/backend/src/apis/HttpRequest.ts index 278e3732c..063dfa202 100644 --- a/backend/src/apis/HttpRequest.ts +++ b/backend/src/apis/HttpRequest.ts @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ import axios from 'axios' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/backend/src/apis/KlicktippController.ts b/backend/src/apis/KlicktippController.ts index 309cf56ee..3f7136de2 100644 --- a/backend/src/apis/KlicktippController.ts +++ b/backend/src/apis/KlicktippController.ts @@ -4,7 +4,8 @@ /* 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' + +import { CONFIG } from '@/config' // eslint-disable-next-line import/no-relative-parent-imports import KlicktippConnector from 'klicktipp-api' diff --git a/backend/src/auth/JWT.ts b/backend/src/auth/JWT.ts index 93a6a8868..75a69cd0c 100644 --- a/backend/src/auth/JWT.ts +++ b/backend/src/auth/JWT.ts @@ -1,7 +1,7 @@ import { verify, sign } from 'jsonwebtoken' -import CONFIG from '@/config/' -import LogError from '@/server/LogError' +import { CONFIG } from '@/config/' +import { LogError } from '@/server/LogError' import { CustomJwtPayload } from './CustomJwtPayload' diff --git a/backend/src/config/index.test.ts b/backend/src/config/index.test.ts index 1dabf9292..24908513a 100644 --- a/backend/src/config/index.test.ts +++ b/backend/src/config/index.test.ts @@ -1,4 +1,4 @@ -import CONFIG from './index' +import { CONFIG } from './index' describe('config/index', () => { describe('decay start block', () => { diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 23ede1f27..017d83098 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -121,7 +121,7 @@ const federation = { Number(process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER) || 60000, } -const CONFIG = { +export const CONFIG = { ...constants, ...server, ...database, @@ -132,5 +132,3 @@ const CONFIG = { ...webhook, ...federation, } - -export default CONFIG diff --git a/backend/src/emails/sendEmailTranslated.test.ts b/backend/src/emails/sendEmailTranslated.test.ts index 85074344a..66efb29a9 100644 --- a/backend/src/emails/sendEmailTranslated.test.ts +++ b/backend/src/emails/sendEmailTranslated.test.ts @@ -4,7 +4,7 @@ import { createTransport } from 'nodemailer' import { logger, i18n } from '@test/testSetup' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { sendEmailTranslated } from './sendEmailTranslated' diff --git a/backend/src/emails/sendEmailTranslated.ts b/backend/src/emails/sendEmailTranslated.ts index 6d89cc257..abf582b5c 100644 --- a/backend/src/emails/sendEmailTranslated.ts +++ b/backend/src/emails/sendEmailTranslated.ts @@ -5,8 +5,8 @@ import Email from 'email-templates' import i18n from 'i18n' import { createTransport } from 'nodemailer' -import CONFIG from '@/config' -import LogError from '@/server/LogError' +import { CONFIG } from '@/config' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' export const sendEmailTranslated = async (params: { diff --git a/backend/src/emails/sendEmailVariants.test.ts b/backend/src/emails/sendEmailVariants.test.ts index 44d996fa8..fa83996cb 100644 --- a/backend/src/emails/sendEmailVariants.test.ts +++ b/backend/src/emails/sendEmailVariants.test.ts @@ -8,7 +8,7 @@ import { Decimal } from 'decimal.js-light' import { testEnvironment } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { sendEmailTranslated } from './sendEmailTranslated' import { diff --git a/backend/src/emails/sendEmailVariants.ts b/backend/src/emails/sendEmailVariants.ts index b45e7fc67..2f9d906a1 100644 --- a/backend/src/emails/sendEmailVariants.ts +++ b/backend/src/emails/sendEmailVariants.ts @@ -1,6 +1,6 @@ import { Decimal } from 'decimal.js-light' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { decimalSeparatorByLanguage } from '@/util/utilities' import { sendEmailTranslated } from './sendEmailTranslated' diff --git a/backend/src/federation/client/1_0/FederationClient.ts b/backend/src/federation/client/1_0/FederationClient.ts index c4063e4c5..13f05e761 100644 --- a/backend/src/federation/client/1_0/FederationClient.ts +++ b/backend/src/federation/client/1_0/FederationClient.ts @@ -5,7 +5,7 @@ import { Community as DbCommunity } from '@entity/Community' import { gql } from 'graphql-request' import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' 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 b29960407..bda185fba 100644 --- a/backend/src/federation/client/1_1/FederationClient.ts +++ b/backend/src/federation/client/1_1/FederationClient.ts @@ -5,7 +5,7 @@ import { Community as DbCommunity } from '@entity/Community' import { gql } from 'graphql-request' import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' export async function requestGetPublicKey(dbCom: DbCommunity): Promise { diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index fb6bda673..0e8c7cb12 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -1,7 +1,7 @@ import { IsNull } from '@dbTools/typeorm' import { Community as DbCommunity } from '@entity/Community' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' // eslint-disable-next-line camelcase diff --git a/backend/src/graphql/arg/AdminCreateContributionArgs.ts b/backend/src/graphql/arg/AdminCreateContributionArgs.ts index 65aeb82e5..8e2fa28da 100644 --- a/backend/src/graphql/arg/AdminCreateContributionArgs.ts +++ b/backend/src/graphql/arg/AdminCreateContributionArgs.ts @@ -3,7 +3,7 @@ import { ArgsType, Field, InputType } from 'type-graphql' @InputType() @ArgsType() -export default class AdminCreateContributionArgs { +export class AdminCreateContributionArgs { @Field(() => String) email: string diff --git a/backend/src/graphql/arg/AdminUpdateContributionArgs.ts b/backend/src/graphql/arg/AdminUpdateContributionArgs.ts index 6a8f00dc2..e79260c63 100644 --- a/backend/src/graphql/arg/AdminUpdateContributionArgs.ts +++ b/backend/src/graphql/arg/AdminUpdateContributionArgs.ts @@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light' import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() -export default class AdminUpdateContributionArgs { +export class AdminUpdateContributionArgs { @Field(() => Int) id: number diff --git a/backend/src/graphql/arg/ContributionArgs.ts b/backend/src/graphql/arg/ContributionArgs.ts index cc8aea41e..db688d811 100644 --- a/backend/src/graphql/arg/ContributionArgs.ts +++ b/backend/src/graphql/arg/ContributionArgs.ts @@ -3,7 +3,7 @@ import { ArgsType, Field, InputType } from 'type-graphql' @InputType() @ArgsType() -export default class ContributionArgs { +export class ContributionArgs { @Field(() => Decimal) amount: Decimal diff --git a/backend/src/graphql/arg/ContributionLinkArgs.ts b/backend/src/graphql/arg/ContributionLinkArgs.ts index d28a7808f..cef72148a 100644 --- a/backend/src/graphql/arg/ContributionLinkArgs.ts +++ b/backend/src/graphql/arg/ContributionLinkArgs.ts @@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light' import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() -export default class ContributionLinkArgs { +export class ContributionLinkArgs { @Field(() => Decimal) amount: Decimal diff --git a/backend/src/graphql/arg/ContributionMessageArgs.ts b/backend/src/graphql/arg/ContributionMessageArgs.ts index 8b44756a6..d36e1832d 100644 --- a/backend/src/graphql/arg/ContributionMessageArgs.ts +++ b/backend/src/graphql/arg/ContributionMessageArgs.ts @@ -2,7 +2,7 @@ import { ArgsType, Field, Int, InputType } from 'type-graphql' @InputType() @ArgsType() -export default class ContributionMessageArgs { +export class ContributionMessageArgs { @Field(() => Int) contributionId: number diff --git a/backend/src/graphql/arg/CreateUserArgs.ts b/backend/src/graphql/arg/CreateUserArgs.ts index 56acfd63d..cb263b84a 100644 --- a/backend/src/graphql/arg/CreateUserArgs.ts +++ b/backend/src/graphql/arg/CreateUserArgs.ts @@ -1,7 +1,7 @@ import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() -export default class CreateUserArgs { +export class CreateUserArgs { @Field(() => String) email: string diff --git a/backend/src/graphql/arg/Paginated.ts b/backend/src/graphql/arg/Paginated.ts index e605c49d4..a1e792ef7 100644 --- a/backend/src/graphql/arg/Paginated.ts +++ b/backend/src/graphql/arg/Paginated.ts @@ -4,7 +4,7 @@ import { ArgsType, Field, Int } from 'type-graphql' import { Order } from '@enum/Order' @ArgsType() -export default class Paginated { +export class Paginated { @Field(() => Int, { nullable: true }) currentPage?: number diff --git a/backend/src/graphql/arg/SearchUsersArgs.ts b/backend/src/graphql/arg/SearchUsersArgs.ts index de7275f63..0ebc442c3 100644 --- a/backend/src/graphql/arg/SearchUsersArgs.ts +++ b/backend/src/graphql/arg/SearchUsersArgs.ts @@ -1,9 +1,9 @@ import { ArgsType, Field, Int } from 'type-graphql' -import SearchUsersFilters from '@arg/SearchUsersFilters' +import { SearchUsersFilters } from '@arg/SearchUsersFilters' @ArgsType() -export default class SearchUsersArgs { +export class SearchUsersArgs { @Field(() => String) searchText: string diff --git a/backend/src/graphql/arg/SearchUsersFilters.ts b/backend/src/graphql/arg/SearchUsersFilters.ts index efcdfa00d..a6ea09268 100644 --- a/backend/src/graphql/arg/SearchUsersFilters.ts +++ b/backend/src/graphql/arg/SearchUsersFilters.ts @@ -1,7 +1,7 @@ import { Field, InputType } from 'type-graphql' @InputType() -export default class SearchUsersFilters { +export class SearchUsersFilters { @Field(() => Boolean, { nullable: true, defaultValue: null }) byActivated?: boolean | null diff --git a/backend/src/graphql/arg/TransactionLinkArgs.ts b/backend/src/graphql/arg/TransactionLinkArgs.ts index 19720e321..f44ef0356 100644 --- a/backend/src/graphql/arg/TransactionLinkArgs.ts +++ b/backend/src/graphql/arg/TransactionLinkArgs.ts @@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light' import { ArgsType, Field } from 'type-graphql' @ArgsType() -export default class TransactionLinkArgs { +export class TransactionLinkArgs { @Field(() => Decimal) amount: Decimal diff --git a/backend/src/graphql/arg/TransactionLinkFilters.ts b/backend/src/graphql/arg/TransactionLinkFilters.ts index 13d630d17..de8643260 100644 --- a/backend/src/graphql/arg/TransactionLinkFilters.ts +++ b/backend/src/graphql/arg/TransactionLinkFilters.ts @@ -2,7 +2,7 @@ import { Field, InputType } from 'type-graphql' @InputType() -export default class TransactionLinkFilters { +export class TransactionLinkFilters { @Field(() => Boolean, { nullable: true }) withDeleted?: boolean diff --git a/backend/src/graphql/arg/TransactionSendArgs.ts b/backend/src/graphql/arg/TransactionSendArgs.ts index 3f5fa8436..ecda848d1 100644 --- a/backend/src/graphql/arg/TransactionSendArgs.ts +++ b/backend/src/graphql/arg/TransactionSendArgs.ts @@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light' import { ArgsType, Field } from 'type-graphql' @ArgsType() -export default class TransactionSendArgs { +export class TransactionSendArgs { @Field(() => String) identifier: string diff --git a/backend/src/graphql/arg/UnsecureLoginArgs.ts b/backend/src/graphql/arg/UnsecureLoginArgs.ts index a2a7bb683..ad5a934f9 100644 --- a/backend/src/graphql/arg/UnsecureLoginArgs.ts +++ b/backend/src/graphql/arg/UnsecureLoginArgs.ts @@ -1,7 +1,7 @@ import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() -export default class UnsecureLoginArgs { +export class UnsecureLoginArgs { @Field(() => String) email: string diff --git a/backend/src/graphql/arg/UpdateUserInfosArgs.ts b/backend/src/graphql/arg/UpdateUserInfosArgs.ts index 985d3fed6..2f9df8dd7 100644 --- a/backend/src/graphql/arg/UpdateUserInfosArgs.ts +++ b/backend/src/graphql/arg/UpdateUserInfosArgs.ts @@ -1,7 +1,7 @@ import { ArgsType, Field, Int } from 'type-graphql' @ArgsType() -export default class UpdateUserInfosArgs { +export class UpdateUserInfosArgs { @Field({ nullable: true }) firstName?: string diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index d659b3f1c..117cff056 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -10,9 +10,9 @@ 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' +import { LogError } from '@/server/LogError' -const isAuthorized: AuthChecker = async ({ context }, rights) => { +export const isAuthorized: AuthChecker = async ({ context }, rights) => { context.role = ROLE_UNAUTHORIZED // unauthorized user // is rights an inalienable right? @@ -56,5 +56,3 @@ const isAuthorized: AuthChecker = async ({ context }, rights) => { context.setHeaders.push({ key: 'token', value: encode(decoded.gradidoID) }) return true } - -export default isAuthorized diff --git a/backend/src/graphql/model/ContributionLink.ts b/backend/src/graphql/model/ContributionLink.ts index e47ffc6ed..1576fc97a 100644 --- a/backend/src/graphql/model/ContributionLink.ts +++ b/backend/src/graphql/model/ContributionLink.ts @@ -2,7 +2,7 @@ import { ContributionLink as dbContributionLink } from '@entity/ContributionLink import { Decimal } from 'decimal.js-light' import { ObjectType, Field, Int } from 'type-graphql' -import CONFIG from '@/config' +import { CONFIG } from '@/config' @ObjectType() export class ContributionLink { diff --git a/backend/src/graphql/model/TransactionLink.ts b/backend/src/graphql/model/TransactionLink.ts index 7356e97c6..74178610c 100644 --- a/backend/src/graphql/model/TransactionLink.ts +++ b/backend/src/graphql/model/TransactionLink.ts @@ -2,7 +2,7 @@ import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' import { Decimal } from 'decimal.js-light' import { ObjectType, Field, Int } from 'type-graphql' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { User } from './User' diff --git a/backend/src/graphql/resolver/ContributionLinkResolver.ts b/backend/src/graphql/resolver/ContributionLinkResolver.ts index 462dbf99f..1dcf6a3cb 100644 --- a/backend/src/graphql/resolver/ContributionLinkResolver.ts +++ b/backend/src/graphql/resolver/ContributionLinkResolver.ts @@ -3,9 +3,8 @@ 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' -// TODO: this is a strange construct -import ContributionLinkArgs from '@arg/ContributionLinkArgs' -import Paginated from '@arg/Paginated' +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' @@ -17,7 +16,7 @@ import { EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE, } from '@/event/Events' import { Context, getUser } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { CONTRIBUTIONLINK_NAME_MAX_CHARS, diff --git a/backend/src/graphql/resolver/ContributionMessageResolver.ts b/backend/src/graphql/resolver/ContributionMessageResolver.ts index 01376a1cb..236132f4d 100644 --- a/backend/src/graphql/resolver/ContributionMessageResolver.ts +++ b/backend/src/graphql/resolver/ContributionMessageResolver.ts @@ -6,8 +6,8 @@ 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 ContributionMessageArgs from '@arg/ContributionMessageArgs' -import Paginated from '@arg/Paginated' +import { ContributionMessageArgs } from '@arg/ContributionMessageArgs' +import { Paginated } from '@arg/Paginated' import { ContributionStatus } from '@enum/ContributionStatus' import { ContributionMessageType } from '@enum/MessageType' import { Order } from '@enum/Order' @@ -20,7 +20,7 @@ import { EVENT_CONTRIBUTION_MESSAGE_CREATE, } from '@/event/Events' import { Context, getUser } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' @Resolver() export class ContributionMessageResolver { diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index 60f03020a..f6ce30e52 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -8,10 +8,10 @@ import { UserContact } from '@entity/UserContact' import { Decimal } from 'decimal.js-light' import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql' -import AdminCreateContributionArgs from '@arg/AdminCreateContributionArgs' -import AdminUpdateContributionArgs from '@arg/AdminUpdateContributionArgs' -import ContributionArgs from '@arg/ContributionArgs' -import Paginated from '@arg/Paginated' +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' @@ -40,7 +40,7 @@ import { EVENT_ADMIN_CONTRIBUTION_DENY, } from '@/event/Events' import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { calculateDecay } from '@/util/decay' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' diff --git a/backend/src/graphql/resolver/EmailOptinCodes.test.ts b/backend/src/graphql/resolver/EmailOptinCodes.test.ts index cc8d4e534..442c63c00 100644 --- a/backend/src/graphql/resolver/EmailOptinCodes.test.ts +++ b/backend/src/graphql/resolver/EmailOptinCodes.test.ts @@ -9,7 +9,7 @@ import { GraphQLError } from 'graphql' import { testEnvironment, cleanDB } from '@test/helpers' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { createUser, setPassword, forgotPassword } from '@/seeds/graphql/mutations' import { queryOptIn } from '@/seeds/graphql/queries' diff --git a/backend/src/graphql/resolver/GdtResolver.ts b/backend/src/graphql/resolver/GdtResolver.ts index 60cf78bf9..3b9213567 100644 --- a/backend/src/graphql/resolver/GdtResolver.ts +++ b/backend/src/graphql/resolver/GdtResolver.ts @@ -4,15 +4,15 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ import { Resolver, Query, Args, Ctx, Authorized, Arg, Int, Float } from 'type-graphql' -import Paginated from '@arg/Paginated' +import { Paginated } from '@arg/Paginated' import { Order } from '@enum/Order' import { GdtEntryList } from '@model/GdtEntryList' import { apiGet, apiPost } from '@/apis/HttpRequest' import { RIGHTS } from '@/auth/RIGHTS' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { Context, getUser } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' @Resolver() export class GdtResolver { diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts index f69878cac..ab322a50b 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts @@ -9,9 +9,9 @@ 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 Paginated from '@arg/Paginated' -import TransactionLinkArgs from '@arg/TransactionLinkArgs' -import TransactionLinkFilters from '@arg/TransactionLinkFilters' +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' @@ -20,7 +20,7 @@ import { ContributionLink } from '@model/ContributionLink' import { Decay } from '@model/Decay' import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink' import { User } from '@model/User' -import QueryLinkResult from '@union/QueryLinkResult' +import { QueryLinkResult } from '@union/QueryLinkResult' import { RIGHTS } from '@/auth/RIGHTS' import { @@ -30,7 +30,7 @@ import { EVENT_TRANSACTION_LINK_REDEEM, } from '@/event/Events' import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { calculateDecay } from '@/util/decay' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' @@ -39,7 +39,7 @@ 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' +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.ts b/backend/src/graphql/resolver/TransactionResolver.ts index fda4504e2..839709f5d 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -9,8 +9,8 @@ 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 { Paginated } from '@arg/Paginated' +import { TransactionSendArgs } from '@arg/TransactionSendArgs' import { Order } from '@enum/Order' import { TransactionTypeId } from '@enum/TransactionTypeId' import { Transaction } from '@model/Transaction' @@ -25,7 +25,7 @@ import { } from '@/emails/sendEmailVariants' import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Events' import { Context, getUser } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { communityUser } from '@/util/communityUser' import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK' diff --git a/backend/src/graphql/resolver/UserResolver.test.ts b/backend/src/graphql/resolver/UserResolver.test.ts index 67e6b5a09..77b08f0d6 100644 --- a/backend/src/graphql/resolver/UserResolver.test.ts +++ b/backend/src/graphql/resolver/UserResolver.test.ts @@ -20,7 +20,7 @@ import { ContributionLink } from '@model/ContributionLink' import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers' import { logger, i18n as localization } from '@test/testSetup' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { sendAccountActivationEmail, sendAccountMultiRegistrationEmail, diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index a50d3f447..35e00a5ec 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -21,11 +21,11 @@ import { } from 'type-graphql' import { v4 as uuidv4 } from 'uuid' -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 { 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' @@ -38,7 +38,7 @@ 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 { CONFIG } from '@/config' import { sendAccountActivationEmail, sendAccountMultiRegistrationEmail, @@ -64,7 +64,7 @@ import { klicktippNewsletterStateMiddleware } from '@/middleware/klicktippMiddle import { isValidPassword } from '@/password/EncryptorUtils' import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor' import { Context, getUser, getClientTimezoneOffset } from '@/server/context' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { communityDbUser } from '@/util/communityUser' import { hasElopageBuys } from '@/util/hasElopageBuys' diff --git a/backend/src/graphql/resolver/util/creations.ts b/backend/src/graphql/resolver/util/creations.ts index 87c730fe1..1c0c0735e 100644 --- a/backend/src/graphql/resolver/util/creations.ts +++ b/backend/src/graphql/resolver/util/creations.ts @@ -8,7 +8,7 @@ import { Decimal } from 'decimal.js-light' import { OpenCreation } from '@model/OpenCreation' import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '@/graphql/resolver/const/const' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' interface CreationMap { diff --git a/backend/src/graphql/resolver/util/findUserByIdentifier.ts b/backend/src/graphql/resolver/util/findUserByIdentifier.ts index a96fd1451..df932e544 100644 --- a/backend/src/graphql/resolver/util/findUserByIdentifier.ts +++ b/backend/src/graphql/resolver/util/findUserByIdentifier.ts @@ -2,7 +2,7 @@ import { User as DbUser } from '@entity/User' import { UserContact as DbUserContact } from '@entity/UserContact' import { validate, version } from 'uuid' -import LogError from '@/server/LogError' +import { LogError } from '@/server/LogError' export const findUserByIdentifier = async (identifier: string): Promise => { let user: DbUser | undefined diff --git a/backend/src/graphql/resolver/util/transactionLinkList.ts b/backend/src/graphql/resolver/util/transactionLinkList.ts index 544d35114..0dba5a400 100644 --- a/backend/src/graphql/resolver/util/transactionLinkList.ts +++ b/backend/src/graphql/resolver/util/transactionLinkList.ts @@ -2,14 +2,14 @@ import { MoreThan } from '@dbTools/typeorm' import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink' import { User as DbUser } from '@entity/User' -import Paginated from '@arg/Paginated' -import TransactionLinkFilters from '@arg/TransactionLinkFilters' +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( +export async function transactionLinkList( { currentPage = 1, pageSize = 5, order = Order.DESC }: Paginated, filters: TransactionLinkFilters | null, user: DbUser, diff --git a/backend/src/graphql/scalar/Decimal.ts b/backend/src/graphql/scalar/Decimal.ts index a2633f0db..96804bdfa 100644 --- a/backend/src/graphql/scalar/Decimal.ts +++ b/backend/src/graphql/scalar/Decimal.ts @@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light' import { GraphQLScalarType, Kind } from 'graphql' -const DecimalType = new GraphQLScalarType({ +export const DecimalScalar = new GraphQLScalarType({ name: 'Decimal', description: 'The `Decimal` scalar type to represent currency values', @@ -22,5 +22,3 @@ const DecimalType = new GraphQLScalarType({ return new Decimal(ast.value) }, }) - -export default DecimalType diff --git a/backend/src/graphql/schema.ts b/backend/src/graphql/schema.ts index c6097f027..f14276c86 100644 --- a/backend/src/graphql/schema.ts +++ b/backend/src/graphql/schema.ts @@ -4,15 +4,13 @@ import { Decimal } from 'decimal.js-light' import { GraphQLSchema } from 'graphql' import { buildSchema } from 'type-graphql' -import isAuthorized from './directive/isAuthorized' -import DecimalScalar from './scalar/Decimal' +import { isAuthorized } from './directive/isAuthorized' +import { DecimalScalar } from './scalar/Decimal' -const schema = async (): Promise => { +export const schema = async (): Promise => { return buildSchema({ resolvers: [path.join(__dirname, 'resolver', `!(*.test).{js,ts}`)], authChecker: isAuthorized, scalarsMap: [{ type: Decimal, scalar: DecimalScalar }], }) } - -export default schema diff --git a/backend/src/graphql/union/QueryLinkResult.ts b/backend/src/graphql/union/QueryLinkResult.ts index 390175d1d..fdf1c7b17 100644 --- a/backend/src/graphql/union/QueryLinkResult.ts +++ b/backend/src/graphql/union/QueryLinkResult.ts @@ -3,7 +3,7 @@ import { createUnionType } from 'type-graphql' import { ContributionLink } from '@model/ContributionLink' import { TransactionLink } from '@model/TransactionLink' -export default createUnionType({ +export const QueryLinkResult = createUnionType({ name: 'QueryLinkResult', // the name of the GraphQL union types: () => [TransactionLink, ContributionLink] as const, // function that returns tuple of object types classes }) diff --git a/backend/src/index.ts b/backend/src/index.ts index 72b627820..b522e1ff5 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import CONFIG from './config' +import { CONFIG } from './config' import { startValidateCommunities } from './federation/validateCommunities' -import createServer from './server/createServer' +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 39231277f..c5d6dd0ff 100644 --- a/backend/src/middleware/klicktippMiddleware.ts +++ b/backend/src/middleware/klicktippMiddleware.ts @@ -8,7 +8,7 @@ import { MiddlewareFn } from 'type-graphql' import { KlickTipp } from '@model/KlickTipp' import { /* klicktippSignIn, */ getKlickTippUser } from '@/apis/KlicktippController' -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { klickTippLogger as logger } from '@/server/logger' // export const klicktippRegistrationMiddleware: MiddlewareFn = async ( diff --git a/backend/src/password/EncryptorUtils.ts b/backend/src/password/EncryptorUtils.ts index ab52b80ad..827fc9547 100644 --- a/backend/src/password/EncryptorUtils.ts +++ b/backend/src/password/EncryptorUtils.ts @@ -6,8 +6,8 @@ import { User } from '@entity/User' import { PasswordEncryptionType } from '@enum/PasswordEncryptionType' -import CONFIG from '@/config' -import LogError from '@/server/LogError' +import { CONFIG } from '@/config' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs diff --git a/backend/src/seeds/index.ts b/backend/src/seeds/index.ts index d1960eea9..8ca42fc79 100644 --- a/backend/src/seeds/index.ts +++ b/backend/src/seeds/index.ts @@ -9,8 +9,8 @@ import { entities } from '@entity/index' import { createTestClient } from 'apollo-server-testing' import { name, internet, datatype } from 'faker' -import CONFIG from '@/config' -import createServer from '@/server/createServer' +import { CONFIG } from '@/config' +import { createServer } from '@/server/createServer' import { backendLogger as logger } from '@/server/logger' import { contributionLinks } from './contributionLink/index' diff --git a/backend/src/server/LogError.test.ts b/backend/src/server/LogError.test.ts index 5aa1cae21..b013a31ce 100644 --- a/backend/src/server/LogError.test.ts +++ b/backend/src/server/LogError.test.ts @@ -2,7 +2,7 @@ /* eslint-disable @typescript-eslint/unbound-method */ import { logger } from '@test/testSetup' -import LogError from './LogError' +import { LogError } from './LogError' describe('LogError', () => { it('logs an Error when created', () => { diff --git a/backend/src/server/LogError.ts b/backend/src/server/LogError.ts index 570b0acfa..0862b9809 100644 --- a/backend/src/server/LogError.ts +++ b/backend/src/server/LogError.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ import { backendLogger as logger } from './logger' -export default class LogError extends Error { +export class LogError extends Error { // eslint-disable-next-line @typescript-eslint/no-explicit-any constructor(msg: string, ...details: any[]) { super(msg) diff --git a/backend/src/server/context.ts b/backend/src/server/context.ts index f0e63daea..a52c979e3 100644 --- a/backend/src/server/context.ts +++ b/backend/src/server/context.ts @@ -5,7 +5,7 @@ import { Decimal } from 'decimal.js-light' import { Role } from '@/auth/Role' -import LogError from './LogError' +import { LogError } from './LogError' export interface Context { token: string | null @@ -20,7 +20,7 @@ export interface Context { sumHoldAvailableAmount?: Decimal } -const context = (args: ExpressContext): Context => { +export const context = (args: ExpressContext): Context => { const authorization = args.req.headers.authorization const clientTimezoneOffset = args.req.headers.clienttimezoneoffset const context: Context = { @@ -50,5 +50,3 @@ export const getClientTimezoneOffset = (context: Context): number => { } throw new LogError('No valid client time zone offset in context') } - -export default context diff --git a/backend/src/server/cors.ts b/backend/src/server/cors.ts index e76ed1591..95663695d 100644 --- a/backend/src/server/cors.ts +++ b/backend/src/server/cors.ts @@ -1,8 +1,8 @@ -import cors from 'cors' +import corsLib from 'cors' const corsOptions = { origin: '*', exposedHeaders: ['token'], } -export default cors(corsOptions) +export const cors = corsLib(corsOptions) diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 8a94ef3eb..777d6dfbe 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -6,24 +6,24 @@ import { ApolloServer } from 'apollo-server-express' import express, { Express, json, urlencoded } from 'express' import { Logger } from 'log4js' -import CONFIG from '@/config' -import schema from '@/graphql/schema' -import connection from '@/typeorm/connection' +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 { context as serverContext } from './context' +import { cors } from './cors' import { i18n } from './localization' import { apolloLogger } from './logger' -import plugins from './plugins' +import { plugins } from './plugins' // TODO implement // import queryComplexity, { simpleEstimator, fieldConfigEstimator } from "graphql-query-complexity"; type ServerDef = { apollo: ApolloServer; app: Express; con: Connection } -const createServer = async ( +export const createServer = async ( // eslint-disable-next-line @typescript-eslint/no-explicit-any context: any = serverContext, logger: Logger = apolloLogger, @@ -81,5 +81,3 @@ const createServer = async ( return { apollo, app, con } } - -export default createServer diff --git a/backend/src/server/logger.ts b/backend/src/server/logger.ts index ba5847b97..d1edbd8fb 100644 --- a/backend/src/server/logger.ts +++ b/backend/src/server/logger.ts @@ -5,7 +5,7 @@ import { readFileSync } from 'fs' import { configure, getLogger } from 'log4js' -import CONFIG from '@/config' +import { CONFIG } from '@/config' const options = JSON.parse(readFileSync(CONFIG.LOG4JS_CONFIG, 'utf-8')) diff --git a/backend/src/server/plugins.ts b/backend/src/server/plugins.ts index d113cb4b7..cb0e4e443 100644 --- a/backend/src/server/plugins.ts +++ b/backend/src/server/plugins.ts @@ -60,8 +60,6 @@ ${JSON.stringify(requestContext.response.errors, null, 2)}`) }, } -const plugins = +export const plugins = // eslint-disable-next-line n/no-process-env process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin, logPlugin] - -export default plugins diff --git a/backend/src/typeorm/connection.ts b/backend/src/typeorm/connection.ts index a3a20450b..7dec820b5 100644 --- a/backend/src/typeorm/connection.ts +++ b/backend/src/typeorm/connection.ts @@ -3,9 +3,9 @@ import { Connection, createConnection, FileLogger } from '@dbTools/typeorm' import { entities } from '@entity/index' -import CONFIG from '@/config' +import { CONFIG } from '@/config' -const connection = async (): Promise => { +export const connection = async (): Promise => { try { return createConnection({ name: 'default', @@ -31,5 +31,3 @@ const connection = async (): Promise => { return null } } - -export default connection diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts index 71e43329b..53273102d 100644 --- a/backend/src/typeorm/repository/User.ts +++ b/backend/src/typeorm/repository/User.ts @@ -1,7 +1,7 @@ import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm' import { User as DbUser } from '@entity/User' -import SearchUsersFilters from '@/graphql/arg/SearchUsersFilters' +import { SearchUsersFilters } from '@/graphql/arg/SearchUsersFilters' @EntityRepository(DbUser) export class UserRepository extends Repository { diff --git a/backend/src/util/decay.ts b/backend/src/util/decay.ts index 77157e203..1d1775cc9 100644 --- a/backend/src/util/decay.ts +++ b/backend/src/util/decay.ts @@ -2,8 +2,8 @@ import { Decimal } from 'decimal.js-light' import { Decay } from '@model/Decay' -import CONFIG from '@/config' -import LogError from '@/server/LogError' +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 4d90be134..e34a9c384 100644 --- a/backend/src/util/klicktipp.ts +++ b/backend/src/util/klicktipp.ts @@ -1,8 +1,8 @@ import { User } from '@entity/User' import { getKlickTippUser } from '@/apis/KlicktippController' -import LogError from '@/server/LogError' -import connection from '@/typeorm/connection' +import { LogError } from '@/server/LogError' +import { connection } from '@/typeorm/connection' export async function retrieveNotRegisteredEmails(): Promise { const con = await connection() diff --git a/backend/test/helpers.ts b/backend/test/helpers.ts index cd86573fc..b43dc2d96 100644 --- a/backend/test/helpers.ts +++ b/backend/test/helpers.ts @@ -10,7 +10,7 @@ import { entities } from '@entity/index' import { createTestClient } from 'apollo-server-testing' -import createServer from '@/server/createServer' +import { createServer } from '@/server/createServer' import { i18n, logger } from './testSetup' diff --git a/backend/test/testSetup.ts b/backend/test/testSetup.ts index 4e8a67e3f..12bd25d64 100644 --- a/backend/test/testSetup.ts +++ b/backend/test/testSetup.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-return */ -import CONFIG from '@/config' +import { CONFIG } from '@/config' import { i18n } from '@/server/localization' import { backendLogger as logger } from '@/server/logger'