Update file metadata in manifest.json and change MinIO image source in docker-compose.yml
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { api } from '@/api/endpoints'
|
||||
import { invalidationRoots, queryKeys } from '@/api/queryKeys'
|
||||
import type { CreateAccountPayload } from '@/api/types'
|
||||
import type { AdjustBalancePayload, CreateAccountPayload } from '@/api/types'
|
||||
import { isSystemAccount } from '@/api/types'
|
||||
import { useToast } from '@/components/ui/Toaster'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { describeApiError } from '@/lib/apiErrors'
|
||||
@@ -15,6 +16,13 @@ export function useActiveAccounts() {
|
||||
return { ...accounts, data: accounts.data?.filter((account) => account.status === 'active') }
|
||||
}
|
||||
|
||||
/** Active non-system accounts: the savings system account is not a valid
|
||||
* target for statements, expenses, incomes or refunds. */
|
||||
export function useUserAccounts() {
|
||||
const accounts = useActiveAccounts()
|
||||
return { ...accounts, data: accounts.data?.filter((account) => !isSystemAccount(account)) }
|
||||
}
|
||||
|
||||
export function useCreateAccount() {
|
||||
const queryClient = useQueryClient()
|
||||
const { t } = useTranslation()
|
||||
@@ -44,3 +52,21 @@ export function useArchiveAccount() {
|
||||
onError: (error) => toast.push('error', describeApiError(error, t)),
|
||||
})
|
||||
}
|
||||
|
||||
export function useAdjustBalance() {
|
||||
const queryClient = useQueryClient()
|
||||
const { t } = useTranslation()
|
||||
const toast = useToast()
|
||||
return useMutation({
|
||||
mutationFn: ({ id, payload }: { id: string; payload: AdjustBalancePayload }) =>
|
||||
api.accounts.adjustBalance(id, payload),
|
||||
onSuccess: () => {
|
||||
void queryClient.invalidateQueries({ queryKey: invalidationRoots.accounts })
|
||||
void queryClient.invalidateQueries({ queryKey: invalidationRoots.operations })
|
||||
void queryClient.invalidateQueries({ queryKey: invalidationRoots.budget })
|
||||
void queryClient.invalidateQueries({ queryKey: invalidationRoots.analytics })
|
||||
toast.push('success', t('toast.balanceAdjusted'))
|
||||
},
|
||||
onError: (error) => toast.push('error', describeApiError(error, t)),
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user