Change public/viewjs to match API routes

This commit is contained in:
Christopher Forkner 2019-01-07 22:34:34 -07:00
parent 857de8481a
commit 79f49a3b17
31 changed files with 128 additions and 128 deletions

View File

@ -52,7 +52,7 @@ $(document).on('click', '.battery-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/batteries/' + objectId,
Grocy.Api.Delete('delete-object/batteries/' + objectId,
function(result)
{
window.location.href = U('/batteries');

View File

@ -56,7 +56,7 @@ $(document).on('click', '.undo-battery-execution-button', function(e)
var element = $(e.currentTarget);
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)
{
element.closest("tr").addClass("text-muted");

View File

@ -66,10 +66,10 @@ $(document).on('click', '.track-charge-cycle-button', function(e)
var batteryName = $(e.currentTarget).attr('data-battery-name');
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()
{
Grocy.Api.Get('batteries/get-battery-details/' + batteryId,
Grocy.Api.Get('batteries/' + batteryId,
function(result)
{
var batteryRow = $('#battery-' + batteryId + '-row');
@ -128,7 +128,7 @@ $(document).on('click', '.track-charge-cycle-button', function(e)
function RefreshStatistics()
{
var nextXDays = $("#info-due-batteries").data("next-x-days");
Grocy.Api.Get('batteries/get-current',
Grocy.Api.Get('batteries',
function(result)
{
var dueCount = 0;

View File

@ -5,10 +5,10 @@
var jsonForm = $('#batterytracking-form').serializeJSON();
Grocy.FrontendHelpers.BeginUiBusy("batterytracking-form");
Grocy.Api.Get('batteries/get-battery-details/' + jsonForm.battery_id,
Grocy.Api.Get('batteries/' + jsonForm.battery_id,
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)
{
Grocy.FrontendHelpers.EndUiBusy("batterytracking-form");
@ -92,7 +92,7 @@ $('#tracked_time').find('input').on('keypress', function (e)
function UndoChargeCycle(chargeCycleId)
{
Grocy.Api.Get('batteries/undo-charge-cycle/' + chargeCycleId.toString(),
Grocy.Api.Post('batteries' + chargeCycleId.toString() + '/undo',
function(result)
{
toastr.success(L("Charge cycle successfully undone"));

View File

@ -52,7 +52,7 @@ $(document).on('click', '.chore-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/chores/' + objectId,
Grocy.Api.Delete('delete-object/chores/' + objectId,
function(result)
{
window.location.href = U('/chores');

View File

@ -56,7 +56,7 @@ $(document).on('click', '.undo-chore-execution-button', function(e)
var element = $(e.currentTarget);
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)
{
element.closest("tr").addClass("text-muted");

View File

@ -66,10 +66,10 @@ $(document).on('click', '.track-chore-button', function(e)
var choreName = $(e.currentTarget).attr('data-chore-name');
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()
{
Grocy.Api.Get('chores/get-chore-details/' + choreId,
Grocy.Api.Get('chores/' + choreId,
function(result)
{
var choreRow = $('#chore-' + choreId + '-row');
@ -128,7 +128,7 @@ $(document).on('click', '.track-chore-button', function(e)
function RefreshStatistics()
{
var nextXDays = $("#info-due-chores").data("next-x-days");
Grocy.Api.Get('chores/get-current',
Grocy.Api.Get('chores',
function(result)
{
var dueCount = 0;

View File

@ -5,10 +5,10 @@
var jsonForm = $('#choretracking-form').serializeJSON();
Grocy.FrontendHelpers.BeginUiBusy("choretracking-form");
Grocy.Api.Get('chores/get-chore-details/' + jsonForm.chore_id,
Grocy.Api.Get('chores/' + jsonForm.chore_id,
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)
{
Grocy.FrontendHelpers.EndUiBusy("choretracking-form");
@ -89,7 +89,7 @@ Grocy.Components.DateTimePicker.GetInputElement().on('keypress', function(e)
function UndoChoreExecution(executionId)
{
Grocy.Api.Get('chores/undo-chore-execution/' + executionId.toString(),
Grocy.Api.Post('chores/' + executionId.toString() + '/undo',
function(result)
{
toastr.success(L("Chore execution successfully undone"));

View File

@ -2,7 +2,7 @@ Grocy.Components.BatteryCard = { };
Grocy.Components.BatteryCard.Refresh = function(batteryId)
{
Grocy.Api.Get('batteries/get-battery-details/' + batteryId,
Grocy.Api.Get('batteries/' + batteryId,
function(batteryDetails)
{
$('#batterycard-battery-name').text(batteryDetails.battery.name);

View File

@ -2,7 +2,7 @@ Grocy.Components.ChoreCard = { };
Grocy.Components.ChoreCard.Refresh = function(choreId)
{
Grocy.Api.Get('chores/get-chore-details/' + choreId,
Grocy.Api.Get('chores/' + choreId,
function(choreDetails)
{
$('#chorecard-chore-name').text(choreDetails.chore.name);

View File

@ -2,7 +2,7 @@ Grocy.Components.ProductCard = { };
Grocy.Components.ProductCard.Refresh = function(productId)
{
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(productDetails)
{
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)
{
if (priceHistoryDataPoints.length > 0)

View File

@ -16,17 +16,17 @@
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"))
{
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)
{
Grocy.Api.Get(apiUrl,
Grocy.Api.Post(apiUrl,
function(result)
{
$("#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;
}
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"))
{
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)
{
Grocy.Api.Get(apiUrl,
Grocy.Api.Post(apiUrl,
function(result)
{
$("#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.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(productDetails)
{
$('#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)
{
stockEntries.forEach(stockEntry =>
@ -249,7 +249,7 @@ $("#use_specific_stock_entry").on("change", function()
function UndoStockBooking(bookingId)
{
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
Grocy.Api.Post('booking/' + bookingId.toString() + '/undo',
function(result)
{
toastr.success(L("Booking successfully undone"));

View File

@ -98,7 +98,7 @@ $(document).on('click', '.equipment-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/equipment/' + objectId,
Grocy.Api.Delete('delete-object/equipment/' + objectId,
function(result)
{
window.location.href = U('/equipment');

View File

@ -5,10 +5,10 @@
var jsonForm = $('#inventory-form').serializeJSON();
Grocy.FrontendHelpers.BeginUiBusy("inventory-form");
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
Grocy.Api.Get('stock/' + jsonForm.product_id,
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)
{
var addBarcode = GetUriParam('addbarcodetoselection');
@ -24,7 +24,7 @@
productDetails.product.barcode += ',' + addBarcode;
}
Grocy.Api.Get('edit-object/products/' + productDetails.product.id, productDetails.product,
Grocy.Api.Post('edit-object/products/' + productDetails.product.id, productDetails.product,
function (result) { },
function(xhr)
{
@ -73,7 +73,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
{
Grocy.Components.ProductCard.Refresh(productId);
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(productDetails)
{
$('#new_amount').attr('not-equal', productDetails.stock_amount);
@ -157,7 +157,7 @@ $('#new_amount').on('keyup', function(e)
if (productId)
{
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(productDetails)
{
var productStockAmount = parseInt(productDetails.stock_amount || '0');
@ -193,7 +193,7 @@ $('#new_amount').on('keyup', function(e)
function UndoStockBooking(bookingId)
{
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
Grocy.Api.Get('booking/' + bookingId.toString() + '/undo',
function(result)
{
toastr.success(L("Booking successfully undone"));

View File

@ -52,7 +52,7 @@ $(document).on('click', '.location-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/locations/' + objectId,
Grocy.Api.Delete('delete-object/locations/' + objectId,
function(result)
{
window.location.href = U('/locations');

View File

@ -58,7 +58,7 @@ $(document).on('click', '.apikey-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/api_keys/' + objectId,
Grocy.Api.Delete('delete-object/api_keys/' + objectId,
function(result)
{
window.location.href = U('/manageapikeys');

View File

@ -52,7 +52,7 @@ $(document).on('click', '.product-group-delete-button', function(e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/product_groups/' + objectId,
Grocy.Api.Delete('delete-object/product_groups/' + objectId,
function(result)
{
window.location.href = U('/productgroups');

View File

@ -36,7 +36,7 @@ $(document).on('click', '.product-delete-button', function (e)
var objectName = $(e.currentTarget).attr('data-product-name');
var objectId = $(e.currentTarget).attr('data-product-id');
Grocy.Api.Get('stock/get-product-details/' + objectId,
Grocy.Api.Get('stock/' + objectId,
function(productDetails)
{
var stockAmount = productDetails.stock_amount || '0';
@ -59,7 +59,7 @@ $(document).on('click', '.product-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/products/' + objectId,
Grocy.Api.Delete('delete-object/products/' + objectId,
function (result)
{
window.location.href = U('/products');

View File

@ -5,7 +5,7 @@
var jsonForm = $('#purchase-form').serializeJSON();
Grocy.FrontendHelpers.BeginUiBusy("purchase-form");
Grocy.Api.Get('stock/get-product-details/' + jsonForm.product_id,
Grocy.Api.Get('stock/' + jsonForm.product_id,
function(productDetails)
{
var amount = jsonForm.amount * productDetails.product.qu_factor_purchase_to_stock;
@ -16,7 +16,7 @@
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)
{
var addBarcode = GetUriParam('addbarcodetoselection');
@ -89,7 +89,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
{
Grocy.Components.ProductCard.Refresh(productId);
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(productDetails)
{
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
@ -197,7 +197,7 @@ if (GetUriParam("flow") === "shoppinglistitemtostock")
function UndoStockBooking(bookingId)
{
Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(),
Grocy.Api.Get('sbooking/' + bookingId.toString() + '/undo',
function(result)
{
toastr.success(L("Booking successfully undone"));

View File

@ -52,7 +52,7 @@ $(document).on('click', '.quantityunit-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/quantity_units/' + objectId,
Grocy.Api.Delete('delete-object/quantity_units/' + objectId,
function(result)
{
window.location.href = U('/quantityunits');

View File

@ -114,7 +114,7 @@ $(document).on('click', '.recipe-pos-delete-button', function(e)
if (result === true)
{
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
Grocy.Api.Get('delete-object/recipes_pos/' + objectId,
Grocy.Api.Delete('delete-object/recipes_pos/' + objectId,
function(result)
{
window.location.href = U('/recipe/' + Grocy.EditObjectId);
@ -151,7 +151,7 @@ $(document).on('click', '.recipe-include-delete-button', function(e)
if (result === true)
{
Grocy.Api.Post('edit-object/recipes/' + Grocy.EditObjectId, $('#recipe-form').serializeJSON(), function() { }, function() { });
Grocy.Api.Get('delete-object/recipes_nestings/' + objectId,
Grocy.Api.Delete('delete-object/recipes_nestings/' + objectId,
function(result)
{
window.location.href = U('/recipe/' + Grocy.EditObjectId);

View File

@ -45,7 +45,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
{
Grocy.Components.ProductCard.Refresh(productId);
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function (productDetails)
{
if (!$("#only_check_single_unit_in_stock").is(":checked"))

View File

@ -63,7 +63,7 @@ $("#selectedRecipeDeleteButton").on('click', function(e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/recipes/' + objectId,
Grocy.Api.Delete('delete-object/recipes/' + objectId,
function(result)
{
window.location.href = U('/recipes');
@ -101,7 +101,7 @@ $(document).on('click', '.recipe-order-missing-button', function(e)
{
Grocy.FrontendHelpers.BeginUiBusy();
Grocy.Api.Get('recipes/add-not-fulfilled-products-to-shopping-list/' + objectId,
Grocy.Api.Post('recipes/' + objectId + '/shoppinglist',
function(result)
{
window.location.href = U('/recipes');
@ -140,7 +140,7 @@ $("#selectedRecipeConsumeButton").on('click', function(e)
{
Grocy.FrontendHelpers.BeginUiBusy();
Grocy.Api.Get('recipes/consume-recipe/' + objectId,
Grocy.Api.Get('recipes/' + objectId + '/consume',
function(result)
{
Grocy.FrontendHelpers.EndUiBusy();

View File

@ -64,7 +64,7 @@ $(document).on('click', '.shoppinglist-delete-button', function (e)
var shoppingListItemId = $(e.currentTarget).attr('data-shoppinglist-id');
Grocy.FrontendHelpers.BeginUiBusy();
Grocy.Api.Get('delete-object/shopping_list/' + shoppingListItemId,
Grocy.Api.Delete('delete-object/shopping_list/' + shoppingListItemId,
function(result)
{
$('#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)
{
Grocy.Api.Get('stock/add-missing-products-to-shoppinglist',
Grocy.Api.Post('stock/shoppinglist',
function(result)
{
window.location.href = U('/shoppinglist');
@ -116,7 +116,7 @@ $(document).on('click', '#clear-shopping-list', function(e)
{
Grocy.FrontendHelpers.BeginUiBusy();
Grocy.Api.Get('stock/clear-shopping-list',
Grocy.Api.Post('stock/clearshoppinglist',
function(result)
{
$('#shoppinglist-table tbody tr').fadeOut(500, function()

View File

@ -43,7 +43,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e)
{
Grocy.Components.ProductCard.Refresh(productId);
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function (productDetails)
{
$('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);

View File

@ -56,7 +56,7 @@ $(document).on('click', '.undo-stock-booking-button', function(e)
var element = $(e.currentTarget);
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)
{
element.closest("tr").addClass("text-muted");

View File

@ -92,10 +92,10 @@ $(document).on('click', '.product-consume-button', function(e)
var productQuName = $(e.currentTarget).attr('data-product-qu-name');
var consumeAmount = $(e.currentTarget).attr('data-consume-amount');
Grocy.Api.Get('stock/consume-product/' + productId + '/' + consumeAmount,
Grocy.Api.Post('stock/' + productId + '/consume/' + consumeAmount,
function()
{
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(result)
{
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 button = $(e.currentTarget);
Grocy.Api.Get('stock/open-product/' + productId + '/1',
Grocy.Api.Get('stock/' + productId + 'open/1',
function()
{
Grocy.Api.Get('stock/get-product-details/' + productId,
Grocy.Api.Get('stock/' + productId,
function(result)
{
var productRow = $('#product-' + productId + '-row');
@ -257,7 +257,7 @@ $(document).on("click", ".product-name-cell", function(e)
function RefreshStatistics()
{
Grocy.Api.Get('stock/get-current-stock',
Grocy.Api.Get('stock',
function(result)
{
var amountSum = 0;
@ -273,7 +273,7 @@ function RefreshStatistics()
);
var nextXDays = $("#info-expiring-products").data("next-x-days");
Grocy.Api.Get('stock/get-current-volatil-stock?expiring_days=' + nextXDays,
Grocy.Api.Get('stock/volatil?expiring_days=' + nextXDays,
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)));

View File

@ -52,7 +52,7 @@ $(document).on('click', '.task-category-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/task_categories/' + objectId,
Grocy.Api.Delete('delete-object/task_categories/' + objectId,
function(result)
{
window.location.href = U('/taskcategories');

View File

@ -70,7 +70,7 @@ $(document).on('click', '.do-task-button', function(e)
var taskName = $(e.currentTarget).attr('data-task-name');
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()
{
if (!$("#show-done-tasks").is(":checked"))
@ -123,7 +123,7 @@ $(document).on('click', '.delete-task-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('delete-object/tasks/' + objectId,
Grocy.Api.Delete('delete-object/tasks/' + objectId,
function(result)
{
$('#task-' + objectId + '-row').fadeOut(500, function ()
@ -161,7 +161,7 @@ if (GetUriParam('include_done'))
function RefreshStatistics()
{
var nextXDays = $("#info-due-tasks").data("next-x-days");
Grocy.Api.Get('tasks/get-current',
Grocy.Api.Get('tasks',
function(result)
{
var dueCount = 0;

View File

@ -52,7 +52,7 @@ $(document).on('click', '.user-delete-button', function (e)
{
if (result === true)
{
Grocy.Api.Get('users/delete/' + objectId,
Grocy.Api.Delete('users/delete/' + objectId,
function(result)
{
window.location.href = U('/users');

View File

@ -102,7 +102,7 @@ $app->group('/api', function()
$this->get('/users/get', '\Grocy\Controllers\UsersApiController:GetUsers');
$this->post('/users/create', '\Grocy\Controllers\UsersApiController:CreateUser');
$this->post('/users/edit/{userId}', '\Grocy\Controllers\UsersApiController:EditUser');
$this->get('/users/delete/{userId}', '\Grocy\Controllers\UsersApiController:DeleteUser');
$this->delete('/users/delete/{userId}', '\Grocy\Controllers\UsersApiController:DeleteUser');
// User
$this->get('/user/settings/{settingKey}', '\Grocy\Controllers\UsersApiController:GetUserSetting');