account.ts 865 B

123456789101112131415161718192021222324252627282930
  1. 'use server';
  2. import { cookies } from 'next/headers';
  3. import { LoginLogRequest } from '@/types/request/account';
  4. import { MemberResponse } from '@/types/response/account/member';
  5. import { ResultDto } from '@/types/response/common';
  6. import { fetchJson } from '@/lib/utils/server';
  7. // 회원정보 조회
  8. export async function fetchMemberInfo(): Promise<ResultDto<MemberResponse>> {
  9. const res = await fetchJson<MemberResponse>('/api/auth/profile', {
  10. method: 'GET'
  11. });
  12. if (res.success) {
  13. (await cookies()).set('member', JSON.stringify(res.data));
  14. }
  15. return res;
  16. }
  17. // 로그인 기록
  18. export async function fetchLoginLog({Page = 1, Type = 'today', PerPage = 20} : LoginLogRequest) {
  19. return await fetchJson(`/api/mypage/login-logs?page=${Page}&type=${Type}&perPage=${PerPage}`, {
  20. method: 'GET',
  21. headers: {
  22. 'Accept': 'application/json'
  23. }
  24. });
  25. }