|
|
|
@ -140,7 +140,7 @@ export const toBuyApi = { |
|
|
|
|
const response = await fetch(`${API_BASE_URL}/api/tobuy/delete`, { |
|
|
|
|
method: 'DELETE', |
|
|
|
|
headers: getHeaders(), |
|
|
|
|
body: JSON.stringify({tobuyId}), |
|
|
|
|
body: JSON.stringify({ tobuyId }), |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (!response.ok) { |
|
|
|
@ -157,13 +157,13 @@ export const toBuyApi = { |
|
|
|
|
/** |
|
|
|
|
* 買うものリストの在庫登録(購入処理) |
|
|
|
|
*/ |
|
|
|
|
buy: async (req: {tobuyId: number, price: number, expDate: string, buyDate: string, lastUpdate: string}): Promise<{ result: boolean }> => { |
|
|
|
|
|
|
|
|
|
buy: async (req: { tobuyId: number, price: number, expDate: string, buyDate: string, lastUpdate: string }): Promise<{ result: boolean }> => { |
|
|
|
|
|
|
|
|
|
console.log('req: ', req) |
|
|
|
|
|
|
|
|
|
req.buyDate = makeDateObject(req.buyDate)?.toISOString()?.substring(0, 10) || '' |
|
|
|
|
req.expDate = makeDateObject(req.expDate)?.toISOString()?.substring(0, 10) || '' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const response = await fetch(`${API_BASE_URL}/api/tobuy/buy`, { |
|
|
|
|
method: 'POST', |
|
|
|
|
headers: getHeaders(), |
|
|
|
@ -245,16 +245,87 @@ export const stockApi = { |
|
|
|
|
return response.json(); |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 在庫リストの編集
|
|
|
|
|
*/ |
|
|
|
|
updateStock: async (req: {stockId: number, amount: number, price: number, lastUpdate: string, buyDate: string, expDate: string}): Promise<{ result: boolean; message: string }> => { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const response = await fetch(`${API_BASE_URL}/api/stocks/update`, { |
|
|
|
|
method: 'PUT', |
|
|
|
|
headers: getHeaders(), |
|
|
|
|
body: JSON.stringify(req), |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (!response.ok) { |
|
|
|
|
throw new Error(STOCK_ERRORS.UPDATE_FAILED); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response.json() |
|
|
|
|
|
|
|
|
|
// return {
|
|
|
|
|
// "result": true
|
|
|
|
|
// }
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 在庫リストの削除 |
|
|
|
|
* @param id 削除対象の食材のID |
|
|
|
|
*/ |
|
|
|
|
deleteStock: async (stockId: number): Promise<{ result: boolean; message: string }> => { |
|
|
|
|
const response = await fetch(`${API_BASE_URL}/api/stocks/delete`, { |
|
|
|
|
method: 'DELETE', |
|
|
|
|
headers: getHeaders(), |
|
|
|
|
body: JSON.stringify({ stockId }), |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
console.log("API レスポンスステータス:", response.status); |
|
|
|
|
console.log("API レスポンス本文:", await response.text()); |
|
|
|
|
|
|
|
|
|
if (!response.ok) { |
|
|
|
|
throw new Error(STOCK_ERRORS.DELETE_FAILED); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response.json() |
|
|
|
|
|
|
|
|
|
// return {
|
|
|
|
|
// "result": true
|
|
|
|
|
// }
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const deleteStock = async (stockId: number): Promise<{ result: boolean; message: string }> => { |
|
|
|
|
console.log("API の deleteStock メソッドが呼ばれました。stockId:", stockId); |
|
|
|
|
|
|
|
|
|
const response = await fetch(`${API_BASE_URL}/api/stocks/delete`, { |
|
|
|
|
method: "DELETE", |
|
|
|
|
headers: getHeaders(), |
|
|
|
|
body: JSON.stringify({ stockId }), |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
console.log("API レスポンスステータス:", response.status); |
|
|
|
|
console.log("API レスポンス本文:", await response.text()); |
|
|
|
|
|
|
|
|
|
if (!response.ok) { |
|
|
|
|
return { result: false, message: "削除に失敗しました。" }; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// API のレスポンスから result と message を取得
|
|
|
|
|
const data = await response.json(); |
|
|
|
|
return { result: data.result, message: data.message }; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function makeDateObject(dateStr: String) { |
|
|
|
|
// 例: '2025/06/15' または '2025-06-15' を '2025-06-15' に変換
|
|
|
|
|
const parts = dateStr.split(/[-\/]/); // ハイフンかスラッシュで分割
|
|
|
|
|
if (parts.length === 3) { |
|
|
|
|
return new Date(parts[0] + '-' + parts[1] + '-' + parts[2]); |
|
|
|
|
} |
|
|
|
|
return null; // 無効な日付の場合
|
|
|
|
|
// 例: '2025/06/15' または '2025-06-15' を '2025-06-15' に変換
|
|
|
|
|
const parts = dateStr.split(/[-\/]/); // ハイフンかスラッシュで分割
|
|
|
|
|
if (parts.length === 3) { |
|
|
|
|
return new Date(parts[0] + '-' + parts[1] + '-' + parts[2]); |
|
|
|
|
} |
|
|
|
|
return null; // 無効な日付の場合
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|