개발일지 - 서버없이 데이터 연결

eggMun·2023년 3월 27일

현재 자동화 배포로 테스트를 하면서 작업을 하고 있다.
근데 자동화 배포가 문제가 있어서 테스트를 못했다.
그래서 가만히 있기는 그래서 서버없이 데이터 연결을 하였다.

export const useJoinMode = (): {
  onClickJoin: (data: IData) => Promise<void>;
} => {
  const [createUser] = useMutationCreateUser();

  const onClickJoin = async (data: IData): Promise<void> => {
    const result = await createUser({
      variables: {
        createUserInput: {
          nickname: data.name,
          email: data.email,
          password: data.password,
          age: 0,
        },
      },
    });
    alert("회원가입 되었습니다.");
  };
  return {
    onClickJoin,
  };
};

이렇게 회원가입 버튼을 만들었다.
그리고 hooks 패턴으로 resutrn에 onClickJoin 함수를 넣었다.

 const onClickPasswordReset = async (data: { email: string }): Promise<void> => {
    const result = await passwordResetMailer({
      variables: { email: data.email },
    });
  };

이렇게 비밀번호 찾기도 만들었다.

export const useBLockMode = (): {
  onClickBlock: () => Promise<void>;
} => {
  const [blockOpponent] = useMutationBlock();

  const onClickBlock = async (): Promise<void> => {
    await blockOpponent({
      variables: {
        usserId: "",
        blockUserId: "",
      },
    });
  };

  return {
    onClickBlock,
  };
};

차단하기 기능

export const useUnblockMode = (): {
  unblockFn: () => Promise<void>;
} => {
  const [unblock] = useMutationUnblock();

  const unblockFn = async (): Promise<void> => {
    await unblock({
      variables: {
        blockUserId: "",
      },
    });
  };

  return {
    unblockFn,
  };
};

차단 풀기 기능

export const useReportMode = (): {
  onClickReport: () => Promise<void>;
} => {
  const [reportOpponent] = useMutationReport();

  const onClickReport = async (): Promise<void> => {
    await reportOpponent({
      variables: {
        reportedId: "",
      },
    });
  };

  return {
    onClickReport,
  };
};

신고하기 기능

회원가입, 비밀번호 찾기, 신고하기, 차단하기, 차단풀기 등등 많은 기능들을 서버없이 미리 만들었다.
나중에 자동화 배포가 정상화 된다면 테스트를 해봐야 한다!

profile
블로그 이전: https://eggmun.com

0개의 댓글