How can I create a wrapper for the cache/action functions so that they include the auth check? So I'd like to go From ```ts export const getAccountCache = cache(async () => { 'use server' const auth = await requireAuth() if (!auth?.user) { throw redirect('/auth/signin?error=unauthorized') } const account = await getAccountById(auth.session.selectedAccountId) if (!account) { throw new Error('Account not found') } return account }, 'getAccountCache') ``` To ```ts export const getAccountCache = cacheWithAuth(async () => { 'use server' const account = await getAccountById(auth.session.selectedAccountId) if (!account) { throw new Error('Account not found') } return account }, 'getAccountCache') ``` what would the `cacheWithAuth` look like