| 1234567891011121314151617181920212223 |
- import type ApiResource from '~/models/ApiResource'
- import { usePageStore } from '~/stores/page'
- import { TYPE_ALERT } from '~/types/enum/enums'
- import { useEntityManager } from '~/composables/data/useEntityManager'
- export function useDeleteItem() {
- async function deleteItem<T extends ApiResource>(item: T) {
- const { em } = useEntityManager()
- try {
- await em.delete(item)
- usePageStore().addAlert(TYPE_ALERT.SUCCESS, ['deleteSuccess'])
- } catch (error) {
- // @ts-expect-error error is supposed to have a message prop
- usePageStore().addAlert(TYPE_ALERT.ALERT, [error.message])
- throw error
- }
- }
- return {
- deleteItem,
- }
- }
|