1. Закомментирован весь контроллер списка и клиентский код.
  2. Беспокоился о проверке разрешений для каждого метода контроллера списка, который мог выполняться 100 раз перед перезагрузкой (методы обрабатывают запросы API для выполнения таких действий, как добавление элементов в список, обновление общего количества и удаление элемента), и решил создать глобальная переменная. Эта переменная будет объявлена ​​как нулевая, но при каждом вызове API уважаемый метод контроллера списка возвращает переменную разрешения и устанавливает глобальную переменную, используя переменную разрешения возврата.
  3. Изменен метод добавления контроллера списка (обрабатывает вызов API функцией добавления на стороне клиента), чтобы он принимал переменную разрешений. Если переменная определена при передаче контроллеру, контроллер пропускает проверку разрешений и проверяет, равна ли переменная «OWNER» или «EDIT», и если да, то выполняет основную функцию метода контроллера. Если переменная не определена при передаче контроллеру, контроллер ищет пользователя в списке и возвращает его разрешения, а затем выполняет основную функцию контроллера, если это разрешено.
  4. Исправлена ​​ошибка с URL-адресами, содержащими пробел — изначально я создавал уникальные URL-адреса для списков, используя имя пользователя, последние четыре идентификатора и имя списка, но если имя списка содержало пробел, например «Банановые пердежи», URL-адрес будет сломан… Я использовал .split(‘ ‘).join(‘_’) для создания URL-адреса списка. (изображение ниже)
  5. Рефакторинг файлов pug для рендеринга отдельных списков и клиентского JavaScript для правильного отображения помощника по списку (количество | имя | значение).
  6. Переработан способ работы моего метода добавления контроллера — я выписал функцию проверки разрешений + main в отдельную функцию. (изображение ниже)
  7. Завершено преобразование метода очистки контроллера списка в новый формат, заданный методом добавления контроллера (#6).