Создавать и присоединять часть к пользователю (определенной группы) при создании пользователя в Apostrophe CMS

Сайт, который я создаю, содержит пользователя profiles, которого я назначил как pieces, который joinByOne на user. Прямо сейчас создание профиля и присоединение к пользователю - это ручной процесс, но мне нужно автоматизировать этот процесс.

При создании пользователя (в определенной группе) мне необходимо:

  1. Создайте новый экземпляр элемента профиля
  2. Назначьте эту часть только что созданному пользователю
  3. Перенаправить этого пользователя в форму редактирования его части профиля (что также должно произойти при последующих успешных входах пользователя в систему)

После удаления пользователя из этой привилегированной группы мне необходимо:

  1. Удалите все связанные элементы профиля

При спасении из корзины пользователя этой привилегированной группы мне необходимо:

  1. Спасите любую связанную часть профиля из корзины

Как мне это сделать?


person arti5m    schedule 26.03.2018    source источник


Ответы (1)


Вы можете написать afterInsert метод для уровня вашего проекта lib/modules/apostrophe-users, в который вы вставляете часть профиля, вызывая insert API вашего модуля профилей.

Чтобы создать соединение между ними, я бы предложил joinByOne отношения из профиля обратно к пользователю. Если поле соединения называется _user и idField установлено в userId, то вы можете предварительно установить это отношение, установив для свойства userId значение _id пользователя при создании вызова insert.

Что касается мусора, у пользователей есть afterTrash и afterRescue методы, которые ждут, когда вы их переопределите.

Этот HOWTO содержит более подробную информацию о том, как работать со слоем модели.

person Tom Boutell    schedule 26.03.2018