Added page layouts
This commit is contained in:
@@ -143,6 +143,15 @@ export const useApi = () => {
|
||||
return handleResponse(response)
|
||||
},
|
||||
|
||||
async patch(path: string, data: any) {
|
||||
const response = await fetch(`${getApiBaseUrl()}/api${path}`, {
|
||||
method: 'PATCH',
|
||||
headers: getHeaders(),
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
return handleResponse(response)
|
||||
},
|
||||
|
||||
async delete(path: string) {
|
||||
const response = await fetch(`${getApiBaseUrl()}/api${path}`, {
|
||||
method: 'DELETE',
|
||||
|
||||
75
frontend/composables/usePageLayouts.ts
Normal file
75
frontend/composables/usePageLayouts.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import type { PageLayout, CreatePageLayoutRequest, UpdatePageLayoutRequest } from '~/types/page-layout'
|
||||
|
||||
export const usePageLayouts = () => {
|
||||
const { api } = useApi()
|
||||
|
||||
const getPageLayouts = async (objectId?: string) => {
|
||||
try {
|
||||
const params = objectId ? { objectId } : {}
|
||||
const response = await api.get('/page-layouts', { params })
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error fetching page layouts:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
const getPageLayout = async (id: string) => {
|
||||
try {
|
||||
const response = await api.get(`/page-layouts/${id}`)
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error fetching page layout:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
const getDefaultPageLayout = async (objectId: string) => {
|
||||
try {
|
||||
const response = await api.get(`/page-layouts/default/${objectId}`)
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error fetching default page layout:', error)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
const createPageLayout = async (data: CreatePageLayoutRequest) => {
|
||||
try {
|
||||
const response = await api.post('/page-layouts', data)
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error creating page layout:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
const updatePageLayout = async (id: string, data: UpdatePageLayoutRequest) => {
|
||||
try {
|
||||
const response = await api.patch(`/page-layouts/${id}`, data)
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error updating page layout:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
const deletePageLayout = async (id: string) => {
|
||||
try {
|
||||
const response = await api.delete(`/page-layouts/${id}`)
|
||||
return response
|
||||
} catch (error) {
|
||||
console.error('Error deleting page layout:', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
getPageLayouts,
|
||||
getPageLayout,
|
||||
getDefaultPageLayout,
|
||||
createPageLayout,
|
||||
updatePageLayout,
|
||||
deletePageLayout,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user