mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge pull request #2908 from gradido/eslint-plugin-import-export-style
refactor(backend): eslint plugin import export style
This commit is contained in:
commit
479a8aed1a
@ -73,7 +73,7 @@ module.exports = {
|
|||||||
'import/group-exports': 'off',
|
'import/group-exports': 'off',
|
||||||
'import/newline-after-import': 'error',
|
'import/newline-after-import': 'error',
|
||||||
'import/no-anonymous-default-export': 'error',
|
'import/no-anonymous-default-export': 'error',
|
||||||
'import/no-default-export': 'off',
|
'import/no-default-export': 'error',
|
||||||
'import/no-duplicates': 'error',
|
'import/no-duplicates': 'error',
|
||||||
'import/no-named-default': 'error',
|
'import/no-named-default': 'error',
|
||||||
'import/no-namespace': 'error',
|
'import/no-namespace': 'error',
|
||||||
@ -102,7 +102,7 @@ module.exports = {
|
|||||||
distinctGroup: true,
|
distinctGroup: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'import/prefer-default-export': 'off', // TODO
|
'import/prefer-default-export': 'off',
|
||||||
// n
|
// n
|
||||||
'n/handle-callback-err': 'error',
|
'n/handle-callback-err': 'error',
|
||||||
'n/no-callback-literal': 'error',
|
'n/no-callback-literal': 'error',
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
|||||||
@ -4,7 +4,8 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* 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
|
// eslint-disable-next-line import/no-relative-parent-imports
|
||||||
import KlicktippConnector from 'klicktipp-api'
|
import KlicktippConnector from 'klicktipp-api'
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { verify, sign } from 'jsonwebtoken'
|
import { verify, sign } from 'jsonwebtoken'
|
||||||
|
|
||||||
import CONFIG from '@/config/'
|
import { CONFIG } from '@/config/'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
import { CustomJwtPayload } from './CustomJwtPayload'
|
import { CustomJwtPayload } from './CustomJwtPayload'
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import CONFIG from './index'
|
import { CONFIG } from './index'
|
||||||
|
|
||||||
describe('config/index', () => {
|
describe('config/index', () => {
|
||||||
describe('decay start block', () => {
|
describe('decay start block', () => {
|
||||||
|
|||||||
@ -121,7 +121,7 @@ const federation = {
|
|||||||
Number(process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER) || 60000,
|
Number(process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER) || 60000,
|
||||||
}
|
}
|
||||||
|
|
||||||
const CONFIG = {
|
export const CONFIG = {
|
||||||
...constants,
|
...constants,
|
||||||
...server,
|
...server,
|
||||||
...database,
|
...database,
|
||||||
@ -132,5 +132,3 @@ const CONFIG = {
|
|||||||
...webhook,
|
...webhook,
|
||||||
...federation,
|
...federation,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default CONFIG
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import { createTransport } from 'nodemailer'
|
|||||||
|
|
||||||
import { logger, i18n } from '@test/testSetup'
|
import { logger, i18n } from '@test/testSetup'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
import { sendEmailTranslated } from './sendEmailTranslated'
|
import { sendEmailTranslated } from './sendEmailTranslated'
|
||||||
|
|
||||||
|
|||||||
@ -5,8 +5,8 @@ import Email from 'email-templates'
|
|||||||
import i18n from 'i18n'
|
import i18n from 'i18n'
|
||||||
import { createTransport } from 'nodemailer'
|
import { createTransport } from 'nodemailer'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
export const sendEmailTranslated = async (params: {
|
export const sendEmailTranslated = async (params: {
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { testEnvironment } from '@test/helpers'
|
import { testEnvironment } from '@test/helpers'
|
||||||
import { logger, i18n as localization } from '@test/testSetup'
|
import { logger, i18n as localization } from '@test/testSetup'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
import { sendEmailTranslated } from './sendEmailTranslated'
|
import { sendEmailTranslated } from './sendEmailTranslated'
|
||||||
import {
|
import {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import { decimalSeparatorByLanguage } from '@/util/utilities'
|
import { decimalSeparatorByLanguage } from '@/util/utilities'
|
||||||
|
|
||||||
import { sendEmailTranslated } from './sendEmailTranslated'
|
import { sendEmailTranslated } from './sendEmailTranslated'
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import { Community as DbCommunity } from '@entity/Community'
|
|||||||
import { gql } from 'graphql-request'
|
import { gql } from 'graphql-request'
|
||||||
|
|
||||||
import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient'
|
import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
export async function requestGetPublicKey(dbCom: DbCommunity): Promise<string | undefined> {
|
export async function requestGetPublicKey(dbCom: DbCommunity): Promise<string | undefined> {
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import { Community as DbCommunity } from '@entity/Community'
|
|||||||
import { gql } from 'graphql-request'
|
import { gql } from 'graphql-request'
|
||||||
|
|
||||||
import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient'
|
import { GraphQLGetClient } from '@/federation/client/GraphQLGetClient'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
export async function requestGetPublicKey(dbCom: DbCommunity): Promise<string | undefined> {
|
export async function requestGetPublicKey(dbCom: DbCommunity): Promise<string | undefined> {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { IsNull } from '@dbTools/typeorm'
|
import { IsNull } from '@dbTools/typeorm'
|
||||||
import { Community as DbCommunity } from '@entity/Community'
|
import { Community as DbCommunity } from '@entity/Community'
|
||||||
|
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { ArgsType, Field, InputType } from 'type-graphql'
|
|||||||
|
|
||||||
@InputType()
|
@InputType()
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class AdminCreateContributionArgs {
|
export class AdminCreateContributionArgs {
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
email: string
|
email: string
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class AdminUpdateContributionArgs {
|
export class AdminUpdateContributionArgs {
|
||||||
@Field(() => Int)
|
@Field(() => Int)
|
||||||
id: number
|
id: number
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { ArgsType, Field, InputType } from 'type-graphql'
|
|||||||
|
|
||||||
@InputType()
|
@InputType()
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class ContributionArgs {
|
export class ContributionArgs {
|
||||||
@Field(() => Decimal)
|
@Field(() => Decimal)
|
||||||
amount: Decimal
|
amount: Decimal
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class ContributionLinkArgs {
|
export class ContributionLinkArgs {
|
||||||
@Field(() => Decimal)
|
@Field(() => Decimal)
|
||||||
amount: Decimal
|
amount: Decimal
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { ArgsType, Field, Int, InputType } from 'type-graphql'
|
|||||||
|
|
||||||
@InputType()
|
@InputType()
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class ContributionMessageArgs {
|
export class ContributionMessageArgs {
|
||||||
@Field(() => Int)
|
@Field(() => Int)
|
||||||
contributionId: number
|
contributionId: number
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class CreateUserArgs {
|
export class CreateUserArgs {
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
email: string
|
email: string
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import { ArgsType, Field, Int } from 'type-graphql'
|
|||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class Paginated {
|
export class Paginated {
|
||||||
@Field(() => Int, { nullable: true })
|
@Field(() => Int, { nullable: true })
|
||||||
currentPage?: number
|
currentPage?: number
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
import SearchUsersFilters from '@arg/SearchUsersFilters'
|
import { SearchUsersFilters } from '@arg/SearchUsersFilters'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class SearchUsersArgs {
|
export class SearchUsersArgs {
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
searchText: string
|
searchText: string
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { Field, InputType } from 'type-graphql'
|
import { Field, InputType } from 'type-graphql'
|
||||||
|
|
||||||
@InputType()
|
@InputType()
|
||||||
export default class SearchUsersFilters {
|
export class SearchUsersFilters {
|
||||||
@Field(() => Boolean, { nullable: true, defaultValue: null })
|
@Field(() => Boolean, { nullable: true, defaultValue: null })
|
||||||
byActivated?: boolean | null
|
byActivated?: boolean | null
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { ArgsType, Field } from 'type-graphql'
|
import { ArgsType, Field } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class TransactionLinkArgs {
|
export class TransactionLinkArgs {
|
||||||
@Field(() => Decimal)
|
@Field(() => Decimal)
|
||||||
amount: Decimal
|
amount: Decimal
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Field, InputType } from 'type-graphql'
|
import { Field, InputType } from 'type-graphql'
|
||||||
|
|
||||||
@InputType()
|
@InputType()
|
||||||
export default class TransactionLinkFilters {
|
export class TransactionLinkFilters {
|
||||||
@Field(() => Boolean, { nullable: true })
|
@Field(() => Boolean, { nullable: true })
|
||||||
withDeleted?: boolean
|
withDeleted?: boolean
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { ArgsType, Field } from 'type-graphql'
|
import { ArgsType, Field } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class TransactionSendArgs {
|
export class TransactionSendArgs {
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
identifier: string
|
identifier: string
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class UnsecureLoginArgs {
|
export class UnsecureLoginArgs {
|
||||||
@Field(() => String)
|
@Field(() => String)
|
||||||
email: string
|
email: string
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { ArgsType, Field, Int } from 'type-graphql'
|
import { ArgsType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
@ArgsType()
|
@ArgsType()
|
||||||
export default class UpdateUserInfosArgs {
|
export class UpdateUserInfosArgs {
|
||||||
@Field({ nullable: true })
|
@Field({ nullable: true })
|
||||||
firstName?: string
|
firstName?: string
|
||||||
|
|
||||||
|
|||||||
@ -10,9 +10,9 @@ import { INALIENABLE_RIGHTS } from '@/auth/INALIENABLE_RIGHTS'
|
|||||||
import { decode, encode } from '@/auth/JWT'
|
import { decode, encode } from '@/auth/JWT'
|
||||||
import { RIGHTS } from '@/auth/RIGHTS'
|
import { RIGHTS } from '@/auth/RIGHTS'
|
||||||
import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '@/auth/ROLES'
|
import { ROLE_UNAUTHORIZED, ROLE_USER, ROLE_ADMIN } from '@/auth/ROLES'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
const isAuthorized: AuthChecker<any> = async ({ context }, rights) => {
|
export const isAuthorized: AuthChecker<any> = async ({ context }, rights) => {
|
||||||
context.role = ROLE_UNAUTHORIZED // unauthorized user
|
context.role = ROLE_UNAUTHORIZED // unauthorized user
|
||||||
|
|
||||||
// is rights an inalienable right?
|
// is rights an inalienable right?
|
||||||
@ -56,5 +56,3 @@ const isAuthorized: AuthChecker<any> = async ({ context }, rights) => {
|
|||||||
context.setHeaders.push({ key: 'token', value: encode(decoded.gradidoID) })
|
context.setHeaders.push({ key: 'token', value: encode(decoded.gradidoID) })
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
export default isAuthorized
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { ContributionLink as dbContributionLink } from '@entity/ContributionLink
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { ObjectType, Field, Int } from 'type-graphql'
|
import { ObjectType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
@ObjectType()
|
@ObjectType()
|
||||||
export class ContributionLink {
|
export class ContributionLink {
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink'
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { ObjectType, Field, Int } from 'type-graphql'
|
import { ObjectType, Field, Int } from 'type-graphql'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
import { User } from './User'
|
import { User } from './User'
|
||||||
|
|
||||||
|
|||||||
@ -3,9 +3,8 @@ import { ContributionLink as DbContributionLink } from '@entity/ContributionLink
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { Resolver, Args, Arg, Authorized, Mutation, Query, Int, Ctx } from 'type-graphql'
|
import { Resolver, Args, Arg, Authorized, Mutation, Query, Int, Ctx } from 'type-graphql'
|
||||||
|
|
||||||
// TODO: this is a strange construct
|
import { ContributionLinkArgs } from '@arg/ContributionLinkArgs'
|
||||||
import ContributionLinkArgs from '@arg/ContributionLinkArgs'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import Paginated from '@arg/Paginated'
|
|
||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
import { ContributionLink } from '@model/ContributionLink'
|
import { ContributionLink } from '@model/ContributionLink'
|
||||||
import { ContributionLinkList } from '@model/ContributionLinkList'
|
import { ContributionLinkList } from '@model/ContributionLinkList'
|
||||||
@ -17,7 +16,7 @@ import {
|
|||||||
EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE,
|
EVENT_ADMIN_CONTRIBUTION_LINK_UPDATE,
|
||||||
} from '@/event/Events'
|
} from '@/event/Events'
|
||||||
import { Context, getUser } from '@/server/context'
|
import { Context, getUser } from '@/server/context'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CONTRIBUTIONLINK_NAME_MAX_CHARS,
|
CONTRIBUTIONLINK_NAME_MAX_CHARS,
|
||||||
|
|||||||
@ -6,8 +6,8 @@ import { User as DbUser } from '@entity/User'
|
|||||||
import { UserContact as DbUserContact } from '@entity/UserContact'
|
import { UserContact as DbUserContact } from '@entity/UserContact'
|
||||||
import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql'
|
import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql'
|
||||||
|
|
||||||
import ContributionMessageArgs from '@arg/ContributionMessageArgs'
|
import { ContributionMessageArgs } from '@arg/ContributionMessageArgs'
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import { ContributionStatus } from '@enum/ContributionStatus'
|
import { ContributionStatus } from '@enum/ContributionStatus'
|
||||||
import { ContributionMessageType } from '@enum/MessageType'
|
import { ContributionMessageType } from '@enum/MessageType'
|
||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
@ -20,7 +20,7 @@ import {
|
|||||||
EVENT_CONTRIBUTION_MESSAGE_CREATE,
|
EVENT_CONTRIBUTION_MESSAGE_CREATE,
|
||||||
} from '@/event/Events'
|
} from '@/event/Events'
|
||||||
import { Context, getUser } from '@/server/context'
|
import { Context, getUser } from '@/server/context'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
@Resolver()
|
@Resolver()
|
||||||
export class ContributionMessageResolver {
|
export class ContributionMessageResolver {
|
||||||
|
|||||||
@ -8,10 +8,10 @@ import { UserContact } from '@entity/UserContact'
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql'
|
import { Arg, Args, Authorized, Ctx, Int, Mutation, Query, Resolver } from 'type-graphql'
|
||||||
|
|
||||||
import AdminCreateContributionArgs from '@arg/AdminCreateContributionArgs'
|
import { AdminCreateContributionArgs } from '@arg/AdminCreateContributionArgs'
|
||||||
import AdminUpdateContributionArgs from '@arg/AdminUpdateContributionArgs'
|
import { AdminUpdateContributionArgs } from '@arg/AdminUpdateContributionArgs'
|
||||||
import ContributionArgs from '@arg/ContributionArgs'
|
import { ContributionArgs } from '@arg/ContributionArgs'
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import { ContributionStatus } from '@enum/ContributionStatus'
|
import { ContributionStatus } from '@enum/ContributionStatus'
|
||||||
import { ContributionType } from '@enum/ContributionType'
|
import { ContributionType } from '@enum/ContributionType'
|
||||||
import { ContributionMessageType } from '@enum/MessageType'
|
import { ContributionMessageType } from '@enum/MessageType'
|
||||||
@ -40,7 +40,7 @@ import {
|
|||||||
EVENT_ADMIN_CONTRIBUTION_DENY,
|
EVENT_ADMIN_CONTRIBUTION_DENY,
|
||||||
} from '@/event/Events'
|
} from '@/event/Events'
|
||||||
import { Context, getUser, getClientTimezoneOffset } from '@/server/context'
|
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 { backendLogger as logger } from '@/server/logger'
|
||||||
import { calculateDecay } from '@/util/decay'
|
import { calculateDecay } from '@/util/decay'
|
||||||
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import { GraphQLError } from 'graphql'
|
|||||||
|
|
||||||
import { testEnvironment, cleanDB } from '@test/helpers'
|
import { testEnvironment, cleanDB } from '@test/helpers'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import { createUser, setPassword, forgotPassword } from '@/seeds/graphql/mutations'
|
import { createUser, setPassword, forgotPassword } from '@/seeds/graphql/mutations'
|
||||||
import { queryOptIn } from '@/seeds/graphql/queries'
|
import { queryOptIn } from '@/seeds/graphql/queries'
|
||||||
|
|
||||||
|
|||||||
@ -4,15 +4,15 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
||||||
import { Resolver, Query, Args, Ctx, Authorized, Arg, Int, Float } from 'type-graphql'
|
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 { Order } from '@enum/Order'
|
||||||
import { GdtEntryList } from '@model/GdtEntryList'
|
import { GdtEntryList } from '@model/GdtEntryList'
|
||||||
|
|
||||||
import { apiGet, apiPost } from '@/apis/HttpRequest'
|
import { apiGet, apiPost } from '@/apis/HttpRequest'
|
||||||
import { RIGHTS } from '@/auth/RIGHTS'
|
import { RIGHTS } from '@/auth/RIGHTS'
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import { Context, getUser } from '@/server/context'
|
import { Context, getUser } from '@/server/context'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
@Resolver()
|
@Resolver()
|
||||||
export class GdtResolver {
|
export class GdtResolver {
|
||||||
|
|||||||
@ -9,9 +9,9 @@ import { User as DbUser } from '@entity/User'
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { Resolver, Args, Arg, Authorized, Ctx, Mutation, Query, Int } from 'type-graphql'
|
import { Resolver, Args, Arg, Authorized, Ctx, Mutation, Query, Int } from 'type-graphql'
|
||||||
|
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import TransactionLinkArgs from '@arg/TransactionLinkArgs'
|
import { TransactionLinkArgs } from '@arg/TransactionLinkArgs'
|
||||||
import TransactionLinkFilters from '@arg/TransactionLinkFilters'
|
import { TransactionLinkFilters } from '@arg/TransactionLinkFilters'
|
||||||
import { ContributionCycleType } from '@enum/ContributionCycleType'
|
import { ContributionCycleType } from '@enum/ContributionCycleType'
|
||||||
import { ContributionStatus } from '@enum/ContributionStatus'
|
import { ContributionStatus } from '@enum/ContributionStatus'
|
||||||
import { ContributionType } from '@enum/ContributionType'
|
import { ContributionType } from '@enum/ContributionType'
|
||||||
@ -20,7 +20,7 @@ import { ContributionLink } from '@model/ContributionLink'
|
|||||||
import { Decay } from '@model/Decay'
|
import { Decay } from '@model/Decay'
|
||||||
import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink'
|
import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink'
|
||||||
import { User } from '@model/User'
|
import { User } from '@model/User'
|
||||||
import QueryLinkResult from '@union/QueryLinkResult'
|
import { QueryLinkResult } from '@union/QueryLinkResult'
|
||||||
|
|
||||||
import { RIGHTS } from '@/auth/RIGHTS'
|
import { RIGHTS } from '@/auth/RIGHTS'
|
||||||
import {
|
import {
|
||||||
@ -30,7 +30,7 @@ import {
|
|||||||
EVENT_TRANSACTION_LINK_REDEEM,
|
EVENT_TRANSACTION_LINK_REDEEM,
|
||||||
} from '@/event/Events'
|
} from '@/event/Events'
|
||||||
import { Context, getUser, getClientTimezoneOffset } from '@/server/context'
|
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 { backendLogger as logger } from '@/server/logger'
|
||||||
import { calculateDecay } from '@/util/decay'
|
import { calculateDecay } from '@/util/decay'
|
||||||
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
||||||
@ -39,7 +39,7 @@ import { calculateBalance } from '@/util/validate'
|
|||||||
import { executeTransaction } from './TransactionResolver'
|
import { executeTransaction } from './TransactionResolver'
|
||||||
import { getUserCreation, validateContribution } from './util/creations'
|
import { getUserCreation, validateContribution } from './util/creations'
|
||||||
import { getLastTransaction } from './util/getLastTransaction'
|
import { getLastTransaction } from './util/getLastTransaction'
|
||||||
import transactionLinkList from './util/transactionLinkList'
|
import { transactionLinkList } from './util/transactionLinkList'
|
||||||
|
|
||||||
// TODO: do not export, test it inside the resolver
|
// TODO: do not export, test it inside the resolver
|
||||||
export const transactionLinkCode = (date: Date): string => {
|
export const transactionLinkCode = (date: Date): string => {
|
||||||
|
|||||||
@ -9,8 +9,8 @@ import { User as dbUser } from '@entity/User'
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { Resolver, Query, Args, Authorized, Ctx, Mutation } from 'type-graphql'
|
import { Resolver, Query, Args, Authorized, Ctx, Mutation } from 'type-graphql'
|
||||||
|
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import TransactionSendArgs from '@arg/TransactionSendArgs'
|
import { TransactionSendArgs } from '@arg/TransactionSendArgs'
|
||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
import { TransactionTypeId } from '@enum/TransactionTypeId'
|
import { TransactionTypeId } from '@enum/TransactionTypeId'
|
||||||
import { Transaction } from '@model/Transaction'
|
import { Transaction } from '@model/Transaction'
|
||||||
@ -25,7 +25,7 @@ import {
|
|||||||
} from '@/emails/sendEmailVariants'
|
} from '@/emails/sendEmailVariants'
|
||||||
import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Events'
|
import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Events'
|
||||||
import { Context, getUser } from '@/server/context'
|
import { Context, getUser } from '@/server/context'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
import { communityUser } from '@/util/communityUser'
|
import { communityUser } from '@/util/communityUser'
|
||||||
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
|
||||||
|
|||||||
@ -20,7 +20,7 @@ import { ContributionLink } from '@model/ContributionLink'
|
|||||||
import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers'
|
import { testEnvironment, headerPushMock, resetToken, cleanDB } from '@test/helpers'
|
||||||
import { logger, i18n as localization } from '@test/testSetup'
|
import { logger, i18n as localization } from '@test/testSetup'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import {
|
import {
|
||||||
sendAccountActivationEmail,
|
sendAccountActivationEmail,
|
||||||
sendAccountMultiRegistrationEmail,
|
sendAccountMultiRegistrationEmail,
|
||||||
|
|||||||
@ -21,11 +21,11 @@ import {
|
|||||||
} from 'type-graphql'
|
} from 'type-graphql'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
|
|
||||||
import CreateUserArgs from '@arg/CreateUserArgs'
|
import { CreateUserArgs } from '@arg/CreateUserArgs'
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import SearchUsersArgs from '@arg/SearchUsersArgs'
|
import { SearchUsersArgs } from '@arg/SearchUsersArgs'
|
||||||
import UnsecureLoginArgs from '@arg/UnsecureLoginArgs'
|
import { UnsecureLoginArgs } from '@arg/UnsecureLoginArgs'
|
||||||
import UpdateUserInfosArgs from '@arg/UpdateUserInfosArgs'
|
import { UpdateUserInfosArgs } from '@arg/UpdateUserInfosArgs'
|
||||||
import { OptInType } from '@enum/OptInType'
|
import { OptInType } from '@enum/OptInType'
|
||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
import { PasswordEncryptionType } from '@enum/PasswordEncryptionType'
|
import { PasswordEncryptionType } from '@enum/PasswordEncryptionType'
|
||||||
@ -38,7 +38,7 @@ import { UserRepository } from '@repository/User'
|
|||||||
import { klicktippSignIn } from '@/apis/KlicktippController'
|
import { klicktippSignIn } from '@/apis/KlicktippController'
|
||||||
import { encode } from '@/auth/JWT'
|
import { encode } from '@/auth/JWT'
|
||||||
import { RIGHTS } from '@/auth/RIGHTS'
|
import { RIGHTS } from '@/auth/RIGHTS'
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import {
|
import {
|
||||||
sendAccountActivationEmail,
|
sendAccountActivationEmail,
|
||||||
sendAccountMultiRegistrationEmail,
|
sendAccountMultiRegistrationEmail,
|
||||||
@ -64,7 +64,7 @@ import { klicktippNewsletterStateMiddleware } from '@/middleware/klicktippMiddle
|
|||||||
import { isValidPassword } from '@/password/EncryptorUtils'
|
import { isValidPassword } from '@/password/EncryptorUtils'
|
||||||
import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor'
|
import { encryptPassword, verifyPassword } from '@/password/PasswordEncryptor'
|
||||||
import { Context, getUser, getClientTimezoneOffset } from '@/server/context'
|
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 { backendLogger as logger } from '@/server/logger'
|
||||||
import { communityDbUser } from '@/util/communityUser'
|
import { communityDbUser } from '@/util/communityUser'
|
||||||
import { hasElopageBuys } from '@/util/hasElopageBuys'
|
import { hasElopageBuys } from '@/util/hasElopageBuys'
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { OpenCreation } from '@model/OpenCreation'
|
import { OpenCreation } from '@model/OpenCreation'
|
||||||
|
|
||||||
import { FULL_CREATION_AVAILABLE, MAX_CREATION_AMOUNT } from '@/graphql/resolver/const/const'
|
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'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
interface CreationMap {
|
interface CreationMap {
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { User as DbUser } from '@entity/User'
|
|||||||
import { UserContact as DbUserContact } from '@entity/UserContact'
|
import { UserContact as DbUserContact } from '@entity/UserContact'
|
||||||
import { validate, version } from 'uuid'
|
import { validate, version } from 'uuid'
|
||||||
|
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
export const findUserByIdentifier = async (identifier: string): Promise<DbUser> => {
|
export const findUserByIdentifier = async (identifier: string): Promise<DbUser> => {
|
||||||
let user: DbUser | undefined
|
let user: DbUser | undefined
|
||||||
|
|||||||
@ -2,14 +2,14 @@ import { MoreThan } from '@dbTools/typeorm'
|
|||||||
import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink'
|
import { TransactionLink as DbTransactionLink } from '@entity/TransactionLink'
|
||||||
import { User as DbUser } from '@entity/User'
|
import { User as DbUser } from '@entity/User'
|
||||||
|
|
||||||
import Paginated from '@arg/Paginated'
|
import { Paginated } from '@arg/Paginated'
|
||||||
import TransactionLinkFilters from '@arg/TransactionLinkFilters'
|
import { TransactionLinkFilters } from '@arg/TransactionLinkFilters'
|
||||||
import { Order } from '@enum/Order'
|
import { Order } from '@enum/Order'
|
||||||
import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink'
|
import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink'
|
||||||
|
|
||||||
import { User } from '@/graphql/model/User'
|
import { User } from '@/graphql/model/User'
|
||||||
|
|
||||||
export default async function transactionLinkList(
|
export async function transactionLinkList(
|
||||||
{ currentPage = 1, pageSize = 5, order = Order.DESC }: Paginated,
|
{ currentPage = 1, pageSize = 5, order = Order.DESC }: Paginated,
|
||||||
filters: TransactionLinkFilters | null,
|
filters: TransactionLinkFilters | null,
|
||||||
user: DbUser,
|
user: DbUser,
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Decimal } from 'decimal.js-light'
|
import { Decimal } from 'decimal.js-light'
|
||||||
import { GraphQLScalarType, Kind } from 'graphql'
|
import { GraphQLScalarType, Kind } from 'graphql'
|
||||||
|
|
||||||
const DecimalType = new GraphQLScalarType({
|
export const DecimalScalar = new GraphQLScalarType({
|
||||||
name: 'Decimal',
|
name: 'Decimal',
|
||||||
description: 'The `Decimal` scalar type to represent currency values',
|
description: 'The `Decimal` scalar type to represent currency values',
|
||||||
|
|
||||||
@ -22,5 +22,3 @@ const DecimalType = new GraphQLScalarType({
|
|||||||
return new Decimal(ast.value)
|
return new Decimal(ast.value)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
export default DecimalType
|
|
||||||
|
|||||||
@ -4,15 +4,13 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
import { GraphQLSchema } from 'graphql'
|
import { GraphQLSchema } from 'graphql'
|
||||||
import { buildSchema } from 'type-graphql'
|
import { buildSchema } from 'type-graphql'
|
||||||
|
|
||||||
import isAuthorized from './directive/isAuthorized'
|
import { isAuthorized } from './directive/isAuthorized'
|
||||||
import DecimalScalar from './scalar/Decimal'
|
import { DecimalScalar } from './scalar/Decimal'
|
||||||
|
|
||||||
const schema = async (): Promise<GraphQLSchema> => {
|
export const schema = async (): Promise<GraphQLSchema> => {
|
||||||
return buildSchema({
|
return buildSchema({
|
||||||
resolvers: [path.join(__dirname, 'resolver', `!(*.test).{js,ts}`)],
|
resolvers: [path.join(__dirname, 'resolver', `!(*.test).{js,ts}`)],
|
||||||
authChecker: isAuthorized,
|
authChecker: isAuthorized,
|
||||||
scalarsMap: [{ type: Decimal, scalar: DecimalScalar }],
|
scalarsMap: [{ type: Decimal, scalar: DecimalScalar }],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default schema
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { createUnionType } from 'type-graphql'
|
|||||||
import { ContributionLink } from '@model/ContributionLink'
|
import { ContributionLink } from '@model/ContributionLink'
|
||||||
import { TransactionLink } from '@model/TransactionLink'
|
import { TransactionLink } from '@model/TransactionLink'
|
||||||
|
|
||||||
export default createUnionType({
|
export const QueryLinkResult = createUnionType({
|
||||||
name: 'QueryLinkResult', // the name of the GraphQL union
|
name: 'QueryLinkResult', // the name of the GraphQL union
|
||||||
types: () => [TransactionLink, ContributionLink] as const, // function that returns tuple of object types classes
|
types: () => [TransactionLink, ContributionLink] as const, // function that returns tuple of object types classes
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
import CONFIG from './config'
|
import { CONFIG } from './config'
|
||||||
import { startValidateCommunities } from './federation/validateCommunities'
|
import { startValidateCommunities } from './federation/validateCommunities'
|
||||||
import createServer from './server/createServer'
|
import { createServer } from './server/createServer'
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const { app } = await createServer()
|
const { app } = await createServer()
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import { MiddlewareFn } from 'type-graphql'
|
|||||||
import { KlickTipp } from '@model/KlickTipp'
|
import { KlickTipp } from '@model/KlickTipp'
|
||||||
|
|
||||||
import { /* klicktippSignIn, */ getKlickTippUser } from '@/apis/KlicktippController'
|
import { /* klicktippSignIn, */ getKlickTippUser } from '@/apis/KlicktippController'
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import { klickTippLogger as logger } from '@/server/logger'
|
import { klickTippLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
// export const klicktippRegistrationMiddleware: MiddlewareFn = async (
|
// export const klicktippRegistrationMiddleware: MiddlewareFn = async (
|
||||||
|
|||||||
@ -6,8 +6,8 @@ import { User } from '@entity/User'
|
|||||||
|
|
||||||
import { PasswordEncryptionType } from '@enum/PasswordEncryptionType'
|
import { PasswordEncryptionType } from '@enum/PasswordEncryptionType'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs
|
// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-commonjs
|
||||||
|
|||||||
@ -9,8 +9,8 @@ import { entities } from '@entity/index'
|
|||||||
import { createTestClient } from 'apollo-server-testing'
|
import { createTestClient } from 'apollo-server-testing'
|
||||||
import { name, internet, datatype } from 'faker'
|
import { name, internet, datatype } from 'faker'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import createServer from '@/server/createServer'
|
import { createServer } from '@/server/createServer'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
import { contributionLinks } from './contributionLink/index'
|
import { contributionLinks } from './contributionLink/index'
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/unbound-method */
|
/* eslint-disable @typescript-eslint/unbound-method */
|
||||||
import { logger } from '@test/testSetup'
|
import { logger } from '@test/testSetup'
|
||||||
|
|
||||||
import LogError from './LogError'
|
import { LogError } from './LogError'
|
||||||
|
|
||||||
describe('LogError', () => {
|
describe('LogError', () => {
|
||||||
it('logs an Error when created', () => {
|
it('logs an Error when created', () => {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
||||||
import { backendLogger as logger } from './logger'
|
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
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
constructor(msg: string, ...details: any[]) {
|
constructor(msg: string, ...details: any[]) {
|
||||||
super(msg)
|
super(msg)
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
|
|
||||||
import { Role } from '@/auth/Role'
|
import { Role } from '@/auth/Role'
|
||||||
|
|
||||||
import LogError from './LogError'
|
import { LogError } from './LogError'
|
||||||
|
|
||||||
export interface Context {
|
export interface Context {
|
||||||
token: string | null
|
token: string | null
|
||||||
@ -20,7 +20,7 @@ export interface Context {
|
|||||||
sumHoldAvailableAmount?: Decimal
|
sumHoldAvailableAmount?: Decimal
|
||||||
}
|
}
|
||||||
|
|
||||||
const context = (args: ExpressContext): Context => {
|
export const context = (args: ExpressContext): Context => {
|
||||||
const authorization = args.req.headers.authorization
|
const authorization = args.req.headers.authorization
|
||||||
const clientTimezoneOffset = args.req.headers.clienttimezoneoffset
|
const clientTimezoneOffset = args.req.headers.clienttimezoneoffset
|
||||||
const context: Context = {
|
const context: Context = {
|
||||||
@ -50,5 +50,3 @@ export const getClientTimezoneOffset = (context: Context): number => {
|
|||||||
}
|
}
|
||||||
throw new LogError('No valid client time zone offset in context')
|
throw new LogError('No valid client time zone offset in context')
|
||||||
}
|
}
|
||||||
|
|
||||||
export default context
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import cors from 'cors'
|
import corsLib from 'cors'
|
||||||
|
|
||||||
const corsOptions = {
|
const corsOptions = {
|
||||||
origin: '*',
|
origin: '*',
|
||||||
exposedHeaders: ['token'],
|
exposedHeaders: ['token'],
|
||||||
}
|
}
|
||||||
|
|
||||||
export default cors(corsOptions)
|
export const cors = corsLib(corsOptions)
|
||||||
|
|||||||
@ -6,24 +6,24 @@ import { ApolloServer } from 'apollo-server-express'
|
|||||||
import express, { Express, json, urlencoded } from 'express'
|
import express, { Express, json, urlencoded } from 'express'
|
||||||
import { Logger } from 'log4js'
|
import { Logger } from 'log4js'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import schema from '@/graphql/schema'
|
import { schema } from '@/graphql/schema'
|
||||||
import connection from '@/typeorm/connection'
|
import { connection } from '@/typeorm/connection'
|
||||||
import { checkDBVersion } from '@/typeorm/DBVersion'
|
import { checkDBVersion } from '@/typeorm/DBVersion'
|
||||||
import { elopageWebhook } from '@/webhook/elopage'
|
import { elopageWebhook } from '@/webhook/elopage'
|
||||||
|
|
||||||
import serverContext from './context'
|
import { context as serverContext } from './context'
|
||||||
import cors from './cors'
|
import { cors } from './cors'
|
||||||
import { i18n } from './localization'
|
import { i18n } from './localization'
|
||||||
import { apolloLogger } from './logger'
|
import { apolloLogger } from './logger'
|
||||||
import plugins from './plugins'
|
import { plugins } from './plugins'
|
||||||
|
|
||||||
// TODO implement
|
// TODO implement
|
||||||
// import queryComplexity, { simpleEstimator, fieldConfigEstimator } from "graphql-query-complexity";
|
// import queryComplexity, { simpleEstimator, fieldConfigEstimator } from "graphql-query-complexity";
|
||||||
|
|
||||||
type ServerDef = { apollo: ApolloServer; app: Express; con: Connection }
|
type ServerDef = { apollo: ApolloServer; app: Express; con: Connection }
|
||||||
|
|
||||||
const createServer = async (
|
export const createServer = async (
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
context: any = serverContext,
|
context: any = serverContext,
|
||||||
logger: Logger = apolloLogger,
|
logger: Logger = apolloLogger,
|
||||||
@ -81,5 +81,3 @@ const createServer = async (
|
|||||||
|
|
||||||
return { apollo, app, con }
|
return { apollo, app, con }
|
||||||
}
|
}
|
||||||
|
|
||||||
export default createServer
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import { readFileSync } from 'fs'
|
|||||||
|
|
||||||
import { configure, getLogger } from 'log4js'
|
import { configure, getLogger } from 'log4js'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
const options = JSON.parse(readFileSync(CONFIG.LOG4JS_CONFIG, 'utf-8'))
|
const options = JSON.parse(readFileSync(CONFIG.LOG4JS_CONFIG, 'utf-8'))
|
||||||
|
|
||||||
|
|||||||
@ -60,8 +60,6 @@ ${JSON.stringify(requestContext.response.errors, null, 2)}`)
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const plugins =
|
export const plugins =
|
||||||
// eslint-disable-next-line n/no-process-env
|
// eslint-disable-next-line n/no-process-env
|
||||||
process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin, logPlugin]
|
process.env.NODE_ENV === 'development' ? [setHeadersPlugin] : [setHeadersPlugin, logPlugin]
|
||||||
|
|
||||||
export default plugins
|
|
||||||
|
|||||||
@ -3,9 +3,9 @@
|
|||||||
import { Connection, createConnection, FileLogger } from '@dbTools/typeorm'
|
import { Connection, createConnection, FileLogger } from '@dbTools/typeorm'
|
||||||
import { entities } from '@entity/index'
|
import { entities } from '@entity/index'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
|
|
||||||
const connection = async (): Promise<Connection | null> => {
|
export const connection = async (): Promise<Connection | null> => {
|
||||||
try {
|
try {
|
||||||
return createConnection({
|
return createConnection({
|
||||||
name: 'default',
|
name: 'default',
|
||||||
@ -31,5 +31,3 @@ const connection = async (): Promise<Connection | null> => {
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default connection
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm'
|
import { Brackets, EntityRepository, IsNull, Not, Repository } from '@dbTools/typeorm'
|
||||||
import { User as DbUser } from '@entity/User'
|
import { User as DbUser } from '@entity/User'
|
||||||
|
|
||||||
import SearchUsersFilters from '@/graphql/arg/SearchUsersFilters'
|
import { SearchUsersFilters } from '@/graphql/arg/SearchUsersFilters'
|
||||||
|
|
||||||
@EntityRepository(DbUser)
|
@EntityRepository(DbUser)
|
||||||
export class UserRepository extends Repository<DbUser> {
|
export class UserRepository extends Repository<DbUser> {
|
||||||
|
|||||||
@ -2,8 +2,8 @@ import { Decimal } from 'decimal.js-light'
|
|||||||
|
|
||||||
import { Decay } from '@model/Decay'
|
import { Decay } from '@model/Decay'
|
||||||
|
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
|
|
||||||
// TODO: externalize all those definitions and functions into an external decay library
|
// TODO: externalize all those definitions and functions into an external decay library
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { User } from '@entity/User'
|
import { User } from '@entity/User'
|
||||||
|
|
||||||
import { getKlickTippUser } from '@/apis/KlicktippController'
|
import { getKlickTippUser } from '@/apis/KlicktippController'
|
||||||
import LogError from '@/server/LogError'
|
import { LogError } from '@/server/LogError'
|
||||||
import connection from '@/typeorm/connection'
|
import { connection } from '@/typeorm/connection'
|
||||||
|
|
||||||
export async function retrieveNotRegisteredEmails(): Promise<string[]> {
|
export async function retrieveNotRegisteredEmails(): Promise<string[]> {
|
||||||
const con = await connection()
|
const con = await connection()
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
import { entities } from '@entity/index'
|
import { entities } from '@entity/index'
|
||||||
import { createTestClient } from 'apollo-server-testing'
|
import { createTestClient } from 'apollo-server-testing'
|
||||||
|
|
||||||
import createServer from '@/server/createServer'
|
import { createServer } from '@/server/createServer'
|
||||||
|
|
||||||
import { i18n, logger } from './testSetup'
|
import { i18n, logger } from './testSetup'
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
||||||
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
||||||
import CONFIG from '@/config'
|
import { CONFIG } from '@/config'
|
||||||
import { i18n } from '@/server/localization'
|
import { i18n } from '@/server/localization'
|
||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user