Payload и опыт взаимодействия с ним
Ведущий разработчик Lad подробно описал особенности CMS Payload
Наш коллега из направления разработки ПО описал свой опыт по использованию Payload для создания быстрых прототипов и MVP-проектов.
Payload мы выбрали как весьма гибкий и интересный инструмент, предоставляющий большой функционал из коробки, админ-панель и базовую работу с пользователями. В основном статья будет касаться взаимодействия со стороны backend-части.
Также это может быть расширено посредством PassportJs, но на практике у нас не было необходимости его использовать.
После описания сущности для нее создается набор рутов, готовый для работы:
export const Clients: CollectionConfig = { slug: 'clients', auth: { depth: 1, tokenExpiration: 28800, maxLoginAttempts: 5, lockTime: 30 * 1000, }, labels: { plural: 'Клиенты', singular: 'Клиент', }, admin: { useAsTitle: 'name', }, fields: [ { name: 'name', type: 'text', label: 'Имя', }, { name: 'favoriteNumber', type: 'number', label: 'Любимое число', }, { type: 'date', label: 'Дата рождения', name: 'dateOfBirth', }, ], };
Интерфейс на выходе:
/** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "clients". */ export interface Client { id: string; name?: string | null; favoriteNumber?: number | null; dateOfBirth?: string | null; }
hooks: { afterRead: [afterReadUser], afterDelete: [afterDeleteUser], }
Источник: Хабр
Подпишитесь на рассылку
чтобы не пропустить самое важное