diff options
author | mat <github@matdoes.dev> | 2022-04-09 14:47:46 -0500 |
---|---|---|
committer | mat <github@matdoes.dev> | 2022-04-09 14:47:46 -0500 |
commit | 208d98cc47c956f3b4449ccc525a8f073d92d6c6 (patch) | |
tree | 61c227cc888757f5c7cb88a17c002caf5808812a /src | |
parent | 3d4d9e51880aa665541e335bcd5dfa8c9bce2299 (diff) | |
download | skyblock-api-208d98cc47c956f3b4449ccc525a8f073d92d6c6.tar.gz skyblock-api-208d98cc47c956f3b4449ccc525a8f073d92d6c6.tar.bz2 skyblock-api-208d98cc47c956f3b4449ccc525a8f073d92d6c6.zip |
Allow viewing profiles of removed members
Diffstat (limited to 'src')
-rw-r--r-- | src/cleaners/skyblock/coopInvitation.ts | 3 | ||||
-rw-r--r-- | src/cleaners/skyblock/member.ts | 2 | ||||
-rw-r--r-- | src/hypixelCached.ts | 10 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/cleaners/skyblock/coopInvitation.ts b/src/cleaners/skyblock/coopInvitation.ts index 6aa8803..0188772 100644 --- a/src/cleaners/skyblock/coopInvitation.ts +++ b/src/cleaners/skyblock/coopInvitation.ts @@ -10,9 +10,10 @@ export interface CoopInvitation { acceptedTimestamp: number | null } -export async function cleanCoopInvitation(data: typedHypixelApi.SkyBlockProfileMember): Promise<CoopInvitation | null> { +export async function cleanCoopInvitation(data: typedHypixelApi.SkyBlockProfileMember, uuid: string): Promise<CoopInvitation | null> { if (!data.coop_invitation) return null + return { invitedTimestamp: data.coop_invitation.timestamp, invitedBy: await cached.fetchBasicPlayer(data.coop_invitation.invited_by, false), diff --git a/src/cleaners/skyblock/member.ts b/src/cleaners/skyblock/member.ts index 9231456..014c147 100644 --- a/src/cleaners/skyblock/member.ts +++ b/src/cleaners/skyblock/member.ts @@ -72,7 +72,7 @@ export async function cleanSkyBlockProfileMemberResponse(member: typedHypixelApi if (fairySouls.total > (maxFairySouls ?? 0)) await constants.setConstantValues({ max_fairy_souls: fairySouls.total }) - const coopInvitationPromise = cleanCoopInvitation(member) + const coopInvitationPromise = cleanCoopInvitation(member, member.uuid) const minionsPromise = cleanMinions(member) const skillsPromise = cleanSkills(member) const zonesPromise = cleanVisitedZones(member) diff --git a/src/hypixelCached.ts b/src/hypixelCached.ts index 3c703f6..a2600f2 100644 --- a/src/hypixelCached.ts +++ b/src/hypixelCached.ts @@ -313,6 +313,10 @@ export async function fetchProfileUuid(user: string, profile: string): Promise<s if (!profiles) return null // user probably doesnt exist const profileUuid = undashUuid(profile) + if (isUuid(profileUuid)) { + // if the profile is already a uuid, just return it + return profileUuid + } for (const p of profiles) { if (p.name?.toLowerCase() === profileUuid.toLowerCase()) @@ -411,11 +415,11 @@ export async function fetchProfileName(user: string, profile: string): Promise<s if (!basicProfiles) return null - let profileName: string | null = null + let profileName = profile // we default to the profile uuid provided for (const basicProfile of basicProfiles) - if (basicProfile.uuid === playerUuid) - profileName = basicProfile.name ?? null + if (basicProfile.uuid === playerUuid && basicProfile.name) + profileName = basicProfile.name profileNameCache.set(`${playerUuid}.${profileUuid}`, profileName) return profileName |