65 lines
1.7 KiB
TypeScript
65 lines
1.7 KiB
TypeScript
|
|
import { baseApiRequest } from "../apiRequests/baseApiRequest";
|
|
import { Role, User, RoleMembership } from "./type";
|
|
|
|
const API_BASE_URL = process.env.NEXT_PUBLIC_PROJECT_MANAGEMENT_API_URL;
|
|
const IKON_API_URL = process.env.NEXT_PUBLIC_IKON_API_URL;
|
|
|
|
export const getAllRoles = async (): Promise<Role[]> => {
|
|
return await baseApiRequest(
|
|
`${API_BASE_URL}/role`,
|
|
{
|
|
method: "GET",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
},
|
|
{
|
|
isAccessTokenRequird: true,
|
|
revalidatePaths: ["/roles"],
|
|
}
|
|
);
|
|
};
|
|
|
|
export const getAllUsers = async (): Promise<User[]> => {
|
|
return await baseApiRequest(
|
|
`${IKON_API_URL}/platform/user/current`,
|
|
{
|
|
method: "GET",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
},
|
|
{
|
|
isAccessTokenRequird: true,
|
|
revalidatePaths: ["/platform/user/current"],
|
|
}
|
|
);
|
|
};
|
|
|
|
export const getUserById = async (userId: string): Promise<User | null> => {
|
|
return await baseApiRequest(
|
|
`${IKON_API_URL}/platform/user/${userId}`, // Assuming this endpoint pattern
|
|
{
|
|
method: "GET",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
},
|
|
{
|
|
isAccessTokenRequird: true,
|
|
revalidatePaths: [`/platform/user/${userId}`],
|
|
}
|
|
);
|
|
};
|
|
|
|
export const getRoleMemberships = async (roleId: string): Promise<RoleMembership[]> => {
|
|
return await baseApiRequest(
|
|
`${API_BASE_URL}/role/${roleId}/membership`,
|
|
{
|
|
method: "GET",
|
|
headers: { "Content-Type": "application/json" },
|
|
credentials: "include",
|
|
},
|
|
{
|
|
isAccessTokenRequird: true,
|
|
}
|
|
);
|
|
}; |