mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 17:45:39 +00:00
API - A bit more RESTful (#140)
* Restful routes * Change public/viewjs to match API routes * Move the GET and POST together. Fixed Typos. PUT for object/user edits. * Verb-less Generic Entity Interactions * Create Grocy.Api.Put * Create Grocy.Api.Delete * Fix Volatile Slim Error order in routes and adjust to english noun
This commit is contained in:
parent
98d95f80df
commit
0ce8d706a6
@ -177,6 +177,68 @@ Grocy.Api.Post = function(apiFunction, jsonData, success, error)
|
|||||||
xhr.send(JSON.stringify(jsonData));
|
xhr.send(JSON.stringify(jsonData));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Grocy.Api.Put = function(apiFunction, jsonData, success, error)
|
||||||
|
{
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var url = U('/api/' + apiFunction);
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function()
|
||||||
|
{
|
||||||
|
if (xhr.readyState === XMLHttpRequest.DONE)
|
||||||
|
{
|
||||||
|
if (xhr.status === 200)
|
||||||
|
{
|
||||||
|
if (success)
|
||||||
|
{
|
||||||
|
success(JSON.parse(xhr.responseText));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
|
error(xhr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.open('PUT', url, true);
|
||||||
|
xhr.setRequestHeader('Content-type', 'application/json');
|
||||||
|
xhr.send(JSON.stringify(jsonData));
|
||||||
|
};
|
||||||
|
|
||||||
|
Grocy.Api.Delete = function(apiFunction, jsonData, success, error)
|
||||||
|
{
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
var url = U('/api/' + apiFunction);
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function()
|
||||||
|
{
|
||||||
|
if (xhr.readyState === XMLHttpRequest.DONE)
|
||||||
|
{
|
||||||
|
if (xhr.status === 200)
|
||||||
|
{
|
||||||
|
if (success)
|
||||||
|
{
|
||||||
|
success(JSON.parse(xhr.responseText));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
|
error(xhr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.open('DELETE', url, true);
|
||||||
|
xhr.setRequestHeader('Content-type', 'application/json');
|
||||||
|
xhr.send(JSON.stringify(jsonData));
|
||||||
|
};
|
||||||
|
|
||||||
Grocy.Api.UploadFile = function(file, group, fileName, success, error)
|
Grocy.Api.UploadFile = function(file, group, fileName, success, error)
|
||||||
{
|
{
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.battery-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/batteries/' + objectId,
|
Grocy.Api.Delete('object/batteries/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/batteries');
|
window.location.href = U('/batteries');
|
||||||
|
@ -56,7 +56,7 @@ $(document).on('click', '.undo-battery-execution-button', function(e)
|
|||||||
var element = $(e.currentTarget);
|
var element = $(e.currentTarget);
|
||||||
var chargeCycleId = $(e.currentTarget).attr('data-charge-cycle-id');
|
var chargeCycleId = $(e.currentTarget).attr('data-charge-cycle-id');
|
||||||
|
|
||||||
Grocy.Api.Get('batteries/undo-charge-cycle/' + chargeCycleId.toString(),
|
Grocy.Api.Post('batteries/' + chargeCycleId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
element.closest("tr").addClass("text-muted");
|
element.closest("tr").addClass("text-muted");
|
||||||
|
@ -66,10 +66,10 @@ $(document).on('click', '.track-charge-cycle-button', function(e)
|
|||||||
var batteryName = $(e.currentTarget).attr('data-battery-name');
|
var batteryName = $(e.currentTarget).attr('data-battery-name');
|
||||||
var trackedTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
var trackedTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
|
||||||
Grocy.Api.Get('batteries/track-charge-cycle/' + batteryId + '?tracked_time=' + trackedTime,
|
Grocy.Api.Post('batteries/' + batteryId + '/charged?tracked_time=' + trackedTime,
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('batteries/get-battery-details/' + batteryId,
|
Grocy.Api.Get('batteries/' + batteryId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var batteryRow = $('#battery-' + batteryId + '-row');
|
var batteryRow = $('#battery-' + batteryId + '-row');
|
||||||
@ -128,7 +128,7 @@ $(document).on('click', '.track-charge-cycle-button', function(e)
|
|||||||
function RefreshStatistics()
|
function RefreshStatistics()
|
||||||
{
|
{
|
||||||
var nextXDays = $("#info-due-batteries").data("next-x-days");
|
var nextXDays = $("#info-due-batteries").data("next-x-days");
|
||||||
Grocy.Api.Get('batteries/get-current',
|
Grocy.Api.Get('batteries',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var dueCount = 0;
|
var dueCount = 0;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/batteries', jsonData,
|
Grocy.Api.Post('object/batteries', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/batteries');
|
window.location.href = U('/batteries');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/batteries/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/batteries/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/batteries');
|
window.location.href = U('/batteries');
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
var jsonForm = $('#batterytracking-form').serializeJSON();
|
var jsonForm = $('#batterytracking-form').serializeJSON();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("batterytracking-form");
|
Grocy.FrontendHelpers.BeginUiBusy("batterytracking-form");
|
||||||
|
|
||||||
Grocy.Api.Get('batteries/get-battery-details/' + jsonForm.battery_id,
|
Grocy.Api.Get('batteries/' + jsonForm.battery_id,
|
||||||
function (batteryDetails)
|
function (batteryDetails)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('batteries/track-charge-cycle/' + jsonForm.battery_id + '?tracked_time=' + $('#tracked_time').find('input').val(),
|
Grocy.Api.Post('batteries/' + jsonForm.battery_id + '/charge?tracked_time=' + $('#tracked_time').find('input').val(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.EndUiBusy("batterytracking-form");
|
Grocy.FrontendHelpers.EndUiBusy("batterytracking-form");
|
||||||
@ -92,7 +92,7 @@ $('#tracked_time').find('input').on('keypress', function (e)
|
|||||||
|
|
||||||
function UndoChargeCycle(chargeCycleId)
|
function UndoChargeCycle(chargeCycleId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('batteries/undo-charge-cycle/' + chargeCycleId.toString(),
|
Grocy.Api.Post('batteries' + chargeCycleId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
toastr.success(L("Charge cycle successfully undone"));
|
toastr.success(L("Charge cycle successfully undone"));
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/chores', jsonData,
|
Grocy.Api.Post('object/chores', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/chores');
|
window.location.href = U('/chores');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/chores/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/chores/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/chores');
|
window.location.href = U('/chores');
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.chore-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/chores/' + objectId,
|
Grocy.Api.Delete('object/chores/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/chores');
|
window.location.href = U('/chores');
|
||||||
|
@ -56,7 +56,7 @@ $(document).on('click', '.undo-chore-execution-button', function(e)
|
|||||||
var element = $(e.currentTarget);
|
var element = $(e.currentTarget);
|
||||||
var executionId = $(e.currentTarget).attr('data-execution-id');
|
var executionId = $(e.currentTarget).attr('data-execution-id');
|
||||||
|
|
||||||
Grocy.Api.Get('chores/undo-chore-execution/' + executionId.toString(),
|
Grocy.Api.Post('chores/' + executionId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
element.closest("tr").addClass("text-muted");
|
element.closest("tr").addClass("text-muted");
|
||||||
|
@ -66,10 +66,10 @@ $(document).on('click', '.track-chore-button', function(e)
|
|||||||
var choreName = $(e.currentTarget).attr('data-chore-name');
|
var choreName = $(e.currentTarget).attr('data-chore-name');
|
||||||
var trackedTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
var trackedTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
|
||||||
Grocy.Api.Get('chores/track-chore-execution/' + choreId + '?tracked_time=' + trackedTime,
|
Grocy.Api.Post('chores/' + choreId + '/execute?tracked_time=' + trackedTime,
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('chores/get-chore-details/' + choreId,
|
Grocy.Api.Get('chores/' + choreId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var choreRow = $('#chore-' + choreId + '-row');
|
var choreRow = $('#chore-' + choreId + '-row');
|
||||||
@ -128,7 +128,7 @@ $(document).on('click', '.track-chore-button', function(e)
|
|||||||
function RefreshStatistics()
|
function RefreshStatistics()
|
||||||
{
|
{
|
||||||
var nextXDays = $("#info-due-chores").data("next-x-days");
|
var nextXDays = $("#info-due-chores").data("next-x-days");
|
||||||
Grocy.Api.Get('chores/get-current',
|
Grocy.Api.Get('chores',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var dueCount = 0;
|
var dueCount = 0;
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
var jsonForm = $('#choretracking-form').serializeJSON();
|
var jsonForm = $('#choretracking-form').serializeJSON();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("choretracking-form");
|
Grocy.FrontendHelpers.BeginUiBusy("choretracking-form");
|
||||||
|
|
||||||
Grocy.Api.Get('chores/get-chore-details/' + jsonForm.chore_id,
|
Grocy.Api.Get('chores/' + jsonForm.chore_id,
|
||||||
function (choreDetails)
|
function (choreDetails)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('chores/track-chore-execution/' + jsonForm.chore_id + '?tracked_time=' + Grocy.Components.DateTimePicker.GetValue() + "&done_by=" + Grocy.Components.UserPicker.GetValue(),
|
Grocy.Api.Post('chores/' + jsonForm.chore_id + '/execute?tracked_time=' + Grocy.Components.DateTimePicker.GetValue() + "&done_by=" + Grocy.Components.UserPicker.GetValue(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.EndUiBusy("choretracking-form");
|
Grocy.FrontendHelpers.EndUiBusy("choretracking-form");
|
||||||
@ -89,7 +89,7 @@ Grocy.Components.DateTimePicker.GetInputElement().on('keypress', function(e)
|
|||||||
|
|
||||||
function UndoChoreExecution(executionId)
|
function UndoChoreExecution(executionId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('chores/undo-chore-execution/' + executionId.toString(),
|
Grocy.Api.Post('chores/' + executionId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
toastr.success(L("Chore execution successfully undone"));
|
toastr.success(L("Chore execution successfully undone"));
|
||||||
|
@ -2,7 +2,7 @@ Grocy.Components.BatteryCard = { };
|
|||||||
|
|
||||||
Grocy.Components.BatteryCard.Refresh = function(batteryId)
|
Grocy.Components.BatteryCard.Refresh = function(batteryId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('batteries/get-battery-details/' + batteryId,
|
Grocy.Api.Get('batteries/' + batteryId,
|
||||||
function(batteryDetails)
|
function(batteryDetails)
|
||||||
{
|
{
|
||||||
$('#batterycard-battery-name').text(batteryDetails.battery.name);
|
$('#batterycard-battery-name').text(batteryDetails.battery.name);
|
||||||
|
@ -2,7 +2,7 @@ Grocy.Components.ChoreCard = { };
|
|||||||
|
|
||||||
Grocy.Components.ChoreCard.Refresh = function(choreId)
|
Grocy.Components.ChoreCard.Refresh = function(choreId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('chores/get-chore-details/' + choreId,
|
Grocy.Api.Get('chores/' + choreId,
|
||||||
function(choreDetails)
|
function(choreDetails)
|
||||||
{
|
{
|
||||||
$('#chorecard-chore-name').text(choreDetails.chore.name);
|
$('#chorecard-chore-name').text(choreDetails.chore.name);
|
||||||
|
@ -2,7 +2,7 @@ Grocy.Components.ProductCard = { };
|
|||||||
|
|
||||||
Grocy.Components.ProductCard.Refresh = function(productId)
|
Grocy.Components.ProductCard.Refresh = function(productId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
var stockAmount = productDetails.stock_amount || '0';
|
var stockAmount = productDetails.stock_amount || '0';
|
||||||
@ -58,7 +58,7 @@ Grocy.Components.ProductCard.Refresh = function(productId)
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-price-history/' + productId,
|
Grocy.Api.Get('stock/' + productId + '/pricehistory',
|
||||||
function(priceHistoryDataPoints)
|
function(priceHistoryDataPoints)
|
||||||
{
|
{
|
||||||
if (priceHistoryDataPoints.length > 0)
|
if (priceHistoryDataPoints.length > 0)
|
||||||
|
@ -16,17 +16,17 @@
|
|||||||
spoiled = 1;
|
spoiled = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
var apiUrl = 'stock/consume-product/' + jsonForm.product_id + '/' + jsonForm.amount + '?spoiled=' + spoiled;
|
var apiUrl = 'stock/' + jsonForm.product_id + '/consume/' + jsonForm.amount + '?spoiled=' + spoiled;
|
||||||
|
|
||||||
if ($("#use_specific_stock_entry").is(":checked"))
|
if ($("#use_specific_stock_entry").is(":checked"))
|
||||||
{
|
{
|
||||||
apiUrl += "&stock_entry_id=" + jsonForm.specific_stock_entry;
|
apiUrl += "&stock_entry_id=" + jsonForm.specific_stock_entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
|
Grocy.Api.Get('stock/' + jsonForm.product_id,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get(apiUrl,
|
Grocy.Api.Post(apiUrl,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$("#specific_stock_entry").find("option").remove().end().append("<option></option>");
|
$("#specific_stock_entry").find("option").remove().end().append("<option></option>");
|
||||||
@ -70,17 +70,17 @@ $('#save-mark-as-open-button').on('click', function(e)
|
|||||||
jsonForm.amount = 1;
|
jsonForm.amount = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
var apiUrl = 'stock/open-product/' + jsonForm.product_id + '/' + jsonForm.amount;
|
var apiUrl = 'stock/' + jsonForm.product_id + '/open/' + jsonForm.amount;
|
||||||
|
|
||||||
if ($("#use_specific_stock_entry").is(":checked"))
|
if ($("#use_specific_stock_entry").is(":checked"))
|
||||||
{
|
{
|
||||||
apiUrl += "&stock_entry_id=" + jsonForm.specific_stock_entry;
|
apiUrl += "&stock_entry_id=" + jsonForm.specific_stock_entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
|
Grocy.Api.Get('stock/' + jsonForm.product_id,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get(apiUrl,
|
Grocy.Api.Post(apiUrl,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$("#specific_stock_entry").find("option").remove().end().append("<option></option>");
|
$("#specific_stock_entry").find("option").remove().end().append("<option></option>");
|
||||||
@ -126,7 +126,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.Components.ProductCard.Refresh(productId);
|
Grocy.Components.ProductCard.Refresh(productId);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
$('#amount').attr('max', productDetails.stock_amount);
|
$('#amount').attr('max', productDetails.stock_amount);
|
||||||
@ -161,7 +161,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
Grocy.Api.Get("stock/get-product-stock-entries/" + productId,
|
Grocy.Api.Get("stock/" + productId,
|
||||||
function (stockEntries)
|
function (stockEntries)
|
||||||
{
|
{
|
||||||
stockEntries.forEach(stockEntry =>
|
stockEntries.forEach(stockEntry =>
|
||||||
@ -249,7 +249,7 @@ $("#use_specific_stock_entry").on("change", function()
|
|||||||
|
|
||||||
function UndoStockBooking(bookingId)
|
function UndoStockBooking(bookingId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
|
Grocy.Api.Post('booking/' + bookingId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
toastr.success(L("Booking successfully undone"));
|
toastr.success(L("Booking successfully undone"));
|
||||||
|
@ -34,7 +34,7 @@ equipmentTable.on('select', function(e, dt, type, indexes)
|
|||||||
|
|
||||||
function DisplayEquipment(id)
|
function DisplayEquipment(id)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('get-object/equipment/' + id,
|
Grocy.Api.Get('object/equipment/' + id,
|
||||||
function(equipmentItem)
|
function(equipmentItem)
|
||||||
{
|
{
|
||||||
$(".selected-equipment-name").text(equipmentItem.name);
|
$(".selected-equipment-name").text(equipmentItem.name);
|
||||||
@ -98,7 +98,7 @@ $(document).on('click', '.equipment-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/equipment/' + objectId,
|
Grocy.Api.Delete('object/equipment/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/equipment');
|
window.location.href = U('/equipment');
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/equipment', jsonData,
|
Grocy.Api.Post('object/equipment', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
if (jsonData.hasOwnProperty("instruction_manual_file_name") && !Grocy.DeleteInstructionManualOnSave)
|
if (jsonData.hasOwnProperty("instruction_manual_file_name") && !Grocy.DeleteInstructionManualOnSave)
|
||||||
@ -64,7 +64,7 @@
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
Grocy.Api.Post('edit-object/equipment/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/equipment/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
if (jsonData.hasOwnProperty("instruction_manual_file_name") && !Grocy.DeleteInstructionManualOnSave)
|
if (jsonData.hasOwnProperty("instruction_manual_file_name") && !Grocy.DeleteInstructionManualOnSave)
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
var jsonForm = $('#inventory-form').serializeJSON();
|
var jsonForm = $('#inventory-form').serializeJSON();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("inventory-form");
|
Grocy.FrontendHelpers.BeginUiBusy("inventory-form");
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
|
Grocy.Api.Get('stock/' + jsonForm.product_id,
|
||||||
function (productDetails)
|
function (productDetails)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/inventory-product/' + jsonForm.product_id + '/' + jsonForm.new_amount + '?bestbeforedate=' + Grocy.Components.DateTimePicker.GetValue(),
|
Grocy.Api.Post('stock/' + jsonForm.product_id + '/inventory/' + jsonForm.new_amount + '?bestbeforedate=' + Grocy.Components.DateTimePicker.GetValue(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var addBarcode = GetUriParam('addbarcodetoselection');
|
var addBarcode = GetUriParam('addbarcodetoselection');
|
||||||
@ -24,7 +24,7 @@
|
|||||||
productDetails.product.barcode += ',' + addBarcode;
|
productDetails.product.barcode += ',' + addBarcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.Api.Get('edit-object/products/' + productDetails.product.id, productDetails.product,
|
Grocy.Api.Put('object/products/' + productDetails.product.id, productDetails.product,
|
||||||
function (result) { },
|
function (result) { },
|
||||||
function(xhr)
|
function(xhr)
|
||||||
{
|
{
|
||||||
@ -73,7 +73,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.Components.ProductCard.Refresh(productId);
|
Grocy.Components.ProductCard.Refresh(productId);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
$('#new_amount').attr('not-equal', productDetails.stock_amount);
|
$('#new_amount').attr('not-equal', productDetails.stock_amount);
|
||||||
@ -157,7 +157,7 @@ $('#new_amount').on('keyup', function(e)
|
|||||||
|
|
||||||
if (productId)
|
if (productId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
var productStockAmount = parseInt(productDetails.stock_amount || '0');
|
var productStockAmount = parseInt(productDetails.stock_amount || '0');
|
||||||
@ -193,7 +193,7 @@ $('#new_amount').on('keyup', function(e)
|
|||||||
|
|
||||||
function UndoStockBooking(bookingId)
|
function UndoStockBooking(bookingId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
|
Grocy.Api.Get('booking/' + bookingId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
toastr.success(L("Booking successfully undone"));
|
toastr.success(L("Booking successfully undone"));
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/locations', jsonData,
|
Grocy.Api.Post('object/locations', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/locations');
|
window.location.href = U('/locations');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/locations/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/locations/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/locations');
|
window.location.href = U('/locations');
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.location-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/locations/' + objectId,
|
Grocy.Api.Delete('object/locations/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/locations');
|
window.location.href = U('/locations');
|
||||||
|
@ -58,7 +58,7 @@ $(document).on('click', '.apikey-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/api_keys/' + objectId,
|
Grocy.Api.Delete('object/api_keys/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/manageapikeys');
|
window.location.href = U('/manageapikeys');
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/products', jsonData,
|
Grocy.Api.Post('object/products', jsonData,
|
||||||
function (result)
|
function (result)
|
||||||
{
|
{
|
||||||
if (jsonData.hasOwnProperty("picture_file_name") && !Grocy.DeleteProductPictureOnSave)
|
if (jsonData.hasOwnProperty("picture_file_name") && !Grocy.DeleteProductPictureOnSave)
|
||||||
@ -71,7 +71,7 @@
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
Grocy.Api.Post('edit-object/products/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/products/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
if (jsonData.hasOwnProperty("picture_file_name") && !Grocy.DeleteProductPictureOnSave)
|
if (jsonData.hasOwnProperty("picture_file_name") && !Grocy.DeleteProductPictureOnSave)
|
||||||
@ -110,7 +110,7 @@ $('#barcode-taginput').tagsManager({
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'edit')
|
if (Grocy.EditMode === 'edit')
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('get-object/products/' + Grocy.EditObjectId,
|
Grocy.Api.Get('object/products/' + Grocy.EditObjectId,
|
||||||
function (product)
|
function (product)
|
||||||
{
|
{
|
||||||
if (product.barcode !== null && product.barcode.length > 0)
|
if (product.barcode !== null && product.barcode.length > 0)
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/product_groups', jsonData,
|
Grocy.Api.Post('object/product_groups', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/productgroups');
|
window.location.href = U('/productgroups');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/product_groups/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/product_groups/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/productgroups');
|
window.location.href = U('/productgroups');
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.product-group-delete-button', function(e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/product_groups/' + objectId,
|
Grocy.Api.Delete('object/product_groups/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/productgroups');
|
window.location.href = U('/productgroups');
|
||||||
|
@ -36,7 +36,7 @@ $(document).on('click', '.product-delete-button', function (e)
|
|||||||
var objectName = $(e.currentTarget).attr('data-product-name');
|
var objectName = $(e.currentTarget).attr('data-product-name');
|
||||||
var objectId = $(e.currentTarget).attr('data-product-id');
|
var objectId = $(e.currentTarget).attr('data-product-id');
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + objectId,
|
Grocy.Api.Get('stock/' + objectId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
var stockAmount = productDetails.stock_amount || '0';
|
var stockAmount = productDetails.stock_amount || '0';
|
||||||
@ -59,7 +59,7 @@ $(document).on('click', '.product-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/products/' + objectId,
|
Grocy.Api.Delete('object/products/' + objectId,
|
||||||
function (result)
|
function (result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/products');
|
window.location.href = U('/products');
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
var jsonForm = $('#purchase-form').serializeJSON();
|
var jsonForm = $('#purchase-form').serializeJSON();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("purchase-form");
|
Grocy.FrontendHelpers.BeginUiBusy("purchase-form");
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
|
Grocy.Api.Get('stock/' + jsonForm.product_id,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
var amount = jsonForm.amount * productDetails.product.qu_factor_purchase_to_stock;
|
var amount = jsonForm.amount * productDetails.product.qu_factor_purchase_to_stock;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
price = parseFloat(jsonForm.price).toFixed(2);
|
price = parseFloat(jsonForm.price).toFixed(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.Api.Get('stock/add-product/' + jsonForm.product_id + '/' + amount + '?bestbeforedate=' + Grocy.Components.DateTimePicker.GetValue() + '&price=' + price,
|
Grocy.Api.Post('stock/' + jsonForm.product_id + '/add/' + amount + '?bestbeforedate=' + Grocy.Components.DateTimePicker.GetValue() + '&price=' + price,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var addBarcode = GetUriParam('addbarcodetoselection');
|
var addBarcode = GetUriParam('addbarcodetoselection');
|
||||||
@ -32,7 +32,7 @@
|
|||||||
productDetails.product.barcode += ',' + addBarcode;
|
productDetails.product.barcode += ',' + addBarcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grocy.Api.Post('edit-object/products/' + productDetails.product.id, productDetails.product,
|
Grocy.Api.Put('object/products/' + productDetails.product.id, productDetails.product,
|
||||||
function (result) { },
|
function (result) { },
|
||||||
function(xhr)
|
function(xhr)
|
||||||
{
|
{
|
||||||
@ -89,7 +89,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.Components.ProductCard.Refresh(productId);
|
Grocy.Components.ProductCard.Refresh(productId);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(productDetails)
|
function(productDetails)
|
||||||
{
|
{
|
||||||
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
|
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
|
||||||
@ -197,7 +197,7 @@ if (GetUriParam("flow") === "shoppinglistitemtostock")
|
|||||||
|
|
||||||
function UndoStockBooking(bookingId)
|
function UndoStockBooking(bookingId)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
|
Grocy.Api.Get('sbooking/' + bookingId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
toastr.success(L("Booking successfully undone"));
|
toastr.success(L("Booking successfully undone"));
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/quantity_units', jsonData,
|
Grocy.Api.Post('object/quantity_units', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/quantityunits');
|
window.location.href = U('/quantityunits');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/quantity_units/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/quantity_units/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/quantityunits');
|
window.location.href = U('/quantityunits');
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.quantityunit-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/quantity_units/' + objectId,
|
Grocy.Api.Delete('object/quantity_units/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/quantityunits');
|
window.location.href = U('/quantityunits');
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
var jsonData = $('#recipe-form').serializeJSON();
|
var jsonData = $('#recipe-form').serializeJSON();
|
||||||
Grocy.FrontendHelpers.BeginUiBusy("recipe-form");
|
Grocy.FrontendHelpers.BeginUiBusy("recipe-form");
|
||||||
|
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipes');
|
window.location.href = U('/recipes');
|
||||||
@ -113,8 +113,8 @@ $(document).on('click', '.recipe-pos-delete-button', function(e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
|
||||||
Grocy.Api.Get('delete-object/recipes_pos/' + objectId,
|
Grocy.Api.Delete('object/recipes_pos/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
||||||
@ -150,8 +150,8 @@ $(document).on('click', '.recipe-include-delete-button', function(e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
|
||||||
Grocy.Api.Get('delete-object/recipes_nestings/' + objectId,
|
Grocy.Api.Delete('object/recipes_nestings/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
||||||
@ -178,10 +178,10 @@ $(document).on('click', '.recipe-pos-order-missing-button', function(e)
|
|||||||
jsonData.amount = productAmount;
|
jsonData.amount = productAmount;
|
||||||
jsonData.note = L('Added for recipe #1', recipeName);
|
jsonData.note = L('Added for recipe #1', recipeName);
|
||||||
|
|
||||||
Grocy.Api.Post('add-object/shopping_list', jsonData,
|
Grocy.Api.Post('object/shopping_list', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function () { }, function () { });
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function () { }, function () { });
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
||||||
},
|
},
|
||||||
function(xhr)
|
function(xhr)
|
||||||
@ -202,7 +202,7 @@ $(document).on('click', '.recipe-pos-edit-button', function (e)
|
|||||||
{
|
{
|
||||||
var recipePosId = $(e.currentTarget).attr('data-recipe-pos-id');
|
var recipePosId = $(e.currentTarget).attr('data-recipe-pos-id');
|
||||||
|
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId + '/pos/' + recipePosId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId + '/pos/' + recipePosId);
|
||||||
@ -219,7 +219,7 @@ $(document).on('click', '.recipe-include-edit-button', function (e)
|
|||||||
var id = $(e.currentTarget).attr('data-recipe-include-id');
|
var id = $(e.currentTarget).attr('data-recipe-include-id');
|
||||||
var recipeId = $(e.currentTarget).attr('data-recipe-included-recipe-id');
|
var recipeId = $(e.currentTarget).attr('data-recipe-included-recipe-id');
|
||||||
console.log(recipeId);
|
console.log(recipeId);
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$("#recipe-include-editform-title").text(L("Edit included recipe"));
|
$("#recipe-include-editform-title").text(L("Edit included recipe"));
|
||||||
@ -238,7 +238,7 @@ $(document).on('click', '.recipe-include-edit-button', function (e)
|
|||||||
|
|
||||||
$("#recipe-pos-add-button").on("click", function(e)
|
$("#recipe-pos-add-button").on("click", function(e)
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId + '/pos/new');
|
window.location.href = U('/recipe/' + Grocy.EditObjectId + '/pos/new');
|
||||||
@ -252,7 +252,7 @@ $("#recipe-pos-add-button").on("click", function(e)
|
|||||||
|
|
||||||
$("#recipe-include-add-button").on("click", function(e)
|
$("#recipe-include-add-button").on("click", function(e)
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
Grocy.Api.Put('object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(),
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$("#recipe-include-editform-title").text(L("Add included recipe"));
|
$("#recipe-include-editform-title").text(L("Add included recipe"));
|
||||||
@ -280,7 +280,7 @@ $('#save-recipe-include-button').on('click', function(e)
|
|||||||
|
|
||||||
if (editMode === 'create')
|
if (editMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/recipes_nestings', jsonData,
|
Grocy.Api.Post('object/recipes_nestings', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
||||||
@ -293,7 +293,7 @@ $('#save-recipe-include-button').on('click', function(e)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes_nestings/' + nestingId, jsonData,
|
Grocy.Api.Put('object/recipes_nestings/' + nestingId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectId);
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/recipes_pos', jsonData,
|
Grocy.Api.Post('object/recipes_pos', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectParentId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectParentId);
|
||||||
@ -23,7 +23,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/recipes_pos/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/recipes_pos/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipe/' + Grocy.EditObjectParentId);
|
window.location.href = U('/recipe/' + Grocy.EditObjectParentId);
|
||||||
@ -45,7 +45,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.Components.ProductCard.Refresh(productId);
|
Grocy.Components.ProductCard.Refresh(productId);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function (productDetails)
|
function (productDetails)
|
||||||
{
|
{
|
||||||
if (!$("#only_check_single_unit_in_stock").is(":checked"))
|
if (!$("#only_check_single_unit_in_stock").is(":checked"))
|
||||||
|
@ -63,7 +63,7 @@ $("#selectedRecipeDeleteButton").on('click', function(e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/recipes/' + objectId,
|
Grocy.Api.Delete('object/recipes/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipes');
|
window.location.href = U('/recipes');
|
||||||
@ -101,7 +101,7 @@ $(document).on('click', '.recipe-order-missing-button', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.BeginUiBusy();
|
Grocy.FrontendHelpers.BeginUiBusy();
|
||||||
|
|
||||||
Grocy.Api.Get('recipes/add-not-fulfilled-products-to-shopping-list/' + objectId,
|
Grocy.Api.Post('recipes/' + objectId + '/shoppinglist',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/recipes');
|
window.location.href = U('/recipes');
|
||||||
@ -140,7 +140,7 @@ $("#selectedRecipeConsumeButton").on('click', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.BeginUiBusy();
|
Grocy.FrontendHelpers.BeginUiBusy();
|
||||||
|
|
||||||
Grocy.Api.Get('recipes/consume-recipe/' + objectId,
|
Grocy.Api.Get('recipes/' + objectId + '/consume',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.EndUiBusy();
|
Grocy.FrontendHelpers.EndUiBusy();
|
||||||
|
@ -64,7 +64,7 @@ $(document).on('click', '.shoppinglist-delete-button', function (e)
|
|||||||
var shoppingListItemId = $(e.currentTarget).attr('data-shoppinglist-id');
|
var shoppingListItemId = $(e.currentTarget).attr('data-shoppinglist-id');
|
||||||
Grocy.FrontendHelpers.BeginUiBusy();
|
Grocy.FrontendHelpers.BeginUiBusy();
|
||||||
|
|
||||||
Grocy.Api.Get('delete-object/shopping_list/' + shoppingListItemId,
|
Grocy.Api.Delete('object/shopping_list/' + shoppingListItemId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$('#shoppinglistitem-' + shoppingListItemId + '-row').fadeOut(500, function()
|
$('#shoppinglistitem-' + shoppingListItemId + '-row').fadeOut(500, function()
|
||||||
@ -84,7 +84,7 @@ $(document).on('click', '.shoppinglist-delete-button', function (e)
|
|||||||
|
|
||||||
$(document).on('click', '#add-products-below-min-stock-amount', function(e)
|
$(document).on('click', '#add-products-below-min-stock-amount', function(e)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/add-missing-products-to-shoppinglist',
|
Grocy.Api.Post('stock/shoppinglist',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/shoppinglist');
|
window.location.href = U('/shoppinglist');
|
||||||
@ -116,7 +116,7 @@ $(document).on('click', '#clear-shopping-list', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.FrontendHelpers.BeginUiBusy();
|
Grocy.FrontendHelpers.BeginUiBusy();
|
||||||
|
|
||||||
Grocy.Api.Get('stock/clear-shopping-list',
|
Grocy.Api.Post('stock/clearshoppinglist',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$('#shoppinglist-table tbody tr').fadeOut(500, function()
|
$('#shoppinglist-table tbody tr').fadeOut(500, function()
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/shopping_list', jsonData,
|
Grocy.Api.Post('object/shopping_list', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/shoppinglist');
|
window.location.href = U('/shoppinglist');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/shopping_list/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/shopping_list/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/shoppinglist');
|
window.location.href = U('/shoppinglist');
|
||||||
@ -43,7 +43,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
|
|||||||
{
|
{
|
||||||
Grocy.Components.ProductCard.Refresh(productId);
|
Grocy.Components.ProductCard.Refresh(productId);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function (productDetails)
|
function (productDetails)
|
||||||
{
|
{
|
||||||
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
|
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
|
||||||
|
@ -56,7 +56,7 @@ $(document).on('click', '.undo-stock-booking-button', function(e)
|
|||||||
var element = $(e.currentTarget);
|
var element = $(e.currentTarget);
|
||||||
var bookingId = $(e.currentTarget).attr('data-booking-id');
|
var bookingId = $(e.currentTarget).attr('data-booking-id');
|
||||||
|
|
||||||
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
|
Grocy.Api.Get('booking/' + bookingId.toString() + '/undo',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
element.closest("tr").addClass("text-muted");
|
element.closest("tr").addClass("text-muted");
|
||||||
|
@ -92,10 +92,10 @@ $(document).on('click', '.product-consume-button', function(e)
|
|||||||
var productQuName = $(e.currentTarget).attr('data-product-qu-name');
|
var productQuName = $(e.currentTarget).attr('data-product-qu-name');
|
||||||
var consumeAmount = $(e.currentTarget).attr('data-consume-amount');
|
var consumeAmount = $(e.currentTarget).attr('data-consume-amount');
|
||||||
|
|
||||||
Grocy.Api.Get('stock/consume-product/' + productId + '/' + consumeAmount,
|
Grocy.Api.Post('stock/' + productId + '/consume/' + consumeAmount,
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var productRow = $('#product-' + productId + '-row');
|
var productRow = $('#product-' + productId + '-row');
|
||||||
@ -189,10 +189,10 @@ $(document).on('click', '.product-open-button', function(e)
|
|||||||
var productQuName = $(e.currentTarget).attr('data-product-qu-name');
|
var productQuName = $(e.currentTarget).attr('data-product-qu-name');
|
||||||
var button = $(e.currentTarget);
|
var button = $(e.currentTarget);
|
||||||
|
|
||||||
Grocy.Api.Get('stock/open-product/' + productId + '/1',
|
Grocy.Api.Get('stock/' + productId + 'open/1',
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/get-product-details/' + productId,
|
Grocy.Api.Get('stock/' + productId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var productRow = $('#product-' + productId + '-row');
|
var productRow = $('#product-' + productId + '-row');
|
||||||
@ -257,7 +257,7 @@ $(document).on("click", ".product-name-cell", function(e)
|
|||||||
|
|
||||||
function RefreshStatistics()
|
function RefreshStatistics()
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('stock/get-current-stock',
|
Grocy.Api.Get('stock',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var amountSum = 0;
|
var amountSum = 0;
|
||||||
@ -273,7 +273,7 @@ function RefreshStatistics()
|
|||||||
);
|
);
|
||||||
|
|
||||||
var nextXDays = $("#info-expiring-products").data("next-x-days");
|
var nextXDays = $("#info-expiring-products").data("next-x-days");
|
||||||
Grocy.Api.Get('stock/get-current-volatil-stock?expiring_days=' + nextXDays,
|
Grocy.Api.Get('stock/volatile?expiring_days=' + nextXDays,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$("#info-expiring-products").text(Pluralize(result.expiring_products.length, L('#1 product expires within the next #2 days', result.expiring_products.length, nextXDays), L('#1 products expiring within the next #2 days', result.expiring_products.length, nextXDays)));
|
$("#info-expiring-products").text(Pluralize(result.expiring_products.length, L('#1 product expires within the next #2 days', result.expiring_products.length, nextXDays), L('#1 products expiring within the next #2 days', result.expiring_products.length, nextXDays)));
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.task-category-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/task_categories/' + objectId,
|
Grocy.Api.Delete('object/task_categories/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/taskcategories');
|
window.location.href = U('/taskcategories');
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/task_categories', jsonData,
|
Grocy.Api.Post('object/task_categories', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/taskcategories');
|
window.location.href = U('/taskcategories');
|
||||||
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/task_categories/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/task_categories/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/taskcategories');
|
window.location.href = U('/taskcategories');
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
if (Grocy.EditMode === 'create')
|
if (Grocy.EditMode === 'create')
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('add-object/tasks', jsonData,
|
Grocy.Api.Post('object/tasks', jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/tasks');
|
window.location.href = U('/tasks');
|
||||||
@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Grocy.Api.Post('edit-object/tasks/' + Grocy.EditObjectId, jsonData,
|
Grocy.Api.Put('object/tasks/' + Grocy.EditObjectId, jsonData,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/tasks');
|
window.location.href = U('/tasks');
|
||||||
|
@ -70,7 +70,7 @@ $(document).on('click', '.do-task-button', function(e)
|
|||||||
var taskName = $(e.currentTarget).attr('data-task-name');
|
var taskName = $(e.currentTarget).attr('data-task-name');
|
||||||
var doneTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
var doneTime = moment().format('YYYY-MM-DD HH:mm:ss');
|
||||||
|
|
||||||
Grocy.Api.Get('tasks/mark-task-as-completed/' + taskId + '?done_time=' + doneTime,
|
Grocy.Api.Get('tasks/' + taskId + '/complete?done_time=' + doneTime,
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
if (!$("#show-done-tasks").is(":checked"))
|
if (!$("#show-done-tasks").is(":checked"))
|
||||||
@ -123,7 +123,7 @@ $(document).on('click', '.delete-task-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/tasks/' + objectId,
|
Grocy.Api.Delete('object/tasks/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
$('#task-' + objectId + '-row').fadeOut(500, function ()
|
$('#task-' + objectId + '-row').fadeOut(500, function ()
|
||||||
@ -161,7 +161,7 @@ if (GetUriParam('include_done'))
|
|||||||
function RefreshStatistics()
|
function RefreshStatistics()
|
||||||
{
|
{
|
||||||
var nextXDays = $("#info-due-tasks").data("next-x-days");
|
var nextXDays = $("#info-due-tasks").data("next-x-days");
|
||||||
Grocy.Api.Get('tasks/get-current',
|
Grocy.Api.Get('tasks',
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
var dueCount = 0;
|
var dueCount = 0;
|
||||||
|
@ -52,7 +52,7 @@ $(document).on('click', '.user-delete-button', function (e)
|
|||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('users/delete/' + objectId,
|
Grocy.Api.Delete('users/delete/' + objectId,
|
||||||
function(result)
|
function(result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/users');
|
window.location.href = U('/users');
|
||||||
|
68
routes.php
68
routes.php
@ -83,11 +83,11 @@ $app->group('/api', function()
|
|||||||
$this->get('/get-openapi-specification', '\Grocy\Controllers\OpenApiController:DocumentationSpec');
|
$this->get('/get-openapi-specification', '\Grocy\Controllers\OpenApiController:DocumentationSpec');
|
||||||
|
|
||||||
// Generic entity interaction
|
// Generic entity interaction
|
||||||
$this->get('/get-objects/{entity}', '\Grocy\Controllers\GenericEntityApiController:GetObjects');
|
$this->get('/object/{entity}', '\Grocy\Controllers\GenericEntityApiController:GetObjects');
|
||||||
$this->get('/get-object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:GetObject');
|
$this->get('/object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:GetObject');
|
||||||
$this->post('/add-object/{entity}', '\Grocy\Controllers\GenericEntityApiController:AddObject');
|
$this->post('/object/{entity}', '\Grocy\Controllers\GenericEntityApiController:AddObject');
|
||||||
$this->post('/edit-object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:EditObject');
|
$this->put('/object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:EditObject');
|
||||||
$this->get('/delete-object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:DeleteObject');
|
$this->delete('/object/{entity}/{objectId}', '\Grocy\Controllers\GenericEntityApiController:DeleteObject');
|
||||||
|
|
||||||
// System
|
// System
|
||||||
$this->get('/system/get-db-changed-time', '\Grocy\Controllers\SystemApiController:GetDbChangedTime');
|
$this->get('/system/get-db-changed-time', '\Grocy\Controllers\SystemApiController:GetDbChangedTime');
|
||||||
@ -99,49 +99,49 @@ $app->group('/api', function()
|
|||||||
$this->delete('/file/{group}', '\Grocy\Controllers\FilesApiController:DeleteFile');
|
$this->delete('/file/{group}', '\Grocy\Controllers\FilesApiController:DeleteFile');
|
||||||
|
|
||||||
// Users
|
// Users
|
||||||
$this->get('/users/get', '\Grocy\Controllers\UsersApiController:GetUsers');
|
$this->get('/users', '\Grocy\Controllers\UsersApiController:GetUsers');
|
||||||
$this->post('/users/create', '\Grocy\Controllers\UsersApiController:CreateUser');
|
$this->post('/users', '\Grocy\Controllers\UsersApiController:CreateUser');
|
||||||
$this->post('/users/edit/{userId}', '\Grocy\Controllers\UsersApiController:EditUser');
|
$this->put('/users/{userId}', '\Grocy\Controllers\UsersApiController:EditUser');
|
||||||
$this->get('/users/delete/{userId}', '\Grocy\Controllers\UsersApiController:DeleteUser');
|
$this->delete('/users/{userId}', '\Grocy\Controllers\UsersApiController:DeleteUser');
|
||||||
|
|
||||||
// User
|
// User
|
||||||
$this->get('/user/settings/{settingKey}', '\Grocy\Controllers\UsersApiController:GetUserSetting');
|
$this->get('/user/settings/{settingKey}', '\Grocy\Controllers\UsersApiController:GetUserSetting');
|
||||||
$this->post('/user/settings/{settingKey}', '\Grocy\Controllers\UsersApiController:SetUserSetting');
|
$this->post('/user/settings/{settingKey}', '\Grocy\Controllers\UsersApiController:SetUserSetting');
|
||||||
|
|
||||||
// Stock
|
// Stock
|
||||||
$this->get('/stock/add-product/{productId}/{amount}', '\Grocy\Controllers\StockApiController:AddProduct');
|
$this->get('/stock/volatile', '\Grocy\Controllers\StockApiController:CurrentVolatilStock');
|
||||||
$this->get('/stock/consume-product/{productId}/{amount}', '\Grocy\Controllers\StockApiController:ConsumeProduct');
|
$this->get('/stock/{productId}', '\Grocy\Controllers\StockApiController:ProductDetails');
|
||||||
$this->get('/stock/open-product/{productId}/{amount}', '\Grocy\Controllers\StockApiController:OpenProduct');
|
$this->get('/stock/{productId}/pricehistory', '\Grocy\Controllers\StockApiController:ProductPriceHistory');
|
||||||
$this->get('/stock/inventory-product/{productId}/{newAmount}', '\Grocy\Controllers\StockApiController:InventoryProduct');
|
$this->get('/stock/{productId}/entries', '\Grocy\Controllers\StockApiController:ProductStockEntries');
|
||||||
$this->get('/stock/get-product-details/{productId}', '\Grocy\Controllers\StockApiController:ProductDetails');
|
$this->get('/stock', '\Grocy\Controllers\StockApiController:CurrentStock');
|
||||||
$this->get('/stock/get-product-price-history/{productId}', '\Grocy\Controllers\StockApiController:ProductPriceHistory');
|
$this->post('/stock/{productId}/add/{amount}', '\Grocy\Controllers\StockApiController:AddProduct');
|
||||||
$this->get('/stock/get-product-stock-entries/{productId}', '\Grocy\Controllers\StockApiController:ProductStockEntries');
|
$this->post('/stock/{productId}/consume/{amount}', '\Grocy\Controllers\StockApiController:ConsumeProduct');
|
||||||
$this->get('/stock/get-current-stock', '\Grocy\Controllers\StockApiController:CurrentStock');
|
$this->post('/stock/{productId}/open/{amount}', '\Grocy\Controllers\StockApiController:OpenProduct');
|
||||||
$this->get('/stock/get-current-volatil-stock', '\Grocy\Controllers\StockApiController:CurrentVolatilStock');
|
$this->post('/stock/{productId}/inventory/{newAmount}', '\Grocy\Controllers\StockApiController:InventoryProduct');
|
||||||
$this->get('/stock/add-missing-products-to-shoppinglist', '\Grocy\Controllers\StockApiController:AddMissingProductsToShoppingList');
|
$this->post('/stock/shoppinglist', '\Grocy\Controllers\StockApiController:AddMissingProductsToShoppingList');
|
||||||
$this->get('/stock/clear-shopping-list', '\Grocy\Controllers\StockApiController:ClearShoppingList');
|
$this->post('/stock/clearshoppinglist', '\Grocy\Controllers\StockApiController:ClearShoppingList');
|
||||||
$this->get('/stock/external-barcode-lookup/{barcode}', '\Grocy\Controllers\StockApiController:ExternalBarcodeLookup');
|
$this->get('/barcode/{barcode}', '\Grocy\Controllers\StockApiController:ExternalBarcodeLookup');
|
||||||
$this->get('/stock/undo-booking/{bookingId}', '\Grocy\Controllers\StockApiController:UndoBooking');
|
$this->post('/booking/{bookingId}/undo', '\Grocy\Controllers\StockApiController:UndoBooking');
|
||||||
|
|
||||||
// Recipes
|
// Recipes
|
||||||
$this->get('/recipes/add-not-fulfilled-products-to-shopping-list/{recipeId}', '\Grocy\Controllers\RecipesApiController:AddNotFulfilledProductsToShoppingList');
|
$this->post('/recipes/{recipeId}/shoppinglist', '\Grocy\Controllers\RecipesApiController:AddNotFulfilledProductsToShoppingList');
|
||||||
$this->get('/recipes/consume-recipe/{recipeId}', '\Grocy\Controllers\RecipesApiController:ConsumeRecipe');
|
$this->post('/recipes/{recipeId}/consume', '\Grocy\Controllers\RecipesApiController:ConsumeRecipe');
|
||||||
|
|
||||||
// Chores
|
// Chores
|
||||||
$this->get('/chores/track-chore-execution/{choreId}', '\Grocy\Controllers\ChoresApiController:TrackChoreExecution');
|
$this->get('/chores/{choreId}', '\Grocy\Controllers\ChoresApiController:ChoreDetails');
|
||||||
$this->get('/chores/get-chore-details/{choreId}', '\Grocy\Controllers\ChoresApiController:ChoreDetails');
|
$this->get('/chores', '\Grocy\Controllers\ChoresApiController:Current');
|
||||||
$this->get('/chores/get-current', '\Grocy\Controllers\ChoresApiController:Current');
|
$this->post('/chores/{executionId}/undo', '\Grocy\Controllers\ChoresApiController:UndoChoreExecution');
|
||||||
$this->get('/chores/undo-chore-execution/{executionId}', '\Grocy\Controllers\ChoresApiController:UndoChoreExecution');
|
$this->post('/chores/{choreId}/execute', '\Grocy\Controllers\ChoresApiController:TrackChoreExecution');
|
||||||
|
|
||||||
// Batteries
|
// Batteries
|
||||||
$this->get('/batteries/track-charge-cycle/{batteryId}', '\Grocy\Controllers\BatteriesApiController:TrackChargeCycle');
|
$this->get('/batteries/{batteryId}', '\Grocy\Controllers\BatteriesApiController:BatteryDetails');
|
||||||
$this->get('/batteries/get-battery-details/{batteryId}', '\Grocy\Controllers\BatteriesApiController:BatteryDetails');
|
$this->get('/batteries', '\Grocy\Controllers\BatteriesApiController:Current');
|
||||||
$this->get('/batteries/get-current', '\Grocy\Controllers\BatteriesApiController:Current');
|
$this->post('/batteries/{batteryId}/charge', '\Grocy\Controllers\BatteriesApiController:TrackChargeCycle');
|
||||||
$this->get('/batteries/undo-charge-cycle/{chargeCycleId}', '\Grocy\Controllers\BatteriesApiController:UndoChargeCycle');
|
$this->post('/batteries/{chargeCycleId}/undo', '\Grocy\Controllers\BatteriesApiController:UndoChargeCycle');
|
||||||
|
|
||||||
// Tasks
|
// Tasks
|
||||||
$this->get('/tasks/get-current', '\Grocy\Controllers\TasksApiController:Current');
|
$this->get('/tasks', '\Grocy\Controllers\TasksApiController:Current');
|
||||||
$this->get('/tasks/mark-task-as-completed/{taskId}', '\Grocy\Controllers\TasksApiController:MarkTaskAsCompleted');
|
$this->post('/tasks/{taskId}/complete', '\Grocy\Controllers\TasksApiController:MarkTaskAsCompleted');
|
||||||
})->add(new ApiKeyAuthMiddleware($appContainer, $appContainer->LoginControllerInstance->GetSessionCookieName(), $appContainer->ApiKeyHeaderName))
|
})->add(new ApiKeyAuthMiddleware($appContainer, $appContainer->LoginControllerInstance->GetSessionCookieName(), $appContainer->ApiKeyHeaderName))
|
||||||
->add(JsonMiddleware::class)
|
->add(JsonMiddleware::class)
|
||||||
->add(new CorsMiddleware([
|
->add(new CorsMiddleware([
|
||||||
|
Loading…
x
Reference in New Issue
Block a user