Submission ID: 1efcd8eb-7d68-4348-9925-43a8e1bd7d1e Add: - app/(application)/terms-agreement.tsx Fix: - app/(application)/(user)/home.tsx - app/(application)/_layout.tsx - context/AuthContext.tsx - ios/HIPMIBadungConnect/Info.plist - screens/Authentication/LoginView.tsx - screens/Authentication/RegisterView.tsx - service/api-config.ts - types/User.ts ### NO Issue
78 lines
2.1 KiB
TypeScript
78 lines
2.1 KiB
TypeScript
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");
|
|
if (token) {
|
|
// config.timeout = 10000;
|
|
config.headers["Content-Type"] = "application/json";
|
|
config.headers.Authorization = `Bearer ${token}`;
|
|
}
|
|
|
|
// console.log("config", JSON.stringify(config, null, 2));
|
|
return config;
|
|
},
|
|
(error) => {
|
|
return Promise.reject(error);
|
|
}
|
|
);
|
|
|
|
export async function apiVersion() {
|
|
// console.log("API_BASE_URL", API_BASE_URL);
|
|
const response = await apiConfig.get("/version");
|
|
return response.data;
|
|
}
|
|
|
|
export async function apiLogin({ nomor }: { nomor: string }) {
|
|
const response = await apiConfig.post("/auth/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/validasi`, {
|
|
nomor: nomor,
|
|
});
|
|
return response.data;
|
|
}
|
|
|
|
export async function apiRegister({
|
|
data,
|
|
}: {
|
|
data: { nomor: string; username: string; termsOfServiceAccepted: boolean };
|
|
}) {
|
|
const response = await apiConfig.post(`/auth/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;
|
|
}
|
|
|