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

eggMun·2023년 3월 27일
0

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

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://eggmun98.tistory.com/

0개의 댓글