import AsyncStorage from "@react-native-async-storage/async-storage"; import axios, { AxiosInstance } from "axios"; import Constants from "expo-constants"; export const BASE_URL = Constants.expoConfig?.extra?.BASE_URL; export const API_BASE_URL = Constants.expoConfig?.extra?.API_BASE_URL; export const DEEP_LINK_URL = Constants.expoConfig?.extra?.DEEP_LINK_URL || 'hipmimobile://'; export const apiConfig: AxiosInstance = axios.create({ baseURL: API_BASE_URL, }); apiConfig.interceptors.request.use( async (config) => { console.log("API_BASE_URL >>", API_BASE_URL); const token = await AsyncStorage.getItem("authToken"); // console.log("[TOKEN] >>", token); if (token) { // config.timeout = 10000; config.headers["Content-Type"] = "application/json"; config.headers.Authorization = `Bearer ${token}`; } return config; }, (error) => { return Promise.reject(error); } ); export async function apiVersion() { const response = await apiConfig.get("/version"); return response.data; } export async function apiLogin({ nomor }: { nomor: string }) { const response = await apiConfig.post("/auth/mobile-login", { nomor: nomor, }); return response.data;; } export async function apiCheckCodeOtp({ kodeId }: { kodeId: string }) { const response = await apiConfig.get(`/auth/check/${kodeId}`); return response.data; } export async function apiValidationCode({ nomor }: { nomor: string }) { const response = await apiConfig.post(`/auth/mobile-validasi`, { nomor: nomor, }); return response.data; } export async function apiRegister({ data, }: { data: { nomor: string; username: string; termsOfServiceAccepted: boolean }; }) { const response = await apiConfig.post(`/auth/mobile-register`, { data: data, }); return response.data; } export async function apiAcceptTermService({ data, }: { data: { id: string; termsOfServiceAccepted: boolean }; }) { const response = await apiConfig.post(`/auth/term-service`, { data: data, }); return response.data; }