chore(client): add and apply naming convention (#44110)
* refactor: remove unused types * chore: add naming-convention lint rule * refactor: rename redux proptypes * chore: remove Type suffix from prop-types * chore: apply conventions to ajax * chore: apply convention to create-types * chore: apply convention to show-project-links * chore: search-bar * chore: Hotkeys * chore: privacy * chore: portfolio * chore: search-page-hits * chore: search-suggestion * chore: search-hits * chore: no-hits-suggestion * chore: timeline-pagination * chore: various profile files * chore: heat-map * chore: portfolio * chore: certifications * chore: landing-top * chore: certifications * chore: campers-image * chore: big-call-to-action * chore: paypal related files * chore: show-user * chore: show-settings * chore: show-certification * test: rename profile snap * fix: ignore snake case for stripe card form * refactor: remove duplicate type declarations Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * fix: handle null solutions in Timeline * test: add remaining Profile props * refactor: revert accidental rename Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
This commit is contained in:
committed by
GitHub
parent
85359ed00a
commit
89c94e54e7
@@ -59,34 +59,32 @@ interface SessionUser {
|
||||
sessionMeta: { activeDonations: number };
|
||||
}
|
||||
|
||||
type challengeFilesForFiles = {
|
||||
type ChallengeFilesForFiles = {
|
||||
files: Array<Omit<ChallengeFile, 'fileKey'> & { key: string }>;
|
||||
} & Omit<CompletedChallenge, 'challengeFiles'>;
|
||||
|
||||
type ApiSessionResponse = Omit<SessionUser, 'user'>;
|
||||
type ApiUser = {
|
||||
user: {
|
||||
[username: string]: ApiUserType;
|
||||
[username: string]: Omit<User, 'completedChallenges'> & {
|
||||
completedChallenges?: ChallengeFilesForFiles[];
|
||||
};
|
||||
};
|
||||
result?: string;
|
||||
};
|
||||
|
||||
type ApiUserType = Omit<User, 'completedChallenges'> & {
|
||||
completedChallenges?: challengeFilesForFiles[];
|
||||
};
|
||||
|
||||
type UserResponseType = {
|
||||
type UserResponse = {
|
||||
user: { [username: string]: User } | Record<string, never>;
|
||||
result: string | undefined;
|
||||
};
|
||||
|
||||
function parseApiResponseToClientUser(data: ApiUser): UserResponseType {
|
||||
function parseApiResponseToClientUser(data: ApiUser): UserResponse {
|
||||
const userData = data.user?.[data?.result ?? ''];
|
||||
let completedChallenges: CompletedChallenge[] = [];
|
||||
if (userData) {
|
||||
completedChallenges =
|
||||
userData.completedChallenges?.reduce(
|
||||
(acc: CompletedChallenge[], curr: challengeFilesForFiles) => {
|
||||
(acc: CompletedChallenge[], curr: ChallengeFilesForFiles) => {
|
||||
return [
|
||||
...acc,
|
||||
{
|
||||
@@ -123,7 +121,7 @@ export function getSessionUser(): Promise<SessionUser> {
|
||||
}
|
||||
|
||||
type UserProfileResponse = {
|
||||
entities: Omit<UserResponseType, 'result'>;
|
||||
entities: Omit<UserResponse, 'result'>;
|
||||
result: string | undefined;
|
||||
};
|
||||
export function getUserProfile(username: string): Promise<UserProfileResponse> {
|
||||
|
Reference in New Issue
Block a user