25 lines
708 B
JavaScript
25 lines
708 B
JavaScript
export const BOOKING_COUNT_PERMISSIONS = ["list_bookings", "list_own_bookings"];
|
|
|
|
export const emptyBookingCounts = () => ({
|
|
past: 0,
|
|
current: 0,
|
|
future: 0,
|
|
});
|
|
|
|
export const hasExplicitBookingCountPermission = (sessionUser) => {
|
|
const permissions = sessionUser?.permissions?.value;
|
|
|
|
if (!Array.isArray(permissions)) {
|
|
return false;
|
|
}
|
|
|
|
return BOOKING_COUNT_PERMISSIONS.some((permission) => permissions.includes(permission));
|
|
};
|
|
|
|
export const getRequestErrorStatus = (error) =>
|
|
Number.parseInt(String(error?.response?.status ?? error?.status ?? ""), 10);
|
|
|
|
export const isExpectedBookingCountRequestFailure = (error) => {
|
|
return [401, 403, 404].includes(getRequestErrorStatus(error));
|
|
};
|