fix: support api token meal cook writes
This commit is contained in:
@@ -71,6 +71,10 @@ function validateCookUserId(raw) {
|
||||
return { present: true, value: id, error: null };
|
||||
}
|
||||
|
||||
function currentUserId(req) {
|
||||
return req.authUserId ?? req.session?.userId ?? null;
|
||||
}
|
||||
|
||||
function tableColumns(table) {
|
||||
return new Set(db.get().prepare(`PRAGMA table_info(${table})`).all().map((row) => row.name));
|
||||
}
|
||||
@@ -249,7 +253,7 @@ router.post('/', (req, res) => {
|
||||
const result = db.get().prepare(`
|
||||
INSERT INTO meals (date, meal_type, title, notes, recipe_url, recipe_id, created_by)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
`).run(vDate.value, vType.value, vTitle.value, vNotes.value, vRecipeUrl.value, vRecipeId.value, req.session.userId);
|
||||
`).run(vDate.value, vType.value, vTitle.value, vNotes.value, vRecipeUrl.value, vRecipeId.value, currentUserId(req));
|
||||
|
||||
const mealId = result.lastInsertRowid;
|
||||
|
||||
@@ -272,7 +276,7 @@ router.post('/', (req, res) => {
|
||||
`).get(mealId);
|
||||
|
||||
if (vCookUserId.present && vCookUserId.value !== null) {
|
||||
saveCookAssignment(createdMeal, vCookUserId.value, vSourcePlanId.value, req.session.userId);
|
||||
saveCookAssignment(createdMeal, vCookUserId.value, vSourcePlanId.value, currentUserId(req));
|
||||
}
|
||||
|
||||
return createdMeal;
|
||||
@@ -348,7 +352,7 @@ router.put('/:id', (req, res) => {
|
||||
`).get(id);
|
||||
|
||||
if (vCookUserId.present) {
|
||||
saveCookAssignment(updated, vCookUserId.value, vSourcePlanId.value, req.session.userId);
|
||||
saveCookAssignment(updated, vCookUserId.value, vSourcePlanId.value, currentUserId(req));
|
||||
} else {
|
||||
syncCookAssignmentSlot(updated);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user