From 55671eb81aa510b1a770205089808bc3411f8a39 Mon Sep 17 00:00:00 2001 From: Claus-Peter Huebner Date: Tue, 28 Nov 2023 23:50:52 +0100 Subject: [PATCH] gmsuserList as new yarn-script --- backend/package.json | 1 + backend/src/apis/gms/model/GmsUser.ts | 7 +- backend/src/federation/validateCommunities.ts | 11 ---- backend/src/seeds/gmsUserList.ts | 65 +++++++++++++++++++ 4 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 backend/src/seeds/gmsUserList.ts diff --git a/backend/package.json b/backend/package.json index 8140bdd3d..14bd67d9f 100644 --- a/backend/package.json +++ b/backend/package.json @@ -17,6 +17,7 @@ "seed": "cross-env TZ=UTC NODE_ENV=development ts-node -r tsconfig-paths/register src/seeds/index.ts", "klicktipp": "cross-env TZ=UTC NODE_ENV=development ts-node -r tsconfig-paths/register src/util/executeKlicktipp.ts", "gmsusers": "cross-env TZ=UTC NODE_ENV=development ts-node -r tsconfig-paths/register src/seeds/gmsUsers.ts", + "gmsuserList": "cross-env TZ=UTC NODE_ENV=development ts-node -r tsconfig-paths/register src/seeds/gmsUserList.ts", "locales": "scripts/sort.sh" }, "dependencies": { diff --git a/backend/src/apis/gms/model/GmsUser.ts b/backend/src/apis/gms/model/GmsUser.ts index 84c7041d8..537cb40c2 100644 --- a/backend/src/apis/gms/model/GmsUser.ts +++ b/backend/src/apis/gms/model/GmsUser.ts @@ -1,9 +1,6 @@ import { User as dbUser } from '@entity/User' import { GmsPublishNameType, GmsPublishPhoneType, GmsPublishPostType } from './GmsEnums' -import { GmsRole } from './GmsRoles' -import { GmsUserAccount } from './GmsUserAccount' -import { GmsUserProfile } from './GmsUserProfile' export class GmsUser { constructor(user: dbUser) { @@ -15,11 +12,11 @@ export class GmsUser { this.firstName = this.getGmsFirstName(user) this.lastName = this.getGmsLastName(user) this.alias = user.alias ? user.alias : undefined - this.address = this.getGmsAddress(user) + this.address = this.getGmsAddress(user) ?? 'Deutschland' this.zipCode = this.getGmsZipCode(user) this.city = this.getGmsCity(user) this.country = this.getGmsCountry(user) - this.type = 1 + this.type = 2 this.location = null } diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index 462595fae..69b69070a 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -12,7 +12,6 @@ import { backendLogger as logger } from '@/server/logger' import { startCommunityAuthentication } from './authenticateCommunities' import { ApiVersionType } from './enum/apiVersionType' -import { communityList, userList } from '@/apis/gms/GmsClient' export async function startValidateCommunities(timerInterval: number): Promise { logger.info( @@ -30,16 +29,6 @@ export async function startValidateCommunities(timerInterval: number): Promise { - // test GMS-Api Client - try { - const gmsComArray = await communityList() - logger.debug('GMS-Community-List:', gmsComArray) - const gmsUserArray = await userList() - logger.debug('GMS-Community-User-List:', gmsUserArray) - } catch (err) { - logger.error('Error in GMS-API:', err) - } - const dbFederatedCommunities: DbFederatedCommunity[] = await DbFederatedCommunity.createQueryBuilder() .where({ foreign: true, verifiedAt: IsNull() }) diff --git a/backend/src/seeds/gmsUserList.ts b/backend/src/seeds/gmsUserList.ts new file mode 100644 index 000000000..009c097a7 --- /dev/null +++ b/backend/src/seeds/gmsUserList.ts @@ -0,0 +1,65 @@ +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unsafe-member-access */ +/* eslint-disable @typescript-eslint/no-unsafe-call */ +/* eslint-disable @typescript-eslint/no-unsafe-return */ + +import { entities } from '@entity/index' +import { User as DbUser } from '@entity/User' +import { createTestClient } from 'apollo-server-testing' + +import { communityList, createGmsUser, userList } from '@/apis/gms/GmsClient' +import { GmsUser } from '@/apis/gms/model/GmsUser' +import { CONFIG } from '@/config' +import { getHomeCommunity } from '@/graphql/resolver/util/communities' +import { createServer } from '@/server/createServer' +import { LogError } from '@/server/LogError' +import { backendLogger as logger } from '@/server/logger' + +CONFIG.EMAIL = false + +const context = { + token: '', + setHeaders: { + push: (value: { key: string; value: string }): void => { + context.token = value.value + }, + // eslint-disable-next-line @typescript-eslint/no-empty-function + forEach: (): void => {}, + }, + clientTimezoneOffset: 0, +} + +export const cleanDB = async () => { + // this only works as long we do not have foreign key constraints + for (const entity of entities) { + await resetEntity(entity) + } +} + +const resetEntity = async (entity: any) => { + const items = await entity.find({ withDeleted: true }) + if (items.length > 0) { + const ids = items.map((e: any) => e.id) + await entity.delete(ids) + } +} + +const run = async () => { + const server = await createServer(context) + const seedClient = createTestClient(server.apollo) + const { con } = server + + // test GMS-Api Client + try { + const gmsComArray = await communityList() + logger.debug('GMS-Community-List:', gmsComArray) + const gmsUserArray = await userList() + logger.debug('GMS-Community-User-List:', gmsUserArray) + } catch (err) { + logger.error('Error in GMS-API:', err) + } + await con.close() +} + +void run()