Redactable Models для Laravel — це пакет від Ешлі Аллен, який дозволяє редагувати, запобігати розголошенню або маскувати дані у ваших моделях Laravel:
При створенні веб-додатків часто виникає необхідність зберігати старі дані для аудиту чи звітності. Однак з міркувань конфіденційності та безпеки ви можете захотіти приховати чутливу інформацію. Таким чином, ви збережете записи в базі даних, але без чутливих даних.
Цей пакет працює шляхом реалізації інтерфейсу Redactable та впровадження його методів. Ви вільні реалізувати їх так, як вам подобається, але пакет надає певні рекомендації для спрощення процесу редагування даних. Ось як виглядає скелет моделі та методи інтерфейсу:
use AshAllenDesign\RedactableModels\Interfaces\Redactable;
use Illuminate\Contracts\Database\Eloquent\Builder;
class User extends Model implements Redactable
{
public function redactable(): Builder
{
// Визначте критерії, за якими записи є "редагованими"
}
public function redactionStrategy(): RedactionStrategy
{
// Визначте стратегію та поля для редагування
}
}
Метод redactionStrategy() використовується для визначення як редагувати дані моделі та які поля підлягають редагуванню. Під час ознайомлення з цим пакетом мені сподобалася стратегія MaskContents, адже вона дозволяє отримати підказки щодо конкретного запису, якщо вам потрібно зіставити його з реальними даними, або дати невелику підказку про дані без їх розголошення:
public function redactionStrategy(): RedactionStrategy
{
return app(MaskContents::class)
->mask(field: 'name', character: '*', index: 0, length: 4)
->mask(field: 'email', character: '-', index: 2, length: 3);
}
💻 Почати роботу з цим пакетом можна на GitHub: ash-jc-allen/redactable-models
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше