Refactor data handlers + misc fixes
This refactors the data handlers into a more standard/understood model-like architecture, to prepare for a new, more robust config system. It also fixes a problem with creating new Notes and uploading new Photos via the web interface (related to #58). Finally, it speeds up docker builds by sending in less files, which aren't necessary or will be built anyway. This is all in preparation to allow building #13 more robustly.
This commit is contained in:
@@ -2,13 +2,7 @@ import { Handlers } from 'fresh/server.ts';
|
||||
|
||||
import { Budget, Expense, FreshContextState } from '/lib/types.ts';
|
||||
import { concurrentPromises } from '/lib/utils/misc.ts';
|
||||
import {
|
||||
createBudget,
|
||||
createExpense,
|
||||
deleteAllBudgetsAndExpenses,
|
||||
getBudgets,
|
||||
getExpenses,
|
||||
} from '/lib/data/expenses.ts';
|
||||
import { BudgetModel, deleteAllBudgetsAndExpenses, ExpenseModel } from '/lib/models/expenses.ts';
|
||||
|
||||
interface Data {}
|
||||
|
||||
@@ -47,14 +41,14 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
try {
|
||||
await concurrentPromises(
|
||||
requestBody.budgets.map((budget) => () =>
|
||||
createBudget(context.state.user!.id, budget.name, budget.month, budget.value)
|
||||
BudgetModel.create(context.state.user!.id, budget.name, budget.month, budget.value)
|
||||
),
|
||||
5,
|
||||
);
|
||||
|
||||
await concurrentPromises(
|
||||
requestBody.expenses.map((expense) => () =>
|
||||
createExpense(
|
||||
ExpenseModel.create(
|
||||
context.state.user!.id,
|
||||
expense.cost,
|
||||
expense.description,
|
||||
@@ -71,9 +65,9 @@ export const handler: Handlers<Data, FreshContextState> = {
|
||||
return new Response(`${error}`, { status: 500 });
|
||||
}
|
||||
|
||||
const newExpenses = await getExpenses(context.state.user.id, requestBody.month);
|
||||
const newExpenses = await ExpenseModel.list(context.state.user.id, requestBody.month);
|
||||
|
||||
const newBudgets = await getBudgets(context.state.user.id, requestBody.month);
|
||||
const newBudgets = await BudgetModel.list(context.state.user.id, requestBody.month);
|
||||
|
||||
const responseBody: ResponseBody = { success: true, newExpenses, newBudgets };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user