import type { ApiResponse } from '~/shared/types/api'; import type { UserWarren } from '~/shared/types/warrens'; import { getApiHeaders } from '..'; import { toast } from 'vue-sonner'; export async function createUserWarren( userWarren: UserWarren ): Promise<{ success: true; data: UserWarren } | { success: false }> { const { data, error } = await useFetch>( getApiUrl('admin/user-warrens'), { method: 'POST', headers: getApiHeaders(), body: JSON.stringify(userWarren), responseType: 'json', } ); if (data.value == null) { toast.error('Create user warren', { description: error.value?.data ?? 'Failed to create user warren', }); return { success: false, }; } const keys = ['admin-resources']; const session = useAuthSession(); if ( session.value != null && data.value.data.userId === session.value.user.id ) { keys.push('warrens'); } await refreshNuxtData(keys); toast.success('Create user warren', { description: 'Successfully created user warren', }); return { success: true, data: data.value.data, }; }