Files
sam-react-prod/src/components/common/NoticePopupModal/actions.ts

32 lines
1.1 KiB
TypeScript
Raw Normal View History

'use server';
/**
*
*
* API Endpoints:
* - GET /api/v1/popups/active - (+ )
*/
import { executeServerAction } from '@/lib/api/execute-server-action';
import { buildApiUrl } from '@/lib/api/query-params';
import { type PopupApiData, transformApiToFrontend } from '@/components/settings/PopupManagement/utils';
import type { Popup } from '@/components/settings/PopupManagement/types';
/**
* ()
* - scopeActive(): status=active +
* - scopeForUser(): OR
* @param departmentId - ID ( )
*/
export async function getActivePopups(departmentId?: number): Promise<Popup[]> {
const result = await executeServerAction({
url: buildApiUrl('/api/v1/popups/active', {
department_id: departmentId,
}),
transform: (data: PopupApiData[]) => data.map(transformApiToFrontend),
errorMessage: '활성 팝업 조회에 실패했습니다.',
});
return result.success ? (result.data ?? []) : [];
}