149 lines
4.5 KiB
TypeScript
149 lines
4.5 KiB
TypeScript
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);
|
|
}
|