0.1.5•Updated 6 months ago
import { Paginate, PaginationParams } from "@infinity-beyond/modules/pagination.ts";
export const LedgerUserData = async (request: Request, ledger: Ledger.Ledger<any>, key: string) => {
const { page, page_size } = PaginationParams(request);
if(!request.state.user?.has_permission(`VIEW_${ledger.name.toUpperCase()}`)) throw new Deno.errors.PermissionDenied();
const user_data = await ledger.UserData(key, page_size, page);
const { meta } = Paginate(request, user_data?.history || [], user_data?.entry_count || 0);
return { entries: user_data?.history || [], meta, total_entries: user_data?.entry_count ?? 0, balance: user_data?.balance ?? 0};
}