import { CareersInterface } from './careers.types'; import { directus } from '@/plugins/axios/'; import { IParamsDirectus } from '../baseTypes'; import { POST_STATUS } from '@/utils/constants'; const postPreviewFields = 'title,previewText,slug,label'; async function getPost(slug: string): Promise { const params: IParamsDirectus = { fields: '*.*.*.*', filter: { slug, }, }; const { data: posts } = await directus.get( 'careers', { params, }, ); const [post] = posts.data; return post; } async function getPostsPreview(): Promise { const params: IParamsDirectus = { fields: postPreviewFields, filter: { status: POST_STATUS.published, }, }; const { data: posts } = await directus.get( 'careers', { params, }, ); return posts.data; } async function getPostsCount(): Promise { const params: IParamsDirectus = { meta: '*', limit: 0, filter: { status: POST_STATUS.published, }, }; const { data: postsCount } = await directus.get('careers', { params, }); return postsCount?.meta?.filter_count || 0; } export const CareersGateway = { getPost, getPostsPreview, getPostsCount, };