import { httpPostInterceptor, httpGetInterceptor, httpPutInterceptor, httpDeleteInterceptor, } from "./http-config/http-interceptor-service"; // Types export interface UserLevelMenuActionAccess { id: number; userLevelId: number; menuId: number; actionCode: string; canAccess: boolean; isActive: boolean; createdAt?: string; updatedAt?: string; } export interface UserLevelMenuActionAccessCreateRequest { userLevelId: number; menuId: number; actionCode: string; canAccess?: boolean; isActive?: boolean; } export interface UserLevelMenuActionAccessBatchCreateRequest { userLevelId: number; menuId: number; actionCodes: string[]; } export interface UserLevelMenuActionAccessUpdateRequest { userLevelId?: number; menuId?: number; actionCode?: string; canAccess?: boolean; isActive?: boolean; } // API Functions export async function getUserLevelMenuActionAccesses(params?: { userLevelId?: number; menuId?: number; actionCode?: string; canAccess?: boolean; page?: number; limit?: number; }) { const queryParams = new URLSearchParams(); if (params?.userLevelId) queryParams.append("user_level_id", params.userLevelId.toString()); if (params?.menuId) queryParams.append("menu_id", params.menuId.toString()); if (params?.actionCode) queryParams.append("action_code", params.actionCode); if (params?.canAccess !== undefined) queryParams.append("can_access", params.canAccess.toString()); if (params?.page) queryParams.append("page", params.page.toString()); if (params?.limit) queryParams.append("limit", params.limit.toString()); const url = `user-level-menu-action-accesses${ queryParams.toString() ? `?${queryParams.toString()}` : "" }`; return httpGetInterceptor(url); } // export async function getUserLevelMenuActionAccesses(params?: { // userLevelId?: number; // menuId?: number; // actionCode?: string; // canAccess?: boolean; // page?: number; // limit?: number; // }) { // const queryParams = new URLSearchParams(); // if (params?.userLevelId) queryParams.append("user_level_id", params.userLevelId.toString()); // if (params?.menuId) queryParams.append("menu_id", params.menuId.toString()); // if (params?.actionCode) queryParams.append("action_code", params.actionCode); // if (params?.canAccess !== undefined) queryParams.append("can_access", params.canAccess.toString()); // if (params?.page) queryParams.append("page", params.page.toString()); // if (params?.limit) queryParams.append("limit", params.limit.toString()); // const url = `user-level-menu-action-accesses${queryParams.toString() ? `?${queryParams.toString()}` : ""}`; // return httpGetInterceptor(url); // } export async function getUserLevelMenuActionAccessById(id: number) { const url = `user-level-menu-action-accesses/${id}`; return httpGetInterceptor(url); } export async function getUserLevelMenuActionAccessesByUserLevelId( userLevelId: number, ) { const url = `user-level-menu-action-accesses/user-level/${userLevelId}`; return httpGetInterceptor(url); } export async function getUserLevelMenuActionAccessesByUserLevelIdAndMenuId( userLevelId: number, menuId: number, ) { const url = `user-level-menu-action-accesses/user-level/${userLevelId}/menu/${menuId}`; return httpGetInterceptor(url); } export async function getUserLevelMenuActionAccessesByMenuId(menuId: number) { const url = `user-level-menu-action-accesses/menu/${menuId}`; return httpGetInterceptor(url); } export async function checkUserLevelMenuActionAccess( userLevelId: number, menuId: number, actionCode: string, ) { const url = `user-level-menu-action-accesses/check/${userLevelId}/${menuId}/${actionCode}`; return httpGetInterceptor(url); } export async function createUserLevelMenuActionAccess( data: UserLevelMenuActionAccessCreateRequest, ) { const url = "user-level-menu-action-accesses"; return httpPostInterceptor(url, data); } export async function createUserLevelMenuActionAccessesBatch( data: UserLevelMenuActionAccessBatchCreateRequest, ) { const url = "user-level-menu-action-accesses/batch"; return httpPostInterceptor(url, data); } export async function updateUserLevelMenuActionAccess( id: number, data: UserLevelMenuActionAccessUpdateRequest, ) { const url = `user-level-menu-action-accesses/${id}`; return httpPutInterceptor(url, data); } export async function deleteUserLevelMenuActionAccess(id: number) { const url = `user-level-menu-action-accesses/${id}`; return httpDeleteInterceptor(url); }